From 298fc0195229451555061301ca32206418f572a5 Mon Sep 17 00:00:00 2001 From: Kiryl Yermakou Date: Thu, 25 Aug 2022 17:19:35 -0400 Subject: [PATCH 1/8] chore(npm): updating dependencies --- package-lock.json | 60 ++++++++++++++++++++++++----------------------- package.json | 6 ++--- 2 files changed, 34 insertions(+), 32 deletions(-) diff --git a/package-lock.json b/package-lock.json index 94c4b825..73c8679e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,9 +9,9 @@ "version": "1.0.3", "license": "ISC", "dependencies": { - "@axelar-network/axelar-cgp-solidity": "^4.0.0", + "@axelar-network/axelar-cgp-solidity": "^4.3.0", + "@axelar-network/axelar-gmp-sdk-solidity": "^1.1.0", "@types/node": "^17.0.31", - "axelar-utils-solidity": "^1.0.0", "ethers": "^5.6.5", "fs-extra": "^10.1.0", "ganache": "^7.1.0", @@ -36,13 +36,26 @@ } }, "node_modules/@axelar-network/axelar-cgp-solidity": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@axelar-network/axelar-cgp-solidity/-/axelar-cgp-solidity-4.0.0.tgz", - "integrity": "sha512-Q10oPg4od2IydCstQYSg04FMMbn18fiH77OJTtmQaeGpv3ZONAZttRdoC1DLcMLkUUML4Y6m2FN7tmZ/7+ifuQ==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/@axelar-network/axelar-cgp-solidity/-/axelar-cgp-solidity-4.3.0.tgz", + "integrity": "sha512-0cCgCFtxnipyzSplPnj/HxDx4DqqHGEr+J7M7NWKM1fXvfS4t/70aCAw/h9GYW8dZ3BmKOqKAYQCNpmP+2Oa+w==", "engines": { "node": ">=16 <17" } }, + "node_modules/@axelar-network/axelar-gmp-sdk-solidity": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@axelar-network/axelar-gmp-sdk-solidity/-/axelar-gmp-sdk-solidity-1.1.0.tgz", + "integrity": "sha512-GFJ94XjvK+W7AZQ3ghxW8Vgagnr2P/qQaPc7dimspECsJKpzPh2VyaCYTxxL9jwxVXEzzHbnW1oc1q0bX2Sogw==", + "dependencies": { + "ethers": "^5.5.2", + "fs-extra": "^10.1.0", + "ganache": "^7.3.2" + }, + "engines": { + "node": ">=14" + } + }, "node_modules/@babel/code-frame": { "version": "7.18.6", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", @@ -1881,18 +1894,6 @@ "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==", "dev": true }, - "node_modules/axelar-utils-solidity": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/axelar-utils-solidity/-/axelar-utils-solidity-1.0.0.tgz", - "integrity": "sha512-fLav9w1vdoXxs7N5EoUPPFGrklLTG/DcTjXwiRuqlnh961jEtcx2khkiRB7/h29ioEEggk+jbAWDSYNumRK+Vg==", - "dependencies": { - "ethers": "^5.5.2", - "ganache": "^7.3.0" - }, - "engines": { - "node": ">=14" - } - }, "node_modules/balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", @@ -12326,9 +12327,19 @@ }, "dependencies": { "@axelar-network/axelar-cgp-solidity": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@axelar-network/axelar-cgp-solidity/-/axelar-cgp-solidity-4.0.0.tgz", - "integrity": "sha512-Q10oPg4od2IydCstQYSg04FMMbn18fiH77OJTtmQaeGpv3ZONAZttRdoC1DLcMLkUUML4Y6m2FN7tmZ/7+ifuQ==" + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/@axelar-network/axelar-cgp-solidity/-/axelar-cgp-solidity-4.3.0.tgz", + "integrity": "sha512-0cCgCFtxnipyzSplPnj/HxDx4DqqHGEr+J7M7NWKM1fXvfS4t/70aCAw/h9GYW8dZ3BmKOqKAYQCNpmP+2Oa+w==" + }, + "@axelar-network/axelar-gmp-sdk-solidity": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@axelar-network/axelar-gmp-sdk-solidity/-/axelar-gmp-sdk-solidity-1.1.0.tgz", + "integrity": "sha512-GFJ94XjvK+W7AZQ3ghxW8Vgagnr2P/qQaPc7dimspECsJKpzPh2VyaCYTxxL9jwxVXEzzHbnW1oc1q0bX2Sogw==", + "requires": { + "ethers": "^5.5.2", + "fs-extra": "^10.1.0", + "ganache": "^7.3.2" + } }, "@babel/code-frame": { "version": "7.18.6", @@ -13675,15 +13686,6 @@ "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==", "dev": true }, - "axelar-utils-solidity": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/axelar-utils-solidity/-/axelar-utils-solidity-1.0.0.tgz", - "integrity": "sha512-fLav9w1vdoXxs7N5EoUPPFGrklLTG/DcTjXwiRuqlnh961jEtcx2khkiRB7/h29ioEEggk+jbAWDSYNumRK+Vg==", - "requires": { - "ethers": "^5.5.2", - "ganache": "^7.3.0" - } - }, "balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", diff --git a/package.json b/package.json index ce4fab15..16f1dba1 100644 --- a/package.json +++ b/package.json @@ -5,7 +5,7 @@ "main": "dist/index.js", "scripts": { "test": "npx hardhat test", - "build": "rm -rf artifacts && rm -rf dist && npx hardhat compile && npx tsc", + "build": "rm -rf artifacts && rm -rf dist && npx hardhat compile && tsc", "prepare": "tsc", "lint": "solhint 'src/contracts/**/*.sol' && eslint 'test/**/*.js'", "prettier": "prettier --write 'src/contracts/**/*.sol' 'test/**/*.js' 'src/**/*.ts'" @@ -25,9 +25,9 @@ }, "homepage": "https://github.com/axelarnetwork/axelar-local-dev#readme", "dependencies": { - "@axelar-network/axelar-cgp-solidity": "^4.0.0", + "@axelar-network/axelar-cgp-solidity": "^4.3.0", + "@axelar-network/axelar-gmp-sdk-solidity": "^1.1.0", "@types/node": "^17.0.31", - "axelar-utils-solidity": "^1.0.0", "ethers": "^5.6.5", "fs-extra": "^10.1.0", "ganache": "^7.1.0", From a5e5097d5382416a4446954e6e410aee88dcc6c7 Mon Sep 17 00:00:00 2001 From: Kiryl Yermakou Date: Thu, 25 Aug 2022 18:08:39 -0400 Subject: [PATCH 2/8] fix(dependencies): updating references and integration --- src/Network.ts | 18 +++++------- src/contracts/Gateway.sol | 2 +- src/contracts/test/Executable.sol | 20 ++++++------- src/contracts/test/ExecutableWithToken.sol | 22 +++++++-------- src/networkUtils.ts | 6 ++-- src/relay.ts | 33 +++++----------------- src/utils.ts | 11 +------- test/test.js | 14 ++++----- 8 files changed, 47 insertions(+), 79 deletions(-) diff --git a/src/Network.ts b/src/Network.ts index 6b77a228..7c45f92b 100644 --- a/src/Network.ts +++ b/src/Network.ts @@ -11,12 +11,11 @@ const AxelarGatewayProxy = require('../artifacts/@axelar-network/axelar-cgp-soli const AxelarGateway = require('../artifacts/@axelar-network/axelar-cgp-solidity/contracts/AxelarGateway.sol/AxelarGateway.json'); const IAxelarGateway = require('../artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarGateway.sol/IAxelarGateway.json'); const BurnableMintableCappedERC20 = require('../artifacts/@axelar-network/axelar-cgp-solidity/contracts/BurnableMintableCappedERC20.sol/BurnableMintableCappedERC20.json'); -const Auth = require('../artifacts/@axelar-network/axelar-cgp-solidity/contracts/AxelarAuthMultisig.sol/AxelarAuthMultisig.json'); +const Auth = require('../artifacts/@axelar-network/axelar-cgp-solidity/contracts/auth/AxelarAuthWeighted.sol/AxelarAuthWeighted.json'); const AxelarGasReceiver = require('../artifacts/@axelar-network/axelar-cgp-solidity/contracts/gas-service/AxelarGasService.sol/AxelarGasService.json'); const AxelarGasReceiverProxy = require('../artifacts/@axelar-network/axelar-cgp-solidity/contracts/gas-service/AxelarGasServiceProxy.sol/AxelarGasServiceProxy.json'); -const ConstAddressDeployer = require('axelar-utils-solidity/dist/ConstAddressDeployer.json'); +const ConstAddressDeployer = require('@axelar-network/axelar-gmp-sdk-solidity/dist/ConstAddressDeployer.json'); -const ROLE_OWNER = 1; const ADDRESS_ZERO = '0x0000000000000000000000000000000000000000'; export const networks: Network[] = []; @@ -107,7 +106,7 @@ export class Network { ) ); const auth = await deployContract(this.ownerWallet, Auth, [ - [defaultAbiCoder.encode(['address[]', 'uint256'], [[this.operatorWallet.address], 1])], + [defaultAbiCoder.encode(['address[]', 'uint256[]', 'uint256'], [[this.operatorWallet.address], [1], 1])], ]); const tokenDeployer = await deployContract(this.ownerWallet, TokenDeployer); const gateway = await deployContract(this.ownerWallet, AxelarGateway, [auth.address, tokenDeployer.address]); @@ -133,7 +132,7 @@ export class Network { ) ); const auth = await deployContract(this.ownerWallet, Auth, [ - [defaultAbiCoder.encode(['address[]', 'uint256'], [[this.operatorWallet.address], 1])], + [defaultAbiCoder.encode(['address[]', 'uint256[]', 'uint256'], [[this.operatorWallet.address], [1], 1])], ]); const tokenDeployer = await deployContract(this.ownerWallet, TokenDeployer); const gateway = await deployContract(this.ownerWallet, AxelarGateway, [auth.address, tokenDeployer.address]); @@ -149,10 +148,8 @@ export class Network { async _deployGasReceiver(): Promise { logger.log(`Deploying the Axelar Gas Receiver for ${this.name}... `); const gasReceiver = await deployContract(this.ownerWallet, AxelarGasReceiver, []); - const gasReceiverProxy = await deployContract(this.ownerWallet, AxelarGasReceiverProxy, [ - gasReceiver.address, - defaultAbiCoder.encode(['address', 'address'], [this.ownerWallet.address, this.gateway.address]), - ]); + const gasReceiverProxy = await deployContract(this.ownerWallet, AxelarGasReceiverProxy); + await gasReceiverProxy.init(gasReceiver.address, this.ownerWallet.address, '0x'); this.gasReceiver = new Contract(gasReceiverProxy.address, AxelarGasReceiver.abi, this.provider); logger.log(`Deployed at ${this.gasReceiver.address}`); @@ -209,10 +206,9 @@ export class Network { const symbol = this.tokens[alias] || alias; const data = arrayify( defaultAbiCoder.encode( - ['uint256', 'uint256', 'bytes32[]', 'string[]', 'bytes[]'], + ['uint256', 'bytes32[]', 'string[]', 'bytes[]'], [ this.chainId, - ROLE_OWNER, [getRandomID()], ['mintToken'], [defaultAbiCoder.encode(['string', 'address', 'uint256'], [symbol, address, amount])], diff --git a/src/contracts/Gateway.sol b/src/contracts/Gateway.sol index a5dac00f..aa441a2d 100644 --- a/src/contracts/Gateway.sol +++ b/src/contracts/Gateway.sol @@ -4,7 +4,7 @@ pragma solidity 0.8.9; import { TokenDeployer } from '@axelar-network/axelar-cgp-solidity/contracts/TokenDeployer.sol'; import { AxelarGateway } from '@axelar-network/axelar-cgp-solidity/contracts/AxelarGateway.sol'; -import { AxelarAuthMultisig } from '@axelar-network/axelar-cgp-solidity/contracts/AxelarAuthMultisig.sol'; +import { AxelarAuthWeighted } from '@axelar-network/axelar-cgp-solidity/contracts/auth/AxelarAuthWeighted.sol'; import { AxelarGatewayProxy } from '@axelar-network/axelar-cgp-solidity/contracts/AxelarGatewayProxy.sol'; import { AxelarGasService } from '@axelar-network/axelar-cgp-solidity/contracts/gas-service/AxelarGasService.sol'; import { IAxelarExecutable } from '@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarExecutable.sol'; diff --git a/src/contracts/test/Executable.sol b/src/contracts/test/Executable.sol index 335e8823..e91f3d95 100644 --- a/src/contracts/test/Executable.sol +++ b/src/contracts/test/Executable.sol @@ -2,26 +2,26 @@ pragma solidity 0.8.9; -import { IAxelarExecutable } from '@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarExecutable.sol'; -import { IAxelarGasService } from '@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarGasService.sol'; +import { IAxelarGasService } from '@axelar-network/axelar-gmp-sdk-solidity/contracts/interfaces/IAxelarGasService.sol'; +import { AxelarExecutable } from '@axelar-network/axelar-gmp-sdk-solidity/contracts/executables/AxelarExecutable.sol'; -contract Executable is IAxelarExecutable { +contract Executable is AxelarExecutable { string public value; string public sourceChain; string public sourceAddress; - IAxelarGasService public gasReceiver; + IAxelarGasService public immutable gasReceiver; mapping(string => string) public siblings; - constructor(address gateway_, address gasReceiver_) IAxelarExecutable(gateway_) { + constructor(address gateway_, address gasReceiver_) AxelarExecutable(gateway_) { gasReceiver = IAxelarGasService(gasReceiver_); } - //Call this function on setup to tell this contract who it's sibling contracts are. + // Call this function on setup to tell this contract who it's sibling contracts are. function addSibling(string calldata chain_, string calldata address_) external { siblings[chain_] = address_; } - //Call this function to update the value of this contract along with all its siblings'. + // Call this function to update the value of this contract along with all its siblings'. function set(string memory chain, string calldata value_) external payable { value = value_; bytes memory payload = abi.encode(value_); @@ -31,11 +31,11 @@ contract Executable is IAxelarExecutable { gateway.callContract(chain, siblings[chain], payload); } - /*Handles calls created by setAndSend. Updates this contract's value + /* Handles calls created by setAndSend. Updates this contract's value and gives the token received to the destination specified at the source chain. */ function _execute( - string memory sourceChain_, - string memory sourceAddress_, + string calldata sourceChain_, + string calldata sourceAddress_, bytes calldata payload_ ) internal override { (value) = abi.decode(payload_, (string)); diff --git a/src/contracts/test/ExecutableWithToken.sol b/src/contracts/test/ExecutableWithToken.sol index 33496113..f97e9561 100644 --- a/src/contracts/test/ExecutableWithToken.sol +++ b/src/contracts/test/ExecutableWithToken.sol @@ -2,18 +2,18 @@ pragma solidity 0.8.9; -import { IAxelarExecutable } from '@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarExecutable.sol'; -import { IAxelarGasService } from '@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarGasService.sol'; -import { IERC20 } from '@axelar-network/axelar-cgp-solidity/contracts/interfaces/IERC20.sol'; +import { IERC20 } from '@axelar-network/axelar-gmp-sdk-solidity/contracts/interfaces/IERC20.sol'; +import { IAxelarGasService } from '@axelar-network/axelar-gmp-sdk-solidity/contracts/interfaces/IAxelarGasService.sol'; +import { AxelarExecutable } from '@axelar-network/axelar-gmp-sdk-solidity/contracts/executables/AxelarExecutable.sol'; -contract ExecutableWithToken is IAxelarExecutable { +contract ExecutableWithToken is AxelarExecutable { string public value; string public sourceChain; string public sourceAddress; - IAxelarGasService public gasReceiver; + IAxelarGasService public immutable gasReceiver; mapping(string => string) public siblings; - constructor(address gateway_, address gasReceiver_) IAxelarExecutable(gateway_) { + constructor(address gateway_, address gasReceiver_) AxelarExecutable(gateway_) { gasReceiver = IAxelarGasService(gasReceiver_); } @@ -24,10 +24,10 @@ contract ExecutableWithToken is IAxelarExecutable { //Call this function to update the value of this contract along with all its siblings'. function setAndSend( - string memory chain, + string calldata chain, string calldata value_, address destinationAddress, - string memory symbol, + string calldata symbol, uint256 amount ) external payable { value = value_; @@ -52,10 +52,10 @@ contract ExecutableWithToken is IAxelarExecutable { /*Handles calls created by setAndSend. Updates this contract's value and gives the token received to the destination specified at the source chain. */ function _executeWithToken( - string memory sourceChain_, - string memory sourceAddress_, + string calldata sourceChain_, + string calldata sourceAddress_, bytes calldata payload_, - string memory symbol, + string calldata symbol, uint256 amount ) internal override { address destinationAddress; diff --git a/src/networkUtils.ts b/src/networkUtils.ts index e6ea08b4..5a858cbd 100644 --- a/src/networkUtils.ts +++ b/src/networkUtils.ts @@ -1,7 +1,7 @@ 'use strict'; import { ethers, Wallet, Contract, providers, getDefaultProvider } from 'ethers'; -const { defaultAbiCoder, keccak256, id, solidityPack, toUtf8Bytes } = ethers.utils; +const { keccak256, id, solidityPack, toUtf8Bytes } = ethers.utils; import { defaultAccounts, setJSON, httpGet, logger } from './utils'; import server from './server'; import { Network, networks, NetworkOptions, NetworkInfo, NetworkSetup } from './Network'; @@ -10,7 +10,7 @@ const fs = require('fs'); const IAxelarGateway = require('../artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarGateway.sol/IAxelarGateway.json'); const IAxelarGasReceiver = require('../artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarGasService.sol/IAxelarGasService.json'); -const ConstAddressDeployer = require('axelar-utils-solidity/dist/ConstAddressDeployer.json'); +const ConstAddressDeployer = require('@axelar-network/axelar-gmp-sdk-solidity/dist/ConstAddressDeployer.json'); const AxelarGateway = require('../artifacts/@axelar-network/axelar-cgp-solidity/contracts/AxelarGateway.sol/AxelarGateway.json'); let serverInstance: any; @@ -228,7 +228,7 @@ export async function forkNetwork(chainInfo: ChainCloneData, options: NetworkOpt networkId: chain.chainId, vmErrorsOnRPCResponse: true, }, - fork: { + fork: { url: chainInfo.rpc, }, logging: { quiet: true }, diff --git a/src/relay.ts b/src/relay.ts index 3782ecb2..2d269f71 100644 --- a/src/relay.ts +++ b/src/relay.ts @@ -1,21 +1,10 @@ 'use strict'; -import { ethers, Wallet, Contract, providers, getDefaultProvider } from 'ethers'; -const { defaultAbiCoder, arrayify, keccak256, id, solidityPack, toUtf8Bytes } = ethers.utils; +import { ethers, Wallet, Contract } from 'ethers'; +const { defaultAbiCoder, arrayify } = ethers.utils; const AddressZero = ethers.constants.AddressZero; -import { - getSignedExecuteInput, - getRandomID, - getLogID, - defaultAccounts, - setJSON, - httpGet, - deployContract, - logger, - setLogger, -} from './utils'; -import server from './server'; -import { Network, networks, NetworkOptions, NetworkInfo, NetworkSetup } from './Network'; +import { getSignedExecuteInput, getRandomID, getLogID, logger } from './utils'; +import { Network, networks } from './Network'; import { getFee, getGasPrice, depositAddresses } from './networkUtils'; export interface RelayData { @@ -53,8 +42,6 @@ export const gasLogsWithToken: any[] = []; const IAxelarExecutable = require('../artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarExecutable.sol/IAxelarExecutable.json'); -const ROLE_OWNER = 1; - const getAliasFromSymbol = (tokens: { [key: string]: string }, symbol: string) => { for (const alias in tokens) { if (tokens[alias] == symbol) return alias; @@ -261,14 +248,8 @@ const updateCallContractWithToken = async ( const executeCommands = async (to: Network, commands: Command[]) => { const data = arrayify( defaultAbiCoder.encode( - ['uint256', 'uint256', 'bytes32[]', 'string[]', 'bytes[]'], - [ - to.chainId, - ROLE_OWNER, - commands.map((com) => com.commandId), - commands.map((com) => com.name), - commands.map((com) => com.encodedData), - ] + ['uint256', 'bytes32[]', 'string[]', 'bytes[]'], + [to.chainId, commands.map((com) => com.commandId), commands.map((com) => com.name), commands.map((com) => com.encodedData)] ) ); const signedData = await getSignedExecuteInput(data, to.operatorWallet); @@ -285,7 +266,7 @@ const postExecute = async (to: Network, commands: Command[], execution: any) => ) continue; const fromName = command.data[0]; - const from = networks.find(network => network.name == fromName); + const from = networks.find((network) => network.name == fromName); const payed = command.name == 'approveContractCall' ? gasLogs.find((log: any) => { diff --git a/src/utils.ts b/src/utils.ts index be00f168..5b1886f3 100644 --- a/src/utils.ts +++ b/src/utils.ts @@ -4,7 +4,6 @@ import { ethers, ContractFactory, BigNumber, Wallet } from 'ethers'; const { defaultAbiCoder, id, arrayify, keccak256 } = ethers.utils; import http from 'http'; const { outputJsonSync } = require('fs-extra'); -const { sortBy } = require('lodash'); export const logger = { log: console.log }; @@ -18,17 +17,9 @@ export function bigNumberToNumber(bigNumber: BigNumber) { export async function getSignedExecuteInput(data: any, wallet: Wallet) { const signature = await wallet.signMessage(arrayify(keccak256(data))); - const signData = defaultAbiCoder.encode(['address[]', 'bytes[]'], [[wallet.address], [signature]]); + const signData = defaultAbiCoder.encode(['address[]', 'uint256[]', 'uint256', 'bytes[]'], [[wallet.address], [1], 1, [signature]]); return defaultAbiCoder.encode(['bytes', 'bytes'], [data, signData]); } -export async function getSignedMultisigExecuteInput(data: any, wallets: Wallet[]) { - const sorted = sortBy(wallets, (wallet: Wallet) => wallet.address.toLowerCase()); - const signatures = []; - for (const wallet of sorted) { - signatures.push(await wallet.signMessage(arrayify(keccak256(data)))); - } - return defaultAbiCoder.encode(['bytes', 'bytes[]'], [data, signatures]); -} export const getRandomID = () => id(getRandomInt(1e10).toString()); export const getLogID = (chain: string, log: any) => { diff --git a/test/test.js b/test/test.js index dc97ad86..42e3ce59 100644 --- a/test/test.js +++ b/test/test.js @@ -174,7 +174,7 @@ describe('relay', async () => { }); describe('call contract', async () => { let ex1, ex2; - const Executable = require('../build/Executable.json'); + const Executable = require('../artifacts/src/contracts/test/Executable.sol/Executable.json'); const message = 'hello there executables!'; const payload = defaultAbiCoder.encode(['string'], [message]); @@ -233,7 +233,7 @@ describe('relay', async () => { }); describe('call contract with token', async () => { let ex1, ex2; - const Executable = require('../build/ExecutableWithToken.json'); + const Executable = require('../artifacts/src/contracts/test/ExecutableWithToken.sol/ExecutableWithToken.json'); const message = 'hello there executables!'; const amount = 1234255675; @@ -264,7 +264,7 @@ describe('relay', async () => { expect(await ex2.value()).to.equal(message); expect(await ex2.sourceChain()).to.equal(chain1.name); expect(await ex2.sourceAddress()).to.equal(user1.address); - expect(await chain2.usdc.balanceOf(user2.address)).to.equal(amount - fee); + expect((await chain2.usdc.balanceOf(user2.address)).toNumber()).to.equal(amount - fee); }); it('should pay for gas and call a contract manually', async () => { await await chain1.gasReceiver @@ -281,7 +281,7 @@ describe('relay', async () => { expect(await ex2.value()).to.equal(message); expect(await ex2.sourceChain()).to.equal(chain1.name); expect(await ex2.sourceAddress()).to.equal(user1.address); - expect(await chain2.usdc.balanceOf(user2.address)).to.equal(amount - fee); + expect((await chain2.usdc.balanceOf(user2.address)).toNumber()).to.equal(amount - fee); }); it('should call a contract through the sibling and fulfill the call', async () => { await (await chain1.usdc.connect(user1).approve(ex1.address, amount)).wait(); @@ -297,7 +297,7 @@ describe('relay', async () => { expect(await ex2.value()).to.equal(message); expect(await ex2.sourceChain()).to.equal(chain1.name); expect(await ex2.sourceAddress()).to.equal(ex1.address); - expect(await chain2.usdc.balanceOf(user2.address)).to.equal(amount - fee); + expect((await chain2.usdc.balanceOf(user2.address)).toNumber()).to.equal(amount - fee); }); it('shouldhave the sibling pay for gas and make the call', async () => { await (await chain1.usdc.connect(user1).approve(ex1.address, amount)).wait(); @@ -312,7 +312,7 @@ describe('relay', async () => { expect(await ex2.value()).to.equal(message); expect(await ex2.sourceChain()).to.equal(chain1.name); expect(await ex2.sourceAddress()).to.equal(ex1.address); - expect(await chain2.usdc.balanceOf(user2.address)).to.equal(amount - fee); + expect((await chain2.usdc.balanceOf(user2.address)).toNumber()).to.equal(amount - fee); }); }); }); @@ -346,7 +346,7 @@ describe('forking', async () => { const chain = await forkNetwork(chainInfo); chain.usdc = await chain.getTokenContract(alias); } - + const avalanche = networks[0]; const ethereum = networks[1]; From ffa9c298f2d5425706f63ee7c8ce1b581a251a6a Mon Sep 17 00:00:00 2001 From: Kiryl Yermakou Date: Thu, 25 Aug 2022 18:09:10 -0400 Subject: [PATCH 3/8] chore(npm): removing waffle dependency --- package-lock.json | 16 +--------------- package.json | 3 +-- 2 files changed, 2 insertions(+), 17 deletions(-) diff --git a/package-lock.json b/package-lock.json index 73c8679e..f84294de 100644 --- a/package-lock.json +++ b/package-lock.json @@ -16,8 +16,7 @@ "fs-extra": "^10.1.0", "ganache": "^7.1.0", "lodash": "^4.17.21", - "typescript": "^4.6.4", - "waffle": "^0.0.0" + "typescript": "^4.6.4" }, "devDependencies": { "chai": "^4.3.6", @@ -11562,14 +11561,6 @@ "extsprintf": "^1.2.0" } }, - "node_modules/waffle": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/waffle/-/waffle-0.0.0.tgz", - "integrity": "sha512-IZu7jMfmItTQnp9sXtu7rtEzJBo98ver/eJJu5WAFHIkou6dvkhTQ59mpljtTHAuWe+S0mszrGmpiKQUCYsdVw==", - "engines": { - "node": "*" - } - }, "node_modules/web3": { "version": "1.7.4", "resolved": "https://registry.npmjs.org/web3/-/web3-1.7.4.tgz", @@ -21258,11 +21249,6 @@ "extsprintf": "^1.2.0" } }, - "waffle": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/waffle/-/waffle-0.0.0.tgz", - "integrity": "sha512-IZu7jMfmItTQnp9sXtu7rtEzJBo98ver/eJJu5WAFHIkou6dvkhTQ59mpljtTHAuWe+S0mszrGmpiKQUCYsdVw==" - }, "web3": { "version": "1.7.4", "resolved": "https://registry.npmjs.org/web3/-/web3-1.7.4.tgz", diff --git a/package.json b/package.json index 16f1dba1..fb5ca894 100644 --- a/package.json +++ b/package.json @@ -32,8 +32,7 @@ "fs-extra": "^10.1.0", "ganache": "^7.1.0", "lodash": "^4.17.21", - "typescript": "^4.6.4", - "waffle": "^0.0.0" + "typescript": "^4.6.4" }, "devDependencies": { "chai": "^4.3.6", From afe4d0c744b5c1edbaa0f59ba79b5ad2cd1bc6d9 Mon Sep 17 00:00:00 2001 From: Kiryl Yermakou Date: Thu, 25 Aug 2022 18:09:55 -0400 Subject: [PATCH 4/8] build(artifacts): fresh build --- .../AdminMultisigBase.dbg.json | 2 +- .../AxelarAuthMultisig.dbg.json | 4 - .../AxelarAuthMultisig.json | 224 - .../AxelarGateway.sol/AxelarGateway.dbg.json | 2 +- .../AxelarGateway.sol/AxelarGateway.json | 112 +- .../AxelarGatewayProxy.dbg.json | 2 +- .../AxelarGatewayProxy.json | 9 +- .../BurnableMintableCappedERC20.dbg.json | 2 +- .../BurnableMintableCappedERC20.json | 4 +- .../DepositHandler.dbg.json | 2 +- .../contracts/ECDSA.sol/ECDSA.dbg.json | 2 +- .../contracts/ERC20.sol/ERC20.dbg.json | 2 +- .../contracts/ERC20.sol/ERC20.json | 4 +- .../ERC20Permit.sol/ERC20Permit.dbg.json | 2 +- .../EternalStorage.dbg.json | 2 +- .../MintableCappedERC20.dbg.json | 2 +- .../MintableCappedERC20.json | 4 +- .../contracts/Ownable.sol/Ownable.dbg.json | 2 +- .../TokenDeployer.sol/TokenDeployer.dbg.json | 2 +- .../TokenDeployer.sol/TokenDeployer.json | 4 +- .../AxelarAuthWeighted.dbg.json | 4 + .../AxelarAuthWeighted.json | 240 + .../AxelarGasService.dbg.json | 2 +- .../AxelarGasService.json | 9 +- .../AxelarGasServiceProxy.dbg.json | 2 +- .../AxelarGasServiceProxy.json | 49 +- .../IAxelarAuth.sol/IAxelarAuth.dbg.json | 2 +- .../IAxelarAuthMultisig.dbg.json | 4 - .../IAxelarAuthWeighted.dbg.json | 4 + .../IAxelarAuthWeighted.json} | 40 +- .../IAxelarExecutable.dbg.json | 2 +- .../IAxelarGasService.dbg.json | 2 +- .../IAxelarGasService.json | 18 + .../IAxelarGateway.dbg.json | 2 +- .../IAxelarGateway.sol/IAxelarGateway.json | 62 +- .../IBurnableMintableCappedERC20.dbg.json | 2 +- .../interfaces/IERC20.sol/IERC20.dbg.json | 2 +- .../IERC20Burn.sol/IERC20Burn.dbg.json | 2 +- .../IERC20BurnFrom.dbg.json | 2 +- .../IERC20Permit.sol/IERC20Permit.dbg.json | 2 +- .../IMintableCappedERC20.dbg.json | 2 +- .../interfaces/IOwnable.sol/IOwnable.dbg.json | 2 +- .../ITokenDeployer.dbg.json | 2 +- .../IUpgradable.sol/IUpgradable.dbg.json | 2 +- .../IUpgradable.sol/IUpgradable.json | 13 + .../contracts/util/Proxy.sol/Proxy.dbg.json | 2 +- .../contracts/util/Proxy.sol/Proxy.json | 50 +- .../util/Upgradable.sol/Upgradable.dbg.json | 2 +- .../util/Upgradable.sol/Upgradable.json | 2 +- .../12c9a8f7cfdae039186ba7f422bc265d.json | 208992 --------------- .../test/Executable.sol/Executable.dbg.json | 2 +- .../test/Executable.sol/Executable.json | 9 +- .../ExecutableWithToken.dbg.json | 2 +- .../ExecutableWithToken.json | 9 +- 54 files changed, 550 insertions(+), 209382 deletions(-) delete mode 100644 artifacts/@axelar-network/axelar-cgp-solidity/contracts/AxelarAuthMultisig.sol/AxelarAuthMultisig.dbg.json delete mode 100644 artifacts/@axelar-network/axelar-cgp-solidity/contracts/AxelarAuthMultisig.sol/AxelarAuthMultisig.json create mode 100644 artifacts/@axelar-network/axelar-cgp-solidity/contracts/auth/AxelarAuthWeighted.sol/AxelarAuthWeighted.dbg.json create mode 100644 artifacts/@axelar-network/axelar-cgp-solidity/contracts/auth/AxelarAuthWeighted.sol/AxelarAuthWeighted.json delete mode 100644 artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarAuthMultisig.sol/IAxelarAuthMultisig.dbg.json create mode 100644 artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarAuthWeighted.sol/IAxelarAuthWeighted.dbg.json rename artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/{IAxelarAuthMultisig.sol/IAxelarAuthMultisig.json => IAxelarAuthWeighted.sol/IAxelarAuthWeighted.json} (82%) delete mode 100644 artifacts/build-info/12c9a8f7cfdae039186ba7f422bc265d.json diff --git a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/AdminMultisigBase.sol/AdminMultisigBase.dbg.json b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/AdminMultisigBase.sol/AdminMultisigBase.dbg.json index d1763aed..ad925cc8 100644 --- a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/AdminMultisigBase.sol/AdminMultisigBase.dbg.json +++ b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/AdminMultisigBase.sol/AdminMultisigBase.dbg.json @@ -1,4 +1,4 @@ { "_format": "hh-sol-dbg-1", - "buildInfo": "../../../../build-info/12c9a8f7cfdae039186ba7f422bc265d.json" + "buildInfo": "../../../../build-info/3aa2fc6680ec7dd0d7e17835f8008fcc.json" } diff --git a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/AxelarAuthMultisig.sol/AxelarAuthMultisig.dbg.json b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/AxelarAuthMultisig.sol/AxelarAuthMultisig.dbg.json deleted file mode 100644 index d1763aed..00000000 --- a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/AxelarAuthMultisig.sol/AxelarAuthMultisig.dbg.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "_format": "hh-sol-dbg-1", - "buildInfo": "../../../../build-info/12c9a8f7cfdae039186ba7f422bc265d.json" -} diff --git a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/AxelarAuthMultisig.sol/AxelarAuthMultisig.json b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/AxelarAuthMultisig.sol/AxelarAuthMultisig.json deleted file mode 100644 index 456a49e9..00000000 --- a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/AxelarAuthMultisig.sol/AxelarAuthMultisig.json +++ /dev/null @@ -1,224 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "AxelarAuthMultisig", - "sourceName": "@axelar-network/axelar-cgp-solidity/contracts/AxelarAuthMultisig.sol", - "abi": [ - { - "inputs": [ - { - "internalType": "bytes[]", - "name": "recentOperators", - "type": "bytes[]" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "name": "InvalidOperators", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidOwner", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidS", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidSignature", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidSignatureLength", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidThreshold", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidV", - "type": "error" - }, - { - "inputs": [], - "name": "MalformedSigners", - "type": "error" - }, - { - "inputs": [], - "name": "NotOwner", - "type": "error" - }, - { - "inputs": [], - "name": "SameOperators", - "type": "error" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address[]", - "name": "newOperators", - "type": "address[]" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "newThreshold", - "type": "uint256" - } - ], - "name": "OperatorshipTransferred", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "inputs": [], - "name": "currentEpoch", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "name": "epochForHash", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "hashForEpoch", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "params", - "type": "bytes" - } - ], - "name": "transferOperatorship", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "messageHash", - "type": "bytes32" - }, - { - "internalType": "bytes", - "name": "proof", - "type": "bytes" - } - ], - "name": "validateProof", - "outputs": [ - { - "internalType": "bool", - "name": "currentOperators", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": "0x60806040523480156200001157600080fd5b506040516200135e3803806200135e833981016040819052620000349162000383565b600080546001600160a01b0319163390811782556040519091907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a360005b8151811015620000c057620000ad828281518110620000995762000099620004c1565b6020026020010151620000c860201b60201c565b620000b881620004ed565b905062000076565b50506200064b565b60008082806020019051810190620000e191906200050b565b81519193509150801580620000fe5750620000fc8362000203565b155b156200011d57604051630849699d60e11b815260040160405180910390fd5b8115806200012a57508181105b15620001495760405163aabd5a0960e01b815260040160405180910390fd5b835160208086019190912060008181526003909252604090912054156200018357604051633e3cf04160e21b815260040160405180910390fd5b60006001546001620001969190620005c3565b60018190556000818152600260209081526040808320869055858352600390915290819020829055519091507f91b26cf03198606868def38877d68b97d978ce42e6150b44ef327c4c900d0c4e90620001f39087908790620005de565b60405180910390a1505050505050565b6000805b6001835162000217919062000631565b811015620002d857826200022d826001620005c3565b81518110620002405762000240620004c1565b60200260200101516001600160a01b0316838281518110620002665762000266620004c1565b60200260200101516001600160a01b0316101580620002b6575060008362000290836001620005c3565b81518110620002a357620002a3620004c1565b60200260200101516001600160a01b0316145b15620002c55750600092915050565b620002d081620004ed565b905062000207565b5060006001600160a01b031682600081518110620002fa57620002fa620004c1565b60200260200101516001600160a01b031614159050919050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b038111828210171562000355576200035562000314565b604052919050565b60006001600160401b0382111562000379576200037962000314565b5060051b60200190565b600060208083850312156200039757600080fd5b82516001600160401b0380821115620003af57600080fd5b8185019150601f8681840112620003c557600080fd5b8251620003dc620003d6826200035d565b6200032a565b81815260059190911b84018501908581019089831115620003fc57600080fd5b8686015b83811015620004b3578051868111156200041a5760008081fd5b8701603f81018c136200042d5760008081fd5b888101518781111562000444576200044462000314565b62000457818801601f19168b016200032a565b81815260408e818486010111156200046f5760008081fd5b60005b838110156200048f578481018201518382018e01528c0162000472565b83811115620004a15760008d85850101525b50508552505091870191870162000400565b509998505050505050505050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600019821415620005045762000504620004d7565b5060010190565b600080604083850312156200051f57600080fd5b82516001600160401b038111156200053657600080fd5b8301601f810185136200054857600080fd5b805160206200055b620003d6836200035d565b82815260059290921b830181019181810190888411156200057b57600080fd5b938201935b83851015620005b25784516001600160a01b0381168114620005a25760008081fd5b8252938201939082019062000580565b969091015195979596505050505050565b60008219821115620005d957620005d9620004d7565b500190565b604080825283519082018190526000906020906060840190828701845b82811015620006225781516001600160a01b031684529284019290840190600101620005fb565b50505092019290925292915050565b600082821015620006465762000646620004d7565b500390565b610d03806200065b6000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c8063ba6742e51161005b578063ba6742e5146100ec578063d289d1cb1461010c578063f1501c8914610121578063f2fde38b1461014157600080fd5b806373e3d66a1461008257806376671808146100aa5780638da5cb5b146100c1575b600080fd5b61009561009036600461086b565b610154565b60405190151581526020015b60405180910390f35b6100b360015481565b6040519081526020016100a1565b6000546100d4906001600160a01b031681565b6040516001600160a01b0390911681526020016100a1565b6100b36100fa3660046108b7565b60026020526000908152604090205481565b61011f61011a3660046108d0565b6101f6565b005b6100b361012f3660046108b7565b60036020526000908152604090205481565b61011f61014f36600461092a565b610264565b6000808061016484860186610aa2565b91509150600082825160405160200161017e929190610b64565b60408051601f19818403018152918152815160209283012060008181526003909352912054600154919250908115806101c1575060106101be8383610bcb565b10155b156101df57604051630849699d60e11b815260040160405180910390fd5b6101ea898686610342565b14979650505050505050565b6000546001600160a01b03163314610221576040516330cd747160e01b815260040160405180910390fd5b61026082828080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061042692505050565b5050565b6000546001600160a01b0316331461028f576040516330cd747160e01b815260040160405180910390fd5b6001600160a01b0381166102cf576040517f49e27cff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b6000805b825181101561041f5760006103748685848151811061036757610367610be2565b6020026020010151610586565b90505b8451831080156103b2575084838151811061039457610394610be2565b60200260200101516001600160a01b0316816001600160a01b031614155b156103c7576103c083610bf8565b9250610377565b8451831415610402576040517fc6fb539300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61040b83610bf8565b9250508061041890610bf8565b9050610346565b5050505050565b6000808280602001905181019061043d9190610c13565b81519193509150801580610457575061045583610729565b155b1561047557604051630849699d60e11b815260040160405180910390fd5b81158061048157508181105b156104b8576040517faabd5a0900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8351602080860191909120600081815260039092526040909120541561050a576040517ff8f3c10400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000600154600161051b9190610cb5565b60018190556000818152600260209081526040808320869055858352600390915290819020829055519091507f91b26cf03198606868def38877d68b97d978ce42e6150b44ef327c4c900d0c4e906105769087908790610b64565b60405180910390a1505050505050565b600081516041146105c3576040517f4be6321b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60208201516040830151606084015160001a7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a082111561062f576040517f40c1e74800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8060ff16601b1415801561064757508060ff16601c14155b1561067e576040517f119bce3900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040805160008082526020820180845289905260ff841692820192909252606081018590526080810184905260019060a0016020604051602081039080840390855afa1580156106d2573d6000803e3d6000fd5b505050602060405103519450846001600160a01b03161415610720576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50505092915050565b6000805b6001835161073b9190610bcb565b8110156107e9578261074e826001610cb5565b8151811061075e5761075e610be2565b60200260200101516001600160a01b031683828151811061078157610781610be2565b60200260200101516001600160a01b03161015806107cb57506000836107a8836001610cb5565b815181106107b8576107b8610be2565b60200260200101516001600160a01b0316145b156107d95750600092915050565b6107e281610bf8565b905061072d565b5060006001600160a01b03168260008151811061080857610808610be2565b60200260200101516001600160a01b031614159050919050565b60008083601f84011261083457600080fd5b50813567ffffffffffffffff81111561084c57600080fd5b60208301915083602082850101111561086457600080fd5b9250929050565b60008060006040848603121561088057600080fd5b83359250602084013567ffffffffffffffff81111561089e57600080fd5b6108aa86828701610822565b9497909650939450505050565b6000602082840312156108c957600080fd5b5035919050565b600080602083850312156108e357600080fd5b823567ffffffffffffffff8111156108fa57600080fd5b61090685828601610822565b90969095509350505050565b6001600160a01b038116811461092757600080fd5b50565b60006020828403121561093c57600080fd5b813561094781610912565b9392505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561098d5761098d61094e565b604052919050565b600067ffffffffffffffff8211156109af576109af61094e565b5060051b60200190565b6000601f83818401126109cb57600080fd5b823560206109e06109db83610995565b610964565b82815260059290921b850181019181810190878411156109ff57600080fd5b8287015b84811015610a9657803567ffffffffffffffff80821115610a245760008081fd5b818a0191508a603f830112610a395760008081fd5b85820135604082821115610a4f57610a4f61094e565b610a60828b01601f19168901610964565b92508183528c81838601011115610a775760008081fd5b8181850189850137506000908201870152845250918301918301610a03565b50979650505050505050565b60008060408385031215610ab557600080fd5b823567ffffffffffffffff80821115610acd57600080fd5b818501915085601f830112610ae157600080fd5b81356020610af16109db83610995565b82815260059290921b84018101918181019089841115610b1057600080fd5b948201945b83861015610b37578535610b2881610912565b82529482019490820190610b15565b96505086013592505080821115610b4d57600080fd5b50610b5a858286016109b9565b9150509250929050565b604080825283519082018190526000906020906060840190828701845b82811015610ba65781516001600160a01b031684529284019290840190600101610b81565b50505092019290925292915050565b634e487b7160e01b600052601160045260246000fd5b600082821015610bdd57610bdd610bb5565b500390565b634e487b7160e01b600052603260045260246000fd5b6000600019821415610c0c57610c0c610bb5565b5060010190565b60008060408385031215610c2657600080fd5b825167ffffffffffffffff811115610c3d57600080fd5b8301601f81018513610c4e57600080fd5b80516020610c5e6109db83610995565b82815260059290921b83018101918181019088841115610c7d57600080fd5b938201935b83851015610ca4578451610c9581610912565b82529382019390820190610c82565b969091015195979596505050505050565b60008219821115610cc857610cc8610bb5565b50019056fea26469706673582212209abfd0ced392ff72d5b29f9650a06b1d1680bd91c1b3fcb75487f928836407e764736f6c63430008090033", - "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061007d5760003560e01c8063ba6742e51161005b578063ba6742e5146100ec578063d289d1cb1461010c578063f1501c8914610121578063f2fde38b1461014157600080fd5b806373e3d66a1461008257806376671808146100aa5780638da5cb5b146100c1575b600080fd5b61009561009036600461086b565b610154565b60405190151581526020015b60405180910390f35b6100b360015481565b6040519081526020016100a1565b6000546100d4906001600160a01b031681565b6040516001600160a01b0390911681526020016100a1565b6100b36100fa3660046108b7565b60026020526000908152604090205481565b61011f61011a3660046108d0565b6101f6565b005b6100b361012f3660046108b7565b60036020526000908152604090205481565b61011f61014f36600461092a565b610264565b6000808061016484860186610aa2565b91509150600082825160405160200161017e929190610b64565b60408051601f19818403018152918152815160209283012060008181526003909352912054600154919250908115806101c1575060106101be8383610bcb565b10155b156101df57604051630849699d60e11b815260040160405180910390fd5b6101ea898686610342565b14979650505050505050565b6000546001600160a01b03163314610221576040516330cd747160e01b815260040160405180910390fd5b61026082828080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061042692505050565b5050565b6000546001600160a01b0316331461028f576040516330cd747160e01b815260040160405180910390fd5b6001600160a01b0381166102cf576040517f49e27cff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b6000805b825181101561041f5760006103748685848151811061036757610367610be2565b6020026020010151610586565b90505b8451831080156103b2575084838151811061039457610394610be2565b60200260200101516001600160a01b0316816001600160a01b031614155b156103c7576103c083610bf8565b9250610377565b8451831415610402576040517fc6fb539300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61040b83610bf8565b9250508061041890610bf8565b9050610346565b5050505050565b6000808280602001905181019061043d9190610c13565b81519193509150801580610457575061045583610729565b155b1561047557604051630849699d60e11b815260040160405180910390fd5b81158061048157508181105b156104b8576040517faabd5a0900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8351602080860191909120600081815260039092526040909120541561050a576040517ff8f3c10400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000600154600161051b9190610cb5565b60018190556000818152600260209081526040808320869055858352600390915290819020829055519091507f91b26cf03198606868def38877d68b97d978ce42e6150b44ef327c4c900d0c4e906105769087908790610b64565b60405180910390a1505050505050565b600081516041146105c3576040517f4be6321b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60208201516040830151606084015160001a7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a082111561062f576040517f40c1e74800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8060ff16601b1415801561064757508060ff16601c14155b1561067e576040517f119bce3900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040805160008082526020820180845289905260ff841692820192909252606081018590526080810184905260019060a0016020604051602081039080840390855afa1580156106d2573d6000803e3d6000fd5b505050602060405103519450846001600160a01b03161415610720576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50505092915050565b6000805b6001835161073b9190610bcb565b8110156107e9578261074e826001610cb5565b8151811061075e5761075e610be2565b60200260200101516001600160a01b031683828151811061078157610781610be2565b60200260200101516001600160a01b03161015806107cb57506000836107a8836001610cb5565b815181106107b8576107b8610be2565b60200260200101516001600160a01b0316145b156107d95750600092915050565b6107e281610bf8565b905061072d565b5060006001600160a01b03168260008151811061080857610808610be2565b60200260200101516001600160a01b031614159050919050565b60008083601f84011261083457600080fd5b50813567ffffffffffffffff81111561084c57600080fd5b60208301915083602082850101111561086457600080fd5b9250929050565b60008060006040848603121561088057600080fd5b83359250602084013567ffffffffffffffff81111561089e57600080fd5b6108aa86828701610822565b9497909650939450505050565b6000602082840312156108c957600080fd5b5035919050565b600080602083850312156108e357600080fd5b823567ffffffffffffffff8111156108fa57600080fd5b61090685828601610822565b90969095509350505050565b6001600160a01b038116811461092757600080fd5b50565b60006020828403121561093c57600080fd5b813561094781610912565b9392505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561098d5761098d61094e565b604052919050565b600067ffffffffffffffff8211156109af576109af61094e565b5060051b60200190565b6000601f83818401126109cb57600080fd5b823560206109e06109db83610995565b610964565b82815260059290921b850181019181810190878411156109ff57600080fd5b8287015b84811015610a9657803567ffffffffffffffff80821115610a245760008081fd5b818a0191508a603f830112610a395760008081fd5b85820135604082821115610a4f57610a4f61094e565b610a60828b01601f19168901610964565b92508183528c81838601011115610a775760008081fd5b8181850189850137506000908201870152845250918301918301610a03565b50979650505050505050565b60008060408385031215610ab557600080fd5b823567ffffffffffffffff80821115610acd57600080fd5b818501915085601f830112610ae157600080fd5b81356020610af16109db83610995565b82815260059290921b84018101918181019089841115610b1057600080fd5b948201945b83861015610b37578535610b2881610912565b82529482019490820190610b15565b96505086013592505080821115610b4d57600080fd5b50610b5a858286016109b9565b9150509250929050565b604080825283519082018190526000906020906060840190828701845b82811015610ba65781516001600160a01b031684529284019290840190600101610b81565b50505092019290925292915050565b634e487b7160e01b600052601160045260246000fd5b600082821015610bdd57610bdd610bb5565b500390565b634e487b7160e01b600052603260045260246000fd5b6000600019821415610c0c57610c0c610bb5565b5060010190565b60008060408385031215610c2657600080fd5b825167ffffffffffffffff811115610c3d57600080fd5b8301601f81018513610c4e57600080fd5b80516020610c5e6109db83610995565b82815260059290921b83018101918181019088841115610c7d57600080fd5b938201935b83851015610ca4578451610c9581610912565b82529382019390820190610c82565b969091015195979596505050505050565b60008219821115610cc857610cc8610bb5565b50019056fea26469706673582212209abfd0ced392ff72d5b29f9650a06b1d1680bd91c1b3fcb75487f928836407e764736f6c63430008090033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/AxelarGateway.sol/AxelarGateway.dbg.json b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/AxelarGateway.sol/AxelarGateway.dbg.json index d1763aed..ad925cc8 100644 --- a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/AxelarGateway.sol/AxelarGateway.dbg.json +++ b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/AxelarGateway.sol/AxelarGateway.dbg.json @@ -1,4 +1,4 @@ { "_format": "hh-sol-dbg-1", - "buildInfo": "../../../../build-info/12c9a8f7cfdae039186ba7f422bc265d.json" + "buildInfo": "../../../../build-info/3aa2fc6680ec7dd0d7e17835f8008fcc.json" } diff --git a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/AxelarGateway.sol/AxelarGateway.json b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/AxelarGateway.sol/AxelarGateway.json index d4f60062..90d764cb 100644 --- a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/AxelarGateway.sol/AxelarGateway.json +++ b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/AxelarGateway.sol/AxelarGateway.json @@ -7,12 +7,12 @@ "inputs": [ { "internalType": "address", - "name": "authModule", + "name": "authModule_", "type": "address" }, { "internalType": "address", - "name": "tokenDeployerImplementation", + "name": "tokenDeployerImplementation_", "type": "address" } ], @@ -54,7 +54,7 @@ "type": "string" } ], - "name": "ExceedDailyMintLimit", + "name": "ExceedMintLimit", "type": "error" }, { @@ -94,7 +94,7 @@ }, { "inputs": [], - "name": "InvalidSetDailyMintLimitsParams", + "name": "InvalidSetMintLimitsParams", "type": "error" }, { @@ -410,12 +410,12 @@ }, { "indexed": false, - "internalType": "uint256", - "name": "limit", - "type": "uint256" + "internalType": "address", + "name": "tokenAddresses", + "type": "address" } ], - "name": "TokenDailyMintLimitUpdated", + "name": "TokenDeployed", "type": "event" }, { @@ -429,12 +429,12 @@ }, { "indexed": false, - "internalType": "address", - "name": "tokenAddresses", - "type": "address" + "internalType": "uint256", + "name": "limit", + "type": "uint256" } ], - "name": "TokenDeployed", + "name": "TokenMintLimitUpdated", "type": "event" }, { @@ -487,40 +487,6 @@ "name": "Upgraded", "type": "event" }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "executeData", - "type": "bytes" - } - ], - "name": "_unpackLegacyCommands", - "outputs": [ - { - "internalType": "uint256", - "name": "chainId", - "type": "uint256" - }, - { - "internalType": "bytes32[]", - "name": "commandIds", - "type": "bytes32[]" - }, - { - "internalType": "string[]", - "name": "commands", - "type": "string[]" - }, - { - "internalType": "bytes[]", - "name": "params", - "type": "bytes[]" - } - ], - "stateMutability": "pure", - "type": "function" - }, { "inputs": [], "name": "adminEpoch", @@ -621,6 +587,19 @@ "stateMutability": "nonpayable", "type": "function" }, + { + "inputs": [], + "name": "authModule", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, { "inputs": [ { @@ -1019,7 +998,7 @@ "type": "uint256[]" } ], - "name": "setTokenDailyMintLimits", + "name": "setTokenMintLimits", "outputs": [], "stateMutability": "nonpayable", "type": "function" @@ -1056,23 +1035,36 @@ "stateMutability": "view", "type": "function" }, + { + "inputs": [], + "name": "tokenDeployer", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, { "inputs": [ { "internalType": "string", - "name": "symbol", + "name": "", "type": "string" } ], - "name": "tokenDailyMintAmount", + "name": "tokenFrozen", "outputs": [ { - "internalType": "uint256", + "internalType": "bool", "name": "", - "type": "uint256" + "type": "bool" } ], - "stateMutability": "view", + "stateMutability": "pure", "type": "function" }, { @@ -1083,7 +1075,7 @@ "type": "string" } ], - "name": "tokenDailyMintLimit", + "name": "tokenMintAmount", "outputs": [ { "internalType": "uint256", @@ -1098,19 +1090,19 @@ "inputs": [ { "internalType": "string", - "name": "", + "name": "symbol", "type": "string" } ], - "name": "tokenFrozen", + "name": "tokenMintLimit", "outputs": [ { - "internalType": "bool", + "internalType": "uint256", "name": "", - "type": "bool" + "type": "uint256" } ], - "stateMutability": "pure", + "stateMutability": "view", "type": "function" }, { @@ -1233,8 +1225,8 @@ "type": "function" } ], - "bytecode": "0x60c06040523480156200001157600080fd5b5060405162004a1238038062004a128339810160408190526200003491620000bb565b6001600160a01b0382163b6200005d5760405163735326ab60e01b815260040160405180910390fd5b6001600160a01b0381163b6200008657604051630c84dabf60e31b815260040160405180910390fd5b6001600160a01b039182166080521660a052620000f3565b80516001600160a01b0381168114620000b657600080fd5b919050565b60008060408385031215620000cf57600080fd5b620000da836200009e565b9150620000ea602084016200009e565b90509250929050565b60805160a0516148eb62000127600039600061146e0152600081816105b70152818161169b015261197201526148eb6000f3fe608060405234801561001057600080fd5b50600436106102265760003560e01c806388b305871161012a578063bc00c216116100bd578063dc97d9621161008c578063f6a5f9f511610071578063f6a5f9f514610543578063f871f14e14610556578063fbe0a31b1461057957600080fd5b8063dc97d96214610510578063f6789c8c1461053057600080fd5b8063bc00c216146104b7578063bd02d0f5146104ca578063c031a180146104ea578063d26ff210146104fd57600080fd5b80639ded06df116100f95780639ded06df14610477578063a3499c731461048a578063aa1e1f0a1461049d578063b5417084146104a457600080fd5b806388b305871461041e578063935b13f61461043157806397b87ba614610444578063986e791a1461045757600080fd5b8063364940d8116101bd5780635dde81171161018c5780637ae1cfca116101715780637ae1cfca146103d45780637b1b769e146103f7578063886a625d1461040b57600080fd5b80635dde8117146103ae5780635f6970c3146103c157600080fd5b8063364940d8146103275780634656ae2e1461032f578063585a9fd4146103425780635c60da1b1461035557600080fd5b80631c92115f116101f95780631c92115f1461029f57806321f8a721146102b257806323275548146102f357806326ef699d1461031457600080fd5b806309c5eabe1461022b578063146e2d781461024057806314bfd6d0146102535780631876eed91461027c575b600080fd5b61023e610239366004612fdc565b61058c565b005b61023e61024e36600461301e565b610b2f565b61026661026136600461306a565b610b78565b6040516102739190613083565b60405180910390f35b61028f61028a3660046130d0565b610c22565b6040519015158152602001610273565b61023e6102ad366004613185565b610d56565b6102db6102c036600461306a565b6000908152600260205260409020546001600160a01b031690565b6040516001600160a01b039091168152602001610273565b6103066103013660046132e4565b610dc1565b604051908152602001610273565b61023e610322366004613319565b610de2565b610306610e7a565b61023e61033d36600461301e565b610ed2565b61023e61035036600461301e565b611226565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60005260026020527f11141f466c69fd409e1990e063b49cd6d61ed2ecff27a2e402e259ca6b9a01a3546001600160a01b03166102db565b6103066103bc3660046132e4565b6112d4565b61028f6103cf3660046133bc565b6112e2565b61028f6103e236600461306a565b60009081526004602052604090205460ff1690565b61028f6104053660046132e4565b50600090565b61023e61041936600461301e565b61139b565b61030661042c36600461306a565b61164b565b6102db61043f3660046132e4565b611656565b61023e61045236600461301e565b611664565b61046a61046536600461306a565b611742565b6040516102739190613496565b61023e610485366004612fdc565b6117e4565b61023e6104983660046134be565b611a18565b600061028f565b61023e6104b236600461351a565b611d4f565b61028f6104c53660046135e6565b611e05565b6103066104d836600461306a565b60009081526020819052604090205490565b61046a6104f836600461306a565b611ed8565b61028f61050b36600461306a565b611ef5565b61030661051e36600461306a565b60009081526005602052604090205490565b61023e61053e3660046136f9565b611f03565b61028f610551366004613759565b61216d565b6105696105643660046132e4565b6121f6565b6040516102739493929190613845565b61023e61058736600461301e565b612222565b60008061059b838501856138eb565b9150915060006105b183805190602001206122c2565b905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166373e3d66a83856040518363ffffffff1660e01b815260040161060392919061394f565b602060405180830381600087803b15801561061d57600080fd5b505af1158015610631573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610655919061397d565b905060006060806060306001600160a01b031663f871f14e896040518263ffffffff1660e01b815260040161068a9190613496565b60006040518083038186803b1580156106a257600080fd5b505afa9250505080156106d757506040513d6000823e601f3d908101601f191682016040526106d49190810190613b7c565b60015b6106fe57878060200190518101906106ef9190613b7c565b92965090945092509050610709565b929650909450925090505b468414610742576040517f7a47c9a200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8251825181141580610755575081518114155b1561078c576040517fca9a28f500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b81811015610b215760008582815181106107ab576107ab613c0e565b602002602001015190506107be81611ef5565b156107c95750610b11565b6000808684815181106107de576107de613c0e565b60200260200101516040516020016107f69190613c24565b6040516020818303038152906040528051906020012090507f5763814b98a3aa86f212797af3273868b5dd6e2a532d764a79b98ca859e7bbad81141561085e577f886a625d000000000000000000000000000000000000000000000000000000009150610a03565b7fec78d9c22c08bb9f0ecd5d95571ae83e3f22219c5a9278c3270691d50abfd91b8114156108ae577f146e2d78000000000000000000000000000000000000000000000000000000009150610a03565b7f37ac16aabc4d87540e53151b2b716265cfd6b195db96a9daf8e893c829bbd2338114156108fe577ffbe0a31b000000000000000000000000000000000000000000000000000000009150610a03565b7ff41504255b911b3042ee4f8786fdf7cf4bcf24ace033fa16af3c8574e025e43681141561094e577f585a9fd4000000000000000000000000000000000000000000000000000000009150610a03565b7fda199c0e76f665e0450020791c7f8eacc75f3cdbace313272c28f93e5390b62c81141561099e577f4656ae2e000000000000000000000000000000000000000000000000000000009150610a03565b7fb460dcb6fd5797fc0e7ea0f13406c80d30702ba7f73a42bd91394775dcbca7188114156109fb57896109d357505050610b11565b7f97b87ba6000000000000000000000000000000000000000000000000000000009150610a03565b505050610b11565b610a0e836001612316565b6000306001600160a01b031683888781518110610a2d57610a2d613c0e565b602002602001015186604051602401610a47929190613c40565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b0319909416939093179092529051610a859190613c24565b6000604051808303816000865af19150503d8060008114610ac2576040519150601f19603f3d011682016040523d82523d6000602084013e610ac7565b606091505b505090508015610b015760405184907fa74c8847d513feba22a0f0cb38d53081abf97562cdb293926ba243689e7c41ca90600090a2610b0c565b610b0c846000612316565b505050505b610b1a81613c78565b905061078f565b505050505050505050505050565b333014610b4f576040516314e1dbf760e11b815260040160405180910390fd5b60008080610b5f85870187613c9e565b925092509250610b70838383612342565b505050505050565b60606000610b85836124df565b90508067ffffffffffffffff811115610ba057610ba061321f565b604051908082528060200260200182016040528015610bc9578160200160208202803683370190505b50915060005b81811015610c1b57610be184826124ed565b838281518110610bf357610bf3613c0e565b6001600160a01b0390921660209283029190910190910152610c1481613c78565b9050610bcf565b5050919050565b600080610cd38b8b8b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8f018190048102820181019092528d815292508d91508c908190840183828082843760009201919091525050604080516020601f8d018190048102820181019092528b81523393508d9250908c908c90819084018382808284376000920191909152508c9250612503915050565b60008181526004602052604090205460ff16925090508115610d48576000818152600460205260409020805460ff19169055610d4885858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152503392508791506123429050565b509998505050505050505050565b8181604051610d66929190613cf8565b6040518091039020336001600160a01b03167f30ae6cc78c27e651745bf2ad08a11de83910ac1e347a52f7ac898c0fbef94dae888888888888604051610db196959493929190613d31565b60405180910390a3505050505050565b6000610ddc6104d883610dd76201518042613d7a565b612567565b92915050565b610e243384848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508692506125bc915050565b336001600160a01b03167f651d93f66c4329630e8d0f62488eff599e3be484da587335e8dc0fcf4606272688888888888888604051610e699796959493929190613d9c565b60405180910390a250505050505050565b6000610ecd7fd51dc9b187568bb94760866e1d0d066ca470037d2d331afb1a02ec74bfb8990c60009081526020527ff8d0c05cd32e3272241fdc9d5839565f8bcf94139cb4bd09e230e1b57a60ddc25490565b905090565b333014610ef2576040516314e1dbf760e11b815260040160405180910390fd5b600080610f0184860186613ded565b915091506000610f1083611656565b90506001600160a01b038116610f44578260405163395d09bf60e11b8152600401610f3b9190613496565b60405180910390fd5b6002610f4f84612827565b6002811115610f6057610f60613e32565b14156111c357600082604051610f7590612f86565b8190604051809103906000f5905080158015610f95573d6000803e3d6000fd5b506040517f70a082310000000000000000000000000000000000000000000000000000000081526001600160a01b038083166004830181905292935060009283929091631cff79cd91879163a9059cbb60e01b9130918416906370a082319060240160206040518083038186803b15801561100f57600080fd5b505afa158015611023573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110479190613e48565b6040516001600160a01b039092166024830152604482015260640160408051601f198184030181529181526020820180516001600160e01b03166001600160e01b03199485161790525160e085901b90921682526110a89291600401613e61565b600060405180830381600087803b1580156110c257600080fd5b505af11580156110d6573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526110fe9190810190613e83565b9150915081158061112b575080511580159061112b575080806020019051810190611129919061397d565b155b1561114b578560405163e217b0ad60e01b8152600401610f3b9190613496565b6040517ef55d9d0000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b0384169062f55d9d90602401600060405180830381600087803b1580156111a357600080fd5b505af11580156111b7573d6000803e3d6000fd5b50505050505050610b70565b6040516308a1eee160e01b8152600481018390526001600160a01b038216906308a1eee1906024015b600060405180830381600087803b15801561120657600080fd5b505af115801561121a573d6000803e3d6000fd5b50505050505050505050565b333014611246576040516314e1dbf760e11b815260040160405180910390fd5b60008080808080808061125b8a8c018c613ec7565b9750975097509750975097509750975061127a89898989898989612846565b84866001600160a01b03168a7f9991faa1f435675159ffae64b66d7ecfdb55c29755869a18db8497b4392347e08b8b898989896040516112bf96959493929190613f85565b60405180910390a45050505050505050505050565b6000610ddc6104d88361287c565b60008061135d8888888080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8c018190048102820181019092528a815292508a91508990819084018382808284376000920191909152503392508991506128b19050565b60008181526004602052604090205460ff16925090508115611390576000818152600460205260409020805460ff191690555b509695505050505050565b3330146113bb576040516314e1dbf760e11b815260040160405180910390fd5b600080808080806113ce888a018a613fdd565b95509550955095509550955060006001600160a01b03166113ee86611656565b6001600160a01b03161461143057846040517faa7e8b32000000000000000000000000000000000000000000000000000000008152600401610f3b9190613496565b6001600160a01b03821661159c576000856040516020016114519190613c24565b6040516020818303038152906040528051906020012090506000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316636fc95b3460e01b8a8a8a8a886040516024016114b7959493929190614080565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b03199094169390931790925290516114f59190613c24565b600060405180830381855af49150503d8060008114611530576040519150601f19603f3d011682016040523d82523d6000602084013e611535565b606091505b50915091508161157357876040517f86d52743000000000000000000000000000000000000000000000000000000008152600401610f3b9190613496565b8080602001905181019061158791906140c6565b945061159488600161290f565b5050506115f3565b6001600160a01b0382163b6115e8576040517fc5ccddde0000000000000000000000000000000000000000000000000000000081526001600160a01b0383166004820152602401610f3b565b6115f385600261290f565b6115fd858361293f565b6116078582612981565b7fbf90b5a1ec9763e8bf4b9245cef0c28db92bab309fc2c5177f17814f3824693885836040516116389291906140e3565b60405180910390a1505050505050505050565b6000610ddc826129dd565b6000610ddc6102c0836129eb565b333014611684576040516314e1dbf760e11b815260040160405180910390fd5b60405163d289d1cb60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063d289d1cb906116d2908690869060040161410e565b600060405180830381600087803b1580156116ec57600080fd5b505af1158015611700573d6000803e3d6000fd5b505050507f192e759e55f359cd9832b5c0c6e38e4b6df5c5ca33f3bd5c90738e865a521872838360405161173592919061410e565b60405180910390a1505050565b600081815260016020526040902080546060919061175f90614122565b80601f016020809104026020016040519081016040528092919081815260200182805461178b90614122565b80156117d85780601f106117ad576101008083540402835291602001916117d8565b820191906000526020600020905b8154815290600101906020018083116117bb57829003601f168201915b50505050509050919050565b60006118407f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60005260026020527f11141f466c69fd409e1990e063b49cd6d61ed2ecff27a2e402e259ca6b9a01a3546001600160a01b031690565b6001600160a01b03161415611881576040517fbf10dd3a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080806118918486018661415d565b925092509250600060016118ec7fd51dc9b187568bb94760866e1d0d066ca470037d2d331afb1a02ec74bfb8990c60009081526020527ff8d0c05cd32e3272241fdc9d5839565f8bcf94139cb4bd09e230e1b57a60ddc25490565b6118f69190614228565b9050611949817fd51dc9b187568bb94760866e1d0d066ca470037d2d331afb1a02ec74bfb8990c60009081526020527ff8d0c05cd32e3272241fdc9d5839565f8bcf94139cb4bd09e230e1b57a60ddc255565b611954818585612a23565b815115610b705760405163d289d1cb60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063d289d1cb906119a7908590600401613496565b600060405180830381600087803b1580156119c157600080fd5b505af11580156119d5573d6000803e3d6000fd5b505050507f192e759e55f359cd9832b5c0c6e38e4b6df5c5ca33f3bd5c90738e865a52187282604051611a089190613496565b60405180910390a1505050505050565b6000611a6b7fd51dc9b187568bb94760866e1d0d066ca470037d2d331afb1a02ec74bfb8990c60009081526020527ff8d0c05cd32e3272241fdc9d5839565f8bcf94139cb4bd09e230e1b57a60ddc25490565b9050611a778133612b5c565b611a9457604051637bfa4b9f60e01b815260040160405180910390fd5b60008036604051611aa6929190613cf8565b60405180910390209050611abb828233612b6b565b15611ad957604051637c9a1cf960e01b815260040160405180910390fd5b611ae68282336001612be9565b60006001611af48484612c5c565b611afe9190614228565b9050611b0b838383612c6b565b611b14836129dd565b811015611b2357505050611d49565b866001600160a01b03163f8614611b66576040517f8f84fb2400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040516001600160a01b038816907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a28315611c82576000876001600160a01b0316639ded06df60e01b8787604051602401611bc792919061410e565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b0319909416939093179092529051611c059190613c24565b600060405180830381855af49150503d8060008114611c40576040519150601f19603f3d011682016040523d82523d6000602084013e611c45565b606091505b5050905080611c80576040517f97905dfb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505b611cf9877f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60005260026020527f11141f466c69fd409e1990e063b49cd6d61ed2ecff27a2e402e259ca6b9a01a3805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03831617905550565b611d0583836000612c6b565b6000611d10846124df565b905060005b81811015611d4357611d338585611d2c88856124ed565b6000612be9565b611d3c81613c78565b9050611d15565b50505050505b50505050565b611d913384848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508692506125bc915050565b8484604051611da1929190613cf8565b6040518091039020336001600160a01b03167f7e50569d26be643bda7757722291ec66b1be66d8283474ae3fab5a98f878a7a28b8b8b8b8b8b8b8b8b604051611df299989796959493929190614240565b60405180910390a3505050505050505050565b6000611ec96103e28c8c8c8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050508b8b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8d018190048102820181019092528b81528e93508d9250908c908c90819084018382808284376000920191909152508c9250612503915050565b9b9a5050505050505050505050565b600081815260036020526040902080546060919061175f90614122565b6000610ddc6103e283612c7d565b6000611f567fd51dc9b187568bb94760866e1d0d066ca470037d2d331afb1a02ec74bfb8990c60009081526020527ff8d0c05cd32e3272241fdc9d5839565f8bcf94139cb4bd09e230e1b57a60ddc25490565b9050611f628133612b5c565b611f7f57604051637bfa4b9f60e01b815260040160405180910390fd5b60008036604051611f91929190613cf8565b60405180910390209050611fa6828233612b6b565b15611fc457604051637c9a1cf960e01b815260040160405180910390fd5b611fd18282336001612be9565b60006001611fdf8484612c5c565b611fe99190614228565b9050611ff6838383612c6b565b611fff836129dd565b81101561200e57505050611d49565b858414612047576040517f1508613d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b8681101561212957600088888381811061206657612066613c0e565b905060200281019061207891906142a8565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201829052509394508a92508991508590508181106120c3576120c3613c0e565b90506020020135905060006001600160a01b03166120e083611656565b6001600160a01b0316141561210a578160405163395d09bf60e11b8152600401610f3b9190613496565b6121148282612981565b5050808061212190613c78565b91505061204a565b5061213683836000612c6b565b6000612141846124df565b905060005b81811015611d435761215d8585611d2c88856124ed565b61216681613c78565b9050612146565b60006121ea6103e28989898080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8d018190048102820181019092528b815292508b91508a90819084018382808284376000920191909152508a92508991506128b19050565b98975050505050505050565b600060608060608480602001905181019061221191906142ef565b939991985096509194509092505050565b333014612242576040516314e1dbf760e11b815260040160405180910390fd5b60008080808080612255888a018a61438b565b95509550955095509550955061226e8787878787612cb8565b82846001600160a01b0316887f44e4f8f6bd682c5a3aeba93601ab07cb4d1f21b2aab1ae4880d9577919309aa4898987876040516122af949392919061441d565b60405180910390a4505050505050505050565b6040517f19457468657265756d205369676e6564204d6573736167653a0a3332000000006020820152603c8101829052600090605c015b604051602081830303815290604052805190602001209050919050565b61233e61232283612c7d565b6000908152600460205260409020805460ff1916831515179055565b5050565b600061234d84611656565b90506001600160a01b038116612378578360405163395d09bf60e11b8152600401610f3b9190613496565b612395848361238687610dc1565b6123909190614228565b612cc8565b60026123a085612827565b60028111156123b1576123b1613e32565b141561245e576040516001600160a01b03841660248201526044810183905260009061241d90839063a9059cbb60e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152612d44565b90508061245857846040517f90c52ed7000000000000000000000000000000000000000000000000000000008152600401610f3b9190613496565b50611d49565b6040517f40c10f190000000000000000000000000000000000000000000000000000000081526001600160a01b038481166004830152602482018490528216906340c10f1990604401600060405180830381600087803b1580156124c157600080fd5b505af11580156124d5573d6000803e3d6000fd5b5050505050505050565b6000610ddc6104d883612dd6565b60006124fc6102c08484612e11565b9392505050565b60007fb7ad972b71475860613db3ba1fe699b886c878f9002a09250dc25e769eb19a1088888888888888604051602001612544989796959493929190614456565b604051602081830303815290604052805190602001209050979650505050505050565b60007f4281768ab7480ddcf054116642fb644388166407fc26c4e8e435dd259143cfd2838360405160200161259e939291906144c9565b60405160208183030381529060405280519060200120905092915050565b60006125c783611656565b90506001600160a01b0381166125f2578260405163395d09bf60e11b8152600401610f3b9190613496565b81612629576040517f2c5211c600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600061263484612827565b90506000600282600281111561264c5761264c613e32565b14156126aa576040516001600160a01b0387166024820152306044820152606481018590526126889084906323b872dd60e01b906084016123e6565b905080610b70578460405163e217b0ad60e01b8152600401610f3b9190613496565b60018260028111156126be576126be613e32565b141561270d576040516001600160a01b0387166024820152604481018590526126889084907f79cc679000000000000000000000000000000000000000000000000000000000906064016123e6565b6040517f31eecaf4000000000000000000000000000000000000000000000000000000008152600060048201526127d89084906323b872dd60e01b9089906001600160a01b038416906331eecaf49060240160206040518083038186803b15801561277757600080fd5b505afa15801561278b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127af91906140c6565b6040516001600160a01b03928316602482015291166044820152606481018890526084016123e6565b9050806127fa578460405163e217b0ad60e01b8152600401610f3b9190613496565b6040516308a1eee160e01b8152600060048201526001600160a01b038416906308a1eee1906024016111ec565b60006128356104d883612e53565b6002811115610ddc57610ddc613e32565b61287361285888888888888888612503565b6000908152600460205260409020805460ff19166001179055565b50505050505050565b60007f385b0fbf06aae812803f7f3a3a975b7e1dce19f50fb39baf3f341e2849e5ce06826040516020016122f99291906144f6565b60007f07b0d4304f82012bd3b70b1d531c160e326067c90829e2a3d386722ad10b89c386868686866040516020016128ee9695949392919061451c565b60405160208183030381529060405280519060200120905095945050505050565b61233e61291b83612e53565b82600281111561292d5761292d613e32565b60009182526020829052604090912055565b61233e61294b836129eb565b6000908152600260205260409020805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b038416179055565b6129a061298d8361287c565b8260009182526020829052604090912055565b7fa34df38babdcfb4aa60ad9eda9583df1bcd3dbd7d4687c89d35c3ec4f4331be982826040516129d1929190613c40565b60405180910390a15050565b6000610ddc6104d883612e88565b60007fc4e632779a6a7838736dd7e5e6a0eadf171dd37dfb6230720e265576dfcf42bb826040516020016122f99291906144f6565b50565b815181811015612a465760405163f1965a0760e01b815260040160405180910390fd5b81612a7d576040517f1845300d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612a878483612ec3565b612a918482612ecf565b60005b81811015612b55576000848281518110612ab057612ab0613c0e565b60200260200101519050612ac48682612b5c565b15612b06576040517f424926de0000000000000000000000000000000000000000000000000000000081526001600160a01b0382166004820152602401610f3b565b6001600160a01b038116612b2d5760405163f1965a0760e01b815260040160405180910390fd5b612b38868383612edb565b612b4486826001612ee8565b50612b4e81613c78565b9050612a94565b5050505050565b60006124fc6103e28484612ef1565b604080517f3ced7a8caf1111e0fbf4b784c5b41aebd0f2389d9f2f64d5c3424aeed3adbd3c602080830191909152818301869052606080830186905284901b6bffffffffffffffffffffffff191660808301528251808303607401815260949092019092528051910120600090612be1906103e2565b949350505050565b604080517f3ced7a8caf1111e0fbf4b784c5b41aebd0f2389d9f2f64d5c3424aeed3adbd3c602080830191909152818301879052606080830187905285901b6bffffffffffffffffffffffff191660808301528251808303607401815260949092019092528051910120611d4990612322565b60006124fc6104d88484612f44565b612c7861298d8484612f44565b505050565b604080517f957705a374326b30f4a1069c936d736cc9993ed6c820b4e0e2fd94a8beca0d1d60208201529081018290526000906060016122f9565b612b5561285886868686866128b1565b6000612cd3836112d4565b9050600081118015612ce457508082115b15612d1d57826040517f78202795000000000000000000000000000000000000000000000000000000008152600401610f3b9190613496565b612c78612d3184610dd76201518042613d7a565b8360009182526020829052604090912055565b6000806000846001600160a01b031684604051612d619190613c24565b6000604051808303816000865af19150503d8060008114612d9e576040519150601f19603f3d011682016040523d82523d6000602084013e612da3565b606091505b5091509150818015612dcd575080511580612dcd575080806020019051810190612dcd919061397d565b95945050505050565b604080517f05112ef894367de1270cfae12afcd2285c225830eb8f74e7e938f721bb510cba60208201529081018290526000906060016122f9565b604080517ff23ec0bb4210edd5cba85afd05127efcd2fc6a781bfed49188da1081670b22d860208201529081018390526060810182905260009060800161259e565b60007fa80d2259af55890618ec2eeb3ac72de4bdba22529bb14845d8a3d712d1c3f621826040516020016122f99291906144f6565b604080517f79bd914addd90bd67ad800bf0230bb85ffdef5aeba5fd8249f116d3f17f4fb4b60208201529081018290526000906060016122f9565b61233e61298d83612e88565b61233e61298d83612dd6565b612c7861294b8484612e11565b612c7861232284845b604080517f63fa879cb478fddf1de08d49e29115fb768866711bc799ff9ab419a7f16c9afb6020820152908101839052606082811b6bffffffffffffffffffffffff19169082015260009060740161259e565b604080517fbaea1c6c0f16a0a340b10a9e980806696a68ddbb5e8361fd64630dd21abf515f60208201529081018390526060810182905260009060800161259e565b6103498061456d83390190565b60008083601f840112612fa557600080fd5b50813567ffffffffffffffff811115612fbd57600080fd5b602083019150836020828501011115612fd557600080fd5b9250929050565b60008060208385031215612fef57600080fd5b823567ffffffffffffffff81111561300657600080fd5b61301285828601612f93565b90969095509350505050565b60008060006040848603121561303357600080fd5b833567ffffffffffffffff81111561304a57600080fd5b61305686828701612f93565b909790965060209590950135949350505050565b60006020828403121561307c57600080fd5b5035919050565b6020808252825182820181905260009190848201906040850190845b818110156130c45783516001600160a01b03168352928401929184019160010161309f565b50909695505050505050565b600080600080600080600080600060c08a8c0312156130ee57600080fd5b8935985060208a013567ffffffffffffffff8082111561310d57600080fd5b6131198d838e01612f93565b909a50985060408c013591508082111561313257600080fd5b61313e8d838e01612f93565b909850965060608c0135955060808c013591508082111561315e57600080fd5b5061316b8c828d01612f93565b9a9d999c50979a9699959894979660a00135949350505050565b6000806000806000806060878903121561319e57600080fd5b863567ffffffffffffffff808211156131b657600080fd5b6131c28a838b01612f93565b909850965060208901359150808211156131db57600080fd5b6131e78a838b01612f93565b9096509450604089013591508082111561320057600080fd5b5061320d89828a01612f93565b979a9699509497509295939492505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561325e5761325e61321f565b604052919050565b600067ffffffffffffffff8211156132805761328061321f565b50601f01601f191660200190565b600082601f83011261329f57600080fd5b81356132b26132ad82613266565b613235565b8181528460208386010111156132c757600080fd5b816020850160208301376000918101602001919091529392505050565b6000602082840312156132f657600080fd5b813567ffffffffffffffff81111561330d57600080fd5b612be18482850161328e565b60008060008060008060006080888a03121561333457600080fd5b873567ffffffffffffffff8082111561334c57600080fd5b6133588b838c01612f93565b909950975060208a013591508082111561337157600080fd5b61337d8b838c01612f93565b909750955060408a013591508082111561339657600080fd5b506133a38a828b01612f93565b989b979a50959894979596606090950135949350505050565b600080600080600080608087890312156133d557600080fd5b86359550602087013567ffffffffffffffff808211156133f457600080fd5b6134008a838b01612f93565b9097509550604089013591508082111561341957600080fd5b5061342689828a01612f93565b979a9699509497949695606090950135949350505050565b60005b83811015613459578181015183820152602001613441565b83811115611d495750506000910152565b6000815180845261348281602086016020860161343e565b601f01601f19169290920160200192915050565b6020815260006124fc602083018461346a565b6001600160a01b0381168114612a2057600080fd5b600080600080606085870312156134d457600080fd5b84356134df816134a9565b935060208501359250604085013567ffffffffffffffff81111561350257600080fd5b61350e87828801612f93565b95989497509550505050565b600080600080600080600080600060a08a8c03121561353857600080fd5b893567ffffffffffffffff8082111561355057600080fd5b61355c8d838e01612f93565b909b50995060208c013591508082111561357557600080fd5b6135818d838e01612f93565b909950975060408c013591508082111561359a57600080fd5b6135a68d838e01612f93565b909750955060608c01359150808211156135bf57600080fd5b506135cc8c828d01612f93565b9a9d999c50979a9699959894979660800135949350505050565b60008060008060008060008060008060e08b8d03121561360557600080fd5b8a35995060208b013567ffffffffffffffff8082111561362457600080fd5b6136308e838f01612f93565b909b50995060408d013591508082111561364957600080fd5b6136558e838f01612f93565b909950975060608d0135915061366a826134a9565b90955060808c0135945060a08c0135908082111561368757600080fd5b506136948d828e01612f93565b9150809450508092505060c08b013590509295989b9194979a5092959850565b60008083601f8401126136c657600080fd5b50813567ffffffffffffffff8111156136de57600080fd5b6020830191508360208260051b8501011115612fd557600080fd5b6000806000806040858703121561370f57600080fd5b843567ffffffffffffffff8082111561372757600080fd5b613733888389016136b4565b9096509450602087013591508082111561374c57600080fd5b5061350e878288016136b4565b600080600080600080600060a0888a03121561377457600080fd5b87359650602088013567ffffffffffffffff8082111561379357600080fd5b61379f8b838c01612f93565b909850965060408a01359150808211156137b857600080fd5b506137c58a828b01612f93565b90955093505060608801356137d9816134a9565b809250506080880135905092959891949750929550565b600081518084526020808501808196508360051b8101915082860160005b8581101561383857828403895261382684835161346a565b9885019893509084019060010161380e565b5091979650505050505050565b600060808201868352602060808185015281875180845260a086019150828901935060005b818110156138865784518352938301939183019160010161386a565b5050848103604086015286518082528282019350600581901b8201830183890160005b838110156138d757601f198584030187526138c583835161346a565b968601969250908501906001016138a9565b50508681036060880152611ec981896137f0565b600080604083850312156138fe57600080fd5b823567ffffffffffffffff8082111561391657600080fd5b6139228683870161328e565b9350602085013591508082111561393857600080fd5b506139458582860161328e565b9150509250929050565b828152604060208201526000612be1604083018461346a565b8051801515811461397857600080fd5b919050565b60006020828403121561398f57600080fd5b6124fc82613968565b600067ffffffffffffffff8211156139b2576139b261321f565b5060051b60200190565b600082601f8301126139cd57600080fd5b815160206139dd6132ad83613998565b82815260059290921b840181019181810190868411156139fc57600080fd5b8286015b848110156113905780518352918301918301613a00565b6000613a256132ad84613266565b9050828152838383011115613a3957600080fd5b6124fc83602083018461343e565b600082601f830112613a5857600080fd5b81516020613a686132ad83613998565b82815260059290921b84018101918181019086841115613a8757600080fd5b8286015b8481101561139057805167ffffffffffffffff811115613aab5760008081fd5b8701603f81018913613abd5760008081fd5b613ace898683015160408401613a17565b845250918301918301613a8b565b600082601f830112613aed57600080fd5b6124fc83835160208501613a17565b600082601f830112613b0d57600080fd5b81516020613b1d6132ad83613998565b82815260059290921b84018101918181019086841115613b3c57600080fd5b8286015b8481101561139057805167ffffffffffffffff811115613b605760008081fd5b613b6e8986838b0101613adc565b845250918301918301613b40565b60008060008060808587031215613b9257600080fd5b84519350602085015167ffffffffffffffff80821115613bb157600080fd5b613bbd888389016139bc565b94506040870151915080821115613bd357600080fd5b613bdf88838901613a47565b93506060870151915080821115613bf557600080fd5b50613c0287828801613afc565b91505092959194509250565b634e487b7160e01b600052603260045260246000fd5b60008251613c3681846020870161343e565b9190910192915050565b604081526000613c53604083018561346a565b90508260208301529392505050565b634e487b7160e01b600052601160045260246000fd5b6000600019821415613c8c57613c8c613c62565b5060010190565b8035613978816134a9565b600080600060608486031215613cb357600080fd5b833567ffffffffffffffff811115613cca57600080fd5b613cd68682870161328e565b9350506020840135613ce7816134a9565b929592945050506040919091013590565b8183823760009101908152919050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b606081526000613d4560608301888a613d08565b8281036020840152613d58818789613d08565b90508281036040840152613d6d818587613d08565b9998505050505050505050565b600082613d9757634e487b7160e01b600052601260045260246000fd5b500490565b608081526000613db060808301898b613d08565b8281036020840152613dc381888a613d08565b90508281036040840152613dd8818688613d08565b91505082606083015298975050505050505050565b60008060408385031215613e0057600080fd5b823567ffffffffffffffff811115613e1757600080fd5b613e238582860161328e565b95602094909401359450505050565b634e487b7160e01b600052602160045260246000fd5b600060208284031215613e5a57600080fd5b5051919050565b6001600160a01b0383168152604060208201526000612be1604083018461346a565b60008060408385031215613e9657600080fd5b613e9f83613968565b9150602083015167ffffffffffffffff811115613ebb57600080fd5b61394585828601613adc565b600080600080600080600080610100898b031215613ee457600080fd5b883567ffffffffffffffff80821115613efc57600080fd5b613f088c838d0161328e565b995060208b0135915080821115613f1e57600080fd5b613f2a8c838d0161328e565b9850613f3860408c01613c93565b975060608b0135965060808b0135915080821115613f5557600080fd5b50613f628b828c0161328e565b989b979a50959894979660a0860135965060c08601359560e00135945092505050565b60c081526000613f9860c083018961346a565b8281036020840152613faa818961346a565b90508281036040840152613fbe818861346a565b60608401969096525050608081019290925260a0909101529392505050565b60008060008060008060c08789031215613ff657600080fd5b863567ffffffffffffffff8082111561400e57600080fd5b61401a8a838b0161328e565b9750602089013591508082111561403057600080fd5b5061403d89828a0161328e565b955050604087013560ff8116811461405457600080fd5b935060608701359250608087013561406b816134a9565b8092505060a087013590509295509295509295565b60a08152600061409360a083018861346a565b82810360208401526140a5818861346a565b60ff9690961660408401525050606081019290925260809091015292915050565b6000602082840312156140d857600080fd5b81516124fc816134a9565b6040815260006140f6604083018561346a565b90506001600160a01b03831660208301529392505050565b602081526000612be1602083018486613d08565b600181811c9082168061413657607f821691505b6020821081141561415757634e487b7160e01b600052602260045260246000fd5b50919050565b60008060006060848603121561417257600080fd5b833567ffffffffffffffff8082111561418a57600080fd5b818601915086601f83011261419e57600080fd5b813560206141ae6132ad83613998565b82815260059290921b8401810191818101908a8411156141cd57600080fd5b948201945b838610156141f45785356141e5816134a9565b825294820194908201906141d2565b975050870135945050604086013591508082111561421157600080fd5b5061421e8682870161328e565b9150509250925092565b6000821982111561423b5761423b613c62565b500190565b60a08152600061425460a083018b8d613d08565b8281036020840152614267818a8c613d08565b9050828103604084015261427c81888a613d08565b90508281036060840152614291818688613d08565b9150508260808301529a9950505050505050505050565b6000808335601e198436030181126142bf57600080fd5b83018035915067ffffffffffffffff8211156142da57600080fd5b602001915036819003821315612fd557600080fd5b600080600080600060a0868803121561430757600080fd5b8551945060208601519350604086015167ffffffffffffffff8082111561432d57600080fd5b61433989838a016139bc565b9450606088015191508082111561434f57600080fd5b61435b89838a01613a47565b9350608088015191508082111561437157600080fd5b5061437e88828901613afc565b9150509295509295909350565b60008060008060008060c087890312156143a457600080fd5b863567ffffffffffffffff808211156143bc57600080fd5b6143c88a838b0161328e565b975060208901359150808211156143de57600080fd5b506143eb89828a0161328e565b95505060408701356143fc816134a9565b959894975094956060810135955060808101359460a0909101359350915050565b608081526000614430608083018761346a565b8281036020840152614442818761346a565b604084019590955250506060015292915050565b60006101008a83528960208401528060408401526144768184018a61346a565b9050828103606084015261448a818961346a565b90506001600160a01b03871660808401528560a084015282810360c08401526144b3818661346a565b9150508260e08301529998505050505050505050565b838152600083516144e181602085016020880161343e565b60209201918201929092526040019392505050565b8281526000825161450e81602085016020870161343e565b919091016020019392505050565b86815285602082015260c06040820152600061453b60c083018761346a565b828103606084015261454d818761346a565b6001600160a01b03959095166080840152505060a0015294935050505056fe6080604052600160005534801561001557600080fd5b50610324806100256000396000f3fe608060405234801561001057600080fd5b50600436106100355760003560e01c8062f55d9d1461003a5780631cff79cd1461004f575b600080fd5b61004d6100483660046101da565b610079565b005b61006261005d3660046101fc565b6100bb565b60405161007092919061027f565b60405180910390f35b6002600054141561009d5760405163caa30f5560e01b815260040160405180910390fd5b600260005573ffffffffffffffffffffffffffffffffffffffff8116ff5b60006060600260005414156100e35760405163caa30f5560e01b815260040160405180910390fd5b600260005573ffffffffffffffffffffffffffffffffffffffff85163b610136576040517f6f7c43f100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8473ffffffffffffffffffffffffffffffffffffffff16848460405161015d9291906102de565b6000604051808303816000865af19150503d806000811461019a576040519150601f19603f3d011682016040523d82523d6000602084013e61019f565b606091505b50600160005590969095509350505050565b803573ffffffffffffffffffffffffffffffffffffffff811681146101d557600080fd5b919050565b6000602082840312156101ec57600080fd5b6101f5826101b1565b9392505050565b60008060006040848603121561021157600080fd5b61021a846101b1565b9250602084013567ffffffffffffffff8082111561023757600080fd5b818601915086601f83011261024b57600080fd5b81358181111561025a57600080fd5b87602082850101111561026c57600080fd5b6020830194508093505050509250925092565b821515815260006020604081840152835180604085015260005b818110156102b557858101830151858201606001528201610299565b818111156102c7576000606083870101525b50601f01601f191692909201606001949350505050565b818382376000910190815291905056fea2646970667358221220dfb702492c35c6a884ac11997b483e3fee4ff8145c7abb0799d2a2fc8674c39364736f6c63430008090033a26469706673582212208ccf7d53804e5299ae34cb40b83392c107813b7a4ebce02cc0a10d4ed07fdafe64736f6c63430008090033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106102265760003560e01c806388b305871161012a578063bc00c216116100bd578063dc97d9621161008c578063f6a5f9f511610071578063f6a5f9f514610543578063f871f14e14610556578063fbe0a31b1461057957600080fd5b8063dc97d96214610510578063f6789c8c1461053057600080fd5b8063bc00c216146104b7578063bd02d0f5146104ca578063c031a180146104ea578063d26ff210146104fd57600080fd5b80639ded06df116100f95780639ded06df14610477578063a3499c731461048a578063aa1e1f0a1461049d578063b5417084146104a457600080fd5b806388b305871461041e578063935b13f61461043157806397b87ba614610444578063986e791a1461045757600080fd5b8063364940d8116101bd5780635dde81171161018c5780637ae1cfca116101715780637ae1cfca146103d45780637b1b769e146103f7578063886a625d1461040b57600080fd5b80635dde8117146103ae5780635f6970c3146103c157600080fd5b8063364940d8146103275780634656ae2e1461032f578063585a9fd4146103425780635c60da1b1461035557600080fd5b80631c92115f116101f95780631c92115f1461029f57806321f8a721146102b257806323275548146102f357806326ef699d1461031457600080fd5b806309c5eabe1461022b578063146e2d781461024057806314bfd6d0146102535780631876eed91461027c575b600080fd5b61023e610239366004612fdc565b61058c565b005b61023e61024e36600461301e565b610b2f565b61026661026136600461306a565b610b78565b6040516102739190613083565b60405180910390f35b61028f61028a3660046130d0565b610c22565b6040519015158152602001610273565b61023e6102ad366004613185565b610d56565b6102db6102c036600461306a565b6000908152600260205260409020546001600160a01b031690565b6040516001600160a01b039091168152602001610273565b6103066103013660046132e4565b610dc1565b604051908152602001610273565b61023e610322366004613319565b610de2565b610306610e7a565b61023e61033d36600461301e565b610ed2565b61023e61035036600461301e565b611226565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60005260026020527f11141f466c69fd409e1990e063b49cd6d61ed2ecff27a2e402e259ca6b9a01a3546001600160a01b03166102db565b6103066103bc3660046132e4565b6112d4565b61028f6103cf3660046133bc565b6112e2565b61028f6103e236600461306a565b60009081526004602052604090205460ff1690565b61028f6104053660046132e4565b50600090565b61023e61041936600461301e565b61139b565b61030661042c36600461306a565b61164b565b6102db61043f3660046132e4565b611656565b61023e61045236600461301e565b611664565b61046a61046536600461306a565b611742565b6040516102739190613496565b61023e610485366004612fdc565b6117e4565b61023e6104983660046134be565b611a18565b600061028f565b61023e6104b236600461351a565b611d4f565b61028f6104c53660046135e6565b611e05565b6103066104d836600461306a565b60009081526020819052604090205490565b61046a6104f836600461306a565b611ed8565b61028f61050b36600461306a565b611ef5565b61030661051e36600461306a565b60009081526005602052604090205490565b61023e61053e3660046136f9565b611f03565b61028f610551366004613759565b61216d565b6105696105643660046132e4565b6121f6565b6040516102739493929190613845565b61023e61058736600461301e565b612222565b60008061059b838501856138eb565b9150915060006105b183805190602001206122c2565b905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166373e3d66a83856040518363ffffffff1660e01b815260040161060392919061394f565b602060405180830381600087803b15801561061d57600080fd5b505af1158015610631573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610655919061397d565b905060006060806060306001600160a01b031663f871f14e896040518263ffffffff1660e01b815260040161068a9190613496565b60006040518083038186803b1580156106a257600080fd5b505afa9250505080156106d757506040513d6000823e601f3d908101601f191682016040526106d49190810190613b7c565b60015b6106fe57878060200190518101906106ef9190613b7c565b92965090945092509050610709565b929650909450925090505b468414610742576040517f7a47c9a200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8251825181141580610755575081518114155b1561078c576040517fca9a28f500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b81811015610b215760008582815181106107ab576107ab613c0e565b602002602001015190506107be81611ef5565b156107c95750610b11565b6000808684815181106107de576107de613c0e565b60200260200101516040516020016107f69190613c24565b6040516020818303038152906040528051906020012090507f5763814b98a3aa86f212797af3273868b5dd6e2a532d764a79b98ca859e7bbad81141561085e577f886a625d000000000000000000000000000000000000000000000000000000009150610a03565b7fec78d9c22c08bb9f0ecd5d95571ae83e3f22219c5a9278c3270691d50abfd91b8114156108ae577f146e2d78000000000000000000000000000000000000000000000000000000009150610a03565b7f37ac16aabc4d87540e53151b2b716265cfd6b195db96a9daf8e893c829bbd2338114156108fe577ffbe0a31b000000000000000000000000000000000000000000000000000000009150610a03565b7ff41504255b911b3042ee4f8786fdf7cf4bcf24ace033fa16af3c8574e025e43681141561094e577f585a9fd4000000000000000000000000000000000000000000000000000000009150610a03565b7fda199c0e76f665e0450020791c7f8eacc75f3cdbace313272c28f93e5390b62c81141561099e577f4656ae2e000000000000000000000000000000000000000000000000000000009150610a03565b7fb460dcb6fd5797fc0e7ea0f13406c80d30702ba7f73a42bd91394775dcbca7188114156109fb57896109d357505050610b11565b7f97b87ba6000000000000000000000000000000000000000000000000000000009150610a03565b505050610b11565b610a0e836001612316565b6000306001600160a01b031683888781518110610a2d57610a2d613c0e565b602002602001015186604051602401610a47929190613c40565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b0319909416939093179092529051610a859190613c24565b6000604051808303816000865af19150503d8060008114610ac2576040519150601f19603f3d011682016040523d82523d6000602084013e610ac7565b606091505b505090508015610b015760405184907fa74c8847d513feba22a0f0cb38d53081abf97562cdb293926ba243689e7c41ca90600090a2610b0c565b610b0c846000612316565b505050505b610b1a81613c78565b905061078f565b505050505050505050505050565b333014610b4f576040516314e1dbf760e11b815260040160405180910390fd5b60008080610b5f85870187613c9e565b925092509250610b70838383612342565b505050505050565b60606000610b85836124df565b90508067ffffffffffffffff811115610ba057610ba061321f565b604051908082528060200260200182016040528015610bc9578160200160208202803683370190505b50915060005b81811015610c1b57610be184826124ed565b838281518110610bf357610bf3613c0e565b6001600160a01b0390921660209283029190910190910152610c1481613c78565b9050610bcf565b5050919050565b600080610cd38b8b8b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8f018190048102820181019092528d815292508d91508c908190840183828082843760009201919091525050604080516020601f8d018190048102820181019092528b81523393508d9250908c908c90819084018382808284376000920191909152508c9250612503915050565b60008181526004602052604090205460ff16925090508115610d48576000818152600460205260409020805460ff19169055610d4885858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152503392508791506123429050565b509998505050505050505050565b8181604051610d66929190613cf8565b6040518091039020336001600160a01b03167f30ae6cc78c27e651745bf2ad08a11de83910ac1e347a52f7ac898c0fbef94dae888888888888604051610db196959493929190613d31565b60405180910390a3505050505050565b6000610ddc6104d883610dd76201518042613d7a565b612567565b92915050565b610e243384848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508692506125bc915050565b336001600160a01b03167f651d93f66c4329630e8d0f62488eff599e3be484da587335e8dc0fcf4606272688888888888888604051610e699796959493929190613d9c565b60405180910390a250505050505050565b6000610ecd7fd51dc9b187568bb94760866e1d0d066ca470037d2d331afb1a02ec74bfb8990c60009081526020527ff8d0c05cd32e3272241fdc9d5839565f8bcf94139cb4bd09e230e1b57a60ddc25490565b905090565b333014610ef2576040516314e1dbf760e11b815260040160405180910390fd5b600080610f0184860186613ded565b915091506000610f1083611656565b90506001600160a01b038116610f44578260405163395d09bf60e11b8152600401610f3b9190613496565b60405180910390fd5b6002610f4f84612827565b6002811115610f6057610f60613e32565b14156111c357600082604051610f7590612f86565b8190604051809103906000f5905080158015610f95573d6000803e3d6000fd5b506040517f70a082310000000000000000000000000000000000000000000000000000000081526001600160a01b038083166004830181905292935060009283929091631cff79cd91879163a9059cbb60e01b9130918416906370a082319060240160206040518083038186803b15801561100f57600080fd5b505afa158015611023573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110479190613e48565b6040516001600160a01b039092166024830152604482015260640160408051601f198184030181529181526020820180516001600160e01b03166001600160e01b03199485161790525160e085901b90921682526110a89291600401613e61565b600060405180830381600087803b1580156110c257600080fd5b505af11580156110d6573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526110fe9190810190613e83565b9150915081158061112b575080511580159061112b575080806020019051810190611129919061397d565b155b1561114b578560405163e217b0ad60e01b8152600401610f3b9190613496565b6040517ef55d9d0000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b0384169062f55d9d90602401600060405180830381600087803b1580156111a357600080fd5b505af11580156111b7573d6000803e3d6000fd5b50505050505050610b70565b6040516308a1eee160e01b8152600481018390526001600160a01b038216906308a1eee1906024015b600060405180830381600087803b15801561120657600080fd5b505af115801561121a573d6000803e3d6000fd5b50505050505050505050565b333014611246576040516314e1dbf760e11b815260040160405180910390fd5b60008080808080808061125b8a8c018c613ec7565b9750975097509750975097509750975061127a89898989898989612846565b84866001600160a01b03168a7f9991faa1f435675159ffae64b66d7ecfdb55c29755869a18db8497b4392347e08b8b898989896040516112bf96959493929190613f85565b60405180910390a45050505050505050505050565b6000610ddc6104d88361287c565b60008061135d8888888080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8c018190048102820181019092528a815292508a91508990819084018382808284376000920191909152503392508991506128b19050565b60008181526004602052604090205460ff16925090508115611390576000818152600460205260409020805460ff191690555b509695505050505050565b3330146113bb576040516314e1dbf760e11b815260040160405180910390fd5b600080808080806113ce888a018a613fdd565b95509550955095509550955060006001600160a01b03166113ee86611656565b6001600160a01b03161461143057846040517faa7e8b32000000000000000000000000000000000000000000000000000000008152600401610f3b9190613496565b6001600160a01b03821661159c576000856040516020016114519190613c24565b6040516020818303038152906040528051906020012090506000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316636fc95b3460e01b8a8a8a8a886040516024016114b7959493929190614080565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b03199094169390931790925290516114f59190613c24565b600060405180830381855af49150503d8060008114611530576040519150601f19603f3d011682016040523d82523d6000602084013e611535565b606091505b50915091508161157357876040517f86d52743000000000000000000000000000000000000000000000000000000008152600401610f3b9190613496565b8080602001905181019061158791906140c6565b945061159488600161290f565b5050506115f3565b6001600160a01b0382163b6115e8576040517fc5ccddde0000000000000000000000000000000000000000000000000000000081526001600160a01b0383166004820152602401610f3b565b6115f385600261290f565b6115fd858361293f565b6116078582612981565b7fbf90b5a1ec9763e8bf4b9245cef0c28db92bab309fc2c5177f17814f3824693885836040516116389291906140e3565b60405180910390a1505050505050505050565b6000610ddc826129dd565b6000610ddc6102c0836129eb565b333014611684576040516314e1dbf760e11b815260040160405180910390fd5b60405163d289d1cb60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063d289d1cb906116d2908690869060040161410e565b600060405180830381600087803b1580156116ec57600080fd5b505af1158015611700573d6000803e3d6000fd5b505050507f192e759e55f359cd9832b5c0c6e38e4b6df5c5ca33f3bd5c90738e865a521872838360405161173592919061410e565b60405180910390a1505050565b600081815260016020526040902080546060919061175f90614122565b80601f016020809104026020016040519081016040528092919081815260200182805461178b90614122565b80156117d85780601f106117ad576101008083540402835291602001916117d8565b820191906000526020600020905b8154815290600101906020018083116117bb57829003601f168201915b50505050509050919050565b60006118407f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60005260026020527f11141f466c69fd409e1990e063b49cd6d61ed2ecff27a2e402e259ca6b9a01a3546001600160a01b031690565b6001600160a01b03161415611881576040517fbf10dd3a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080806118918486018661415d565b925092509250600060016118ec7fd51dc9b187568bb94760866e1d0d066ca470037d2d331afb1a02ec74bfb8990c60009081526020527ff8d0c05cd32e3272241fdc9d5839565f8bcf94139cb4bd09e230e1b57a60ddc25490565b6118f69190614228565b9050611949817fd51dc9b187568bb94760866e1d0d066ca470037d2d331afb1a02ec74bfb8990c60009081526020527ff8d0c05cd32e3272241fdc9d5839565f8bcf94139cb4bd09e230e1b57a60ddc255565b611954818585612a23565b815115610b705760405163d289d1cb60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063d289d1cb906119a7908590600401613496565b600060405180830381600087803b1580156119c157600080fd5b505af11580156119d5573d6000803e3d6000fd5b505050507f192e759e55f359cd9832b5c0c6e38e4b6df5c5ca33f3bd5c90738e865a52187282604051611a089190613496565b60405180910390a1505050505050565b6000611a6b7fd51dc9b187568bb94760866e1d0d066ca470037d2d331afb1a02ec74bfb8990c60009081526020527ff8d0c05cd32e3272241fdc9d5839565f8bcf94139cb4bd09e230e1b57a60ddc25490565b9050611a778133612b5c565b611a9457604051637bfa4b9f60e01b815260040160405180910390fd5b60008036604051611aa6929190613cf8565b60405180910390209050611abb828233612b6b565b15611ad957604051637c9a1cf960e01b815260040160405180910390fd5b611ae68282336001612be9565b60006001611af48484612c5c565b611afe9190614228565b9050611b0b838383612c6b565b611b14836129dd565b811015611b2357505050611d49565b866001600160a01b03163f8614611b66576040517f8f84fb2400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040516001600160a01b038816907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a28315611c82576000876001600160a01b0316639ded06df60e01b8787604051602401611bc792919061410e565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b0319909416939093179092529051611c059190613c24565b600060405180830381855af49150503d8060008114611c40576040519150601f19603f3d011682016040523d82523d6000602084013e611c45565b606091505b5050905080611c80576040517f97905dfb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505b611cf9877f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60005260026020527f11141f466c69fd409e1990e063b49cd6d61ed2ecff27a2e402e259ca6b9a01a3805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03831617905550565b611d0583836000612c6b565b6000611d10846124df565b905060005b81811015611d4357611d338585611d2c88856124ed565b6000612be9565b611d3c81613c78565b9050611d15565b50505050505b50505050565b611d913384848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508692506125bc915050565b8484604051611da1929190613cf8565b6040518091039020336001600160a01b03167f7e50569d26be643bda7757722291ec66b1be66d8283474ae3fab5a98f878a7a28b8b8b8b8b8b8b8b8b604051611df299989796959493929190614240565b60405180910390a3505050505050505050565b6000611ec96103e28c8c8c8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050508b8b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8d018190048102820181019092528b81528e93508d9250908c908c90819084018382808284376000920191909152508c9250612503915050565b9b9a5050505050505050505050565b600081815260036020526040902080546060919061175f90614122565b6000610ddc6103e283612c7d565b6000611f567fd51dc9b187568bb94760866e1d0d066ca470037d2d331afb1a02ec74bfb8990c60009081526020527ff8d0c05cd32e3272241fdc9d5839565f8bcf94139cb4bd09e230e1b57a60ddc25490565b9050611f628133612b5c565b611f7f57604051637bfa4b9f60e01b815260040160405180910390fd5b60008036604051611f91929190613cf8565b60405180910390209050611fa6828233612b6b565b15611fc457604051637c9a1cf960e01b815260040160405180910390fd5b611fd18282336001612be9565b60006001611fdf8484612c5c565b611fe99190614228565b9050611ff6838383612c6b565b611fff836129dd565b81101561200e57505050611d49565b858414612047576040517f1508613d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b8681101561212957600088888381811061206657612066613c0e565b905060200281019061207891906142a8565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201829052509394508a92508991508590508181106120c3576120c3613c0e565b90506020020135905060006001600160a01b03166120e083611656565b6001600160a01b0316141561210a578160405163395d09bf60e11b8152600401610f3b9190613496565b6121148282612981565b5050808061212190613c78565b91505061204a565b5061213683836000612c6b565b6000612141846124df565b905060005b81811015611d435761215d8585611d2c88856124ed565b61216681613c78565b9050612146565b60006121ea6103e28989898080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8d018190048102820181019092528b815292508b91508a90819084018382808284376000920191909152508a92508991506128b19050565b98975050505050505050565b600060608060608480602001905181019061221191906142ef565b939991985096509194509092505050565b333014612242576040516314e1dbf760e11b815260040160405180910390fd5b60008080808080612255888a018a61438b565b95509550955095509550955061226e8787878787612cb8565b82846001600160a01b0316887f44e4f8f6bd682c5a3aeba93601ab07cb4d1f21b2aab1ae4880d9577919309aa4898987876040516122af949392919061441d565b60405180910390a4505050505050505050565b6040517f19457468657265756d205369676e6564204d6573736167653a0a3332000000006020820152603c8101829052600090605c015b604051602081830303815290604052805190602001209050919050565b61233e61232283612c7d565b6000908152600460205260409020805460ff1916831515179055565b5050565b600061234d84611656565b90506001600160a01b038116612378578360405163395d09bf60e11b8152600401610f3b9190613496565b612395848361238687610dc1565b6123909190614228565b612cc8565b60026123a085612827565b60028111156123b1576123b1613e32565b141561245e576040516001600160a01b03841660248201526044810183905260009061241d90839063a9059cbb60e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152612d44565b90508061245857846040517f90c52ed7000000000000000000000000000000000000000000000000000000008152600401610f3b9190613496565b50611d49565b6040517f40c10f190000000000000000000000000000000000000000000000000000000081526001600160a01b038481166004830152602482018490528216906340c10f1990604401600060405180830381600087803b1580156124c157600080fd5b505af11580156124d5573d6000803e3d6000fd5b5050505050505050565b6000610ddc6104d883612dd6565b60006124fc6102c08484612e11565b9392505050565b60007fb7ad972b71475860613db3ba1fe699b886c878f9002a09250dc25e769eb19a1088888888888888604051602001612544989796959493929190614456565b604051602081830303815290604052805190602001209050979650505050505050565b60007f4281768ab7480ddcf054116642fb644388166407fc26c4e8e435dd259143cfd2838360405160200161259e939291906144c9565b60405160208183030381529060405280519060200120905092915050565b60006125c783611656565b90506001600160a01b0381166125f2578260405163395d09bf60e11b8152600401610f3b9190613496565b81612629576040517f2c5211c600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600061263484612827565b90506000600282600281111561264c5761264c613e32565b14156126aa576040516001600160a01b0387166024820152306044820152606481018590526126889084906323b872dd60e01b906084016123e6565b905080610b70578460405163e217b0ad60e01b8152600401610f3b9190613496565b60018260028111156126be576126be613e32565b141561270d576040516001600160a01b0387166024820152604481018590526126889084907f79cc679000000000000000000000000000000000000000000000000000000000906064016123e6565b6040517f31eecaf4000000000000000000000000000000000000000000000000000000008152600060048201526127d89084906323b872dd60e01b9089906001600160a01b038416906331eecaf49060240160206040518083038186803b15801561277757600080fd5b505afa15801561278b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127af91906140c6565b6040516001600160a01b03928316602482015291166044820152606481018890526084016123e6565b9050806127fa578460405163e217b0ad60e01b8152600401610f3b9190613496565b6040516308a1eee160e01b8152600060048201526001600160a01b038416906308a1eee1906024016111ec565b60006128356104d883612e53565b6002811115610ddc57610ddc613e32565b61287361285888888888888888612503565b6000908152600460205260409020805460ff19166001179055565b50505050505050565b60007f385b0fbf06aae812803f7f3a3a975b7e1dce19f50fb39baf3f341e2849e5ce06826040516020016122f99291906144f6565b60007f07b0d4304f82012bd3b70b1d531c160e326067c90829e2a3d386722ad10b89c386868686866040516020016128ee9695949392919061451c565b60405160208183030381529060405280519060200120905095945050505050565b61233e61291b83612e53565b82600281111561292d5761292d613e32565b60009182526020829052604090912055565b61233e61294b836129eb565b6000908152600260205260409020805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b038416179055565b6129a061298d8361287c565b8260009182526020829052604090912055565b7fa34df38babdcfb4aa60ad9eda9583df1bcd3dbd7d4687c89d35c3ec4f4331be982826040516129d1929190613c40565b60405180910390a15050565b6000610ddc6104d883612e88565b60007fc4e632779a6a7838736dd7e5e6a0eadf171dd37dfb6230720e265576dfcf42bb826040516020016122f99291906144f6565b50565b815181811015612a465760405163f1965a0760e01b815260040160405180910390fd5b81612a7d576040517f1845300d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612a878483612ec3565b612a918482612ecf565b60005b81811015612b55576000848281518110612ab057612ab0613c0e565b60200260200101519050612ac48682612b5c565b15612b06576040517f424926de0000000000000000000000000000000000000000000000000000000081526001600160a01b0382166004820152602401610f3b565b6001600160a01b038116612b2d5760405163f1965a0760e01b815260040160405180910390fd5b612b38868383612edb565b612b4486826001612ee8565b50612b4e81613c78565b9050612a94565b5050505050565b60006124fc6103e28484612ef1565b604080517f3ced7a8caf1111e0fbf4b784c5b41aebd0f2389d9f2f64d5c3424aeed3adbd3c602080830191909152818301869052606080830186905284901b6bffffffffffffffffffffffff191660808301528251808303607401815260949092019092528051910120600090612be1906103e2565b949350505050565b604080517f3ced7a8caf1111e0fbf4b784c5b41aebd0f2389d9f2f64d5c3424aeed3adbd3c602080830191909152818301879052606080830187905285901b6bffffffffffffffffffffffff191660808301528251808303607401815260949092019092528051910120611d4990612322565b60006124fc6104d88484612f44565b612c7861298d8484612f44565b505050565b604080517f957705a374326b30f4a1069c936d736cc9993ed6c820b4e0e2fd94a8beca0d1d60208201529081018290526000906060016122f9565b612b5561285886868686866128b1565b6000612cd3836112d4565b9050600081118015612ce457508082115b15612d1d57826040517f78202795000000000000000000000000000000000000000000000000000000008152600401610f3b9190613496565b612c78612d3184610dd76201518042613d7a565b8360009182526020829052604090912055565b6000806000846001600160a01b031684604051612d619190613c24565b6000604051808303816000865af19150503d8060008114612d9e576040519150601f19603f3d011682016040523d82523d6000602084013e612da3565b606091505b5091509150818015612dcd575080511580612dcd575080806020019051810190612dcd919061397d565b95945050505050565b604080517f05112ef894367de1270cfae12afcd2285c225830eb8f74e7e938f721bb510cba60208201529081018290526000906060016122f9565b604080517ff23ec0bb4210edd5cba85afd05127efcd2fc6a781bfed49188da1081670b22d860208201529081018390526060810182905260009060800161259e565b60007fa80d2259af55890618ec2eeb3ac72de4bdba22529bb14845d8a3d712d1c3f621826040516020016122f99291906144f6565b604080517f79bd914addd90bd67ad800bf0230bb85ffdef5aeba5fd8249f116d3f17f4fb4b60208201529081018290526000906060016122f9565b61233e61298d83612e88565b61233e61298d83612dd6565b612c7861294b8484612e11565b612c7861232284845b604080517f63fa879cb478fddf1de08d49e29115fb768866711bc799ff9ab419a7f16c9afb6020820152908101839052606082811b6bffffffffffffffffffffffff19169082015260009060740161259e565b604080517fbaea1c6c0f16a0a340b10a9e980806696a68ddbb5e8361fd64630dd21abf515f60208201529081018390526060810182905260009060800161259e565b6103498061456d83390190565b60008083601f840112612fa557600080fd5b50813567ffffffffffffffff811115612fbd57600080fd5b602083019150836020828501011115612fd557600080fd5b9250929050565b60008060208385031215612fef57600080fd5b823567ffffffffffffffff81111561300657600080fd5b61301285828601612f93565b90969095509350505050565b60008060006040848603121561303357600080fd5b833567ffffffffffffffff81111561304a57600080fd5b61305686828701612f93565b909790965060209590950135949350505050565b60006020828403121561307c57600080fd5b5035919050565b6020808252825182820181905260009190848201906040850190845b818110156130c45783516001600160a01b03168352928401929184019160010161309f565b50909695505050505050565b600080600080600080600080600060c08a8c0312156130ee57600080fd5b8935985060208a013567ffffffffffffffff8082111561310d57600080fd5b6131198d838e01612f93565b909a50985060408c013591508082111561313257600080fd5b61313e8d838e01612f93565b909850965060608c0135955060808c013591508082111561315e57600080fd5b5061316b8c828d01612f93565b9a9d999c50979a9699959894979660a00135949350505050565b6000806000806000806060878903121561319e57600080fd5b863567ffffffffffffffff808211156131b657600080fd5b6131c28a838b01612f93565b909850965060208901359150808211156131db57600080fd5b6131e78a838b01612f93565b9096509450604089013591508082111561320057600080fd5b5061320d89828a01612f93565b979a9699509497509295939492505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561325e5761325e61321f565b604052919050565b600067ffffffffffffffff8211156132805761328061321f565b50601f01601f191660200190565b600082601f83011261329f57600080fd5b81356132b26132ad82613266565b613235565b8181528460208386010111156132c757600080fd5b816020850160208301376000918101602001919091529392505050565b6000602082840312156132f657600080fd5b813567ffffffffffffffff81111561330d57600080fd5b612be18482850161328e565b60008060008060008060006080888a03121561333457600080fd5b873567ffffffffffffffff8082111561334c57600080fd5b6133588b838c01612f93565b909950975060208a013591508082111561337157600080fd5b61337d8b838c01612f93565b909750955060408a013591508082111561339657600080fd5b506133a38a828b01612f93565b989b979a50959894979596606090950135949350505050565b600080600080600080608087890312156133d557600080fd5b86359550602087013567ffffffffffffffff808211156133f457600080fd5b6134008a838b01612f93565b9097509550604089013591508082111561341957600080fd5b5061342689828a01612f93565b979a9699509497949695606090950135949350505050565b60005b83811015613459578181015183820152602001613441565b83811115611d495750506000910152565b6000815180845261348281602086016020860161343e565b601f01601f19169290920160200192915050565b6020815260006124fc602083018461346a565b6001600160a01b0381168114612a2057600080fd5b600080600080606085870312156134d457600080fd5b84356134df816134a9565b935060208501359250604085013567ffffffffffffffff81111561350257600080fd5b61350e87828801612f93565b95989497509550505050565b600080600080600080600080600060a08a8c03121561353857600080fd5b893567ffffffffffffffff8082111561355057600080fd5b61355c8d838e01612f93565b909b50995060208c013591508082111561357557600080fd5b6135818d838e01612f93565b909950975060408c013591508082111561359a57600080fd5b6135a68d838e01612f93565b909750955060608c01359150808211156135bf57600080fd5b506135cc8c828d01612f93565b9a9d999c50979a9699959894979660800135949350505050565b60008060008060008060008060008060e08b8d03121561360557600080fd5b8a35995060208b013567ffffffffffffffff8082111561362457600080fd5b6136308e838f01612f93565b909b50995060408d013591508082111561364957600080fd5b6136558e838f01612f93565b909950975060608d0135915061366a826134a9565b90955060808c0135945060a08c0135908082111561368757600080fd5b506136948d828e01612f93565b9150809450508092505060c08b013590509295989b9194979a5092959850565b60008083601f8401126136c657600080fd5b50813567ffffffffffffffff8111156136de57600080fd5b6020830191508360208260051b8501011115612fd557600080fd5b6000806000806040858703121561370f57600080fd5b843567ffffffffffffffff8082111561372757600080fd5b613733888389016136b4565b9096509450602087013591508082111561374c57600080fd5b5061350e878288016136b4565b600080600080600080600060a0888a03121561377457600080fd5b87359650602088013567ffffffffffffffff8082111561379357600080fd5b61379f8b838c01612f93565b909850965060408a01359150808211156137b857600080fd5b506137c58a828b01612f93565b90955093505060608801356137d9816134a9565b809250506080880135905092959891949750929550565b600081518084526020808501808196508360051b8101915082860160005b8581101561383857828403895261382684835161346a565b9885019893509084019060010161380e565b5091979650505050505050565b600060808201868352602060808185015281875180845260a086019150828901935060005b818110156138865784518352938301939183019160010161386a565b5050848103604086015286518082528282019350600581901b8201830183890160005b838110156138d757601f198584030187526138c583835161346a565b968601969250908501906001016138a9565b50508681036060880152611ec981896137f0565b600080604083850312156138fe57600080fd5b823567ffffffffffffffff8082111561391657600080fd5b6139228683870161328e565b9350602085013591508082111561393857600080fd5b506139458582860161328e565b9150509250929050565b828152604060208201526000612be1604083018461346a565b8051801515811461397857600080fd5b919050565b60006020828403121561398f57600080fd5b6124fc82613968565b600067ffffffffffffffff8211156139b2576139b261321f565b5060051b60200190565b600082601f8301126139cd57600080fd5b815160206139dd6132ad83613998565b82815260059290921b840181019181810190868411156139fc57600080fd5b8286015b848110156113905780518352918301918301613a00565b6000613a256132ad84613266565b9050828152838383011115613a3957600080fd5b6124fc83602083018461343e565b600082601f830112613a5857600080fd5b81516020613a686132ad83613998565b82815260059290921b84018101918181019086841115613a8757600080fd5b8286015b8481101561139057805167ffffffffffffffff811115613aab5760008081fd5b8701603f81018913613abd5760008081fd5b613ace898683015160408401613a17565b845250918301918301613a8b565b600082601f830112613aed57600080fd5b6124fc83835160208501613a17565b600082601f830112613b0d57600080fd5b81516020613b1d6132ad83613998565b82815260059290921b84018101918181019086841115613b3c57600080fd5b8286015b8481101561139057805167ffffffffffffffff811115613b605760008081fd5b613b6e8986838b0101613adc565b845250918301918301613b40565b60008060008060808587031215613b9257600080fd5b84519350602085015167ffffffffffffffff80821115613bb157600080fd5b613bbd888389016139bc565b94506040870151915080821115613bd357600080fd5b613bdf88838901613a47565b93506060870151915080821115613bf557600080fd5b50613c0287828801613afc565b91505092959194509250565b634e487b7160e01b600052603260045260246000fd5b60008251613c3681846020870161343e565b9190910192915050565b604081526000613c53604083018561346a565b90508260208301529392505050565b634e487b7160e01b600052601160045260246000fd5b6000600019821415613c8c57613c8c613c62565b5060010190565b8035613978816134a9565b600080600060608486031215613cb357600080fd5b833567ffffffffffffffff811115613cca57600080fd5b613cd68682870161328e565b9350506020840135613ce7816134a9565b929592945050506040919091013590565b8183823760009101908152919050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b606081526000613d4560608301888a613d08565b8281036020840152613d58818789613d08565b90508281036040840152613d6d818587613d08565b9998505050505050505050565b600082613d9757634e487b7160e01b600052601260045260246000fd5b500490565b608081526000613db060808301898b613d08565b8281036020840152613dc381888a613d08565b90508281036040840152613dd8818688613d08565b91505082606083015298975050505050505050565b60008060408385031215613e0057600080fd5b823567ffffffffffffffff811115613e1757600080fd5b613e238582860161328e565b95602094909401359450505050565b634e487b7160e01b600052602160045260246000fd5b600060208284031215613e5a57600080fd5b5051919050565b6001600160a01b0383168152604060208201526000612be1604083018461346a565b60008060408385031215613e9657600080fd5b613e9f83613968565b9150602083015167ffffffffffffffff811115613ebb57600080fd5b61394585828601613adc565b600080600080600080600080610100898b031215613ee457600080fd5b883567ffffffffffffffff80821115613efc57600080fd5b613f088c838d0161328e565b995060208b0135915080821115613f1e57600080fd5b613f2a8c838d0161328e565b9850613f3860408c01613c93565b975060608b0135965060808b0135915080821115613f5557600080fd5b50613f628b828c0161328e565b989b979a50959894979660a0860135965060c08601359560e00135945092505050565b60c081526000613f9860c083018961346a565b8281036020840152613faa818961346a565b90508281036040840152613fbe818861346a565b60608401969096525050608081019290925260a0909101529392505050565b60008060008060008060c08789031215613ff657600080fd5b863567ffffffffffffffff8082111561400e57600080fd5b61401a8a838b0161328e565b9750602089013591508082111561403057600080fd5b5061403d89828a0161328e565b955050604087013560ff8116811461405457600080fd5b935060608701359250608087013561406b816134a9565b8092505060a087013590509295509295509295565b60a08152600061409360a083018861346a565b82810360208401526140a5818861346a565b60ff9690961660408401525050606081019290925260809091015292915050565b6000602082840312156140d857600080fd5b81516124fc816134a9565b6040815260006140f6604083018561346a565b90506001600160a01b03831660208301529392505050565b602081526000612be1602083018486613d08565b600181811c9082168061413657607f821691505b6020821081141561415757634e487b7160e01b600052602260045260246000fd5b50919050565b60008060006060848603121561417257600080fd5b833567ffffffffffffffff8082111561418a57600080fd5b818601915086601f83011261419e57600080fd5b813560206141ae6132ad83613998565b82815260059290921b8401810191818101908a8411156141cd57600080fd5b948201945b838610156141f45785356141e5816134a9565b825294820194908201906141d2565b975050870135945050604086013591508082111561421157600080fd5b5061421e8682870161328e565b9150509250925092565b6000821982111561423b5761423b613c62565b500190565b60a08152600061425460a083018b8d613d08565b8281036020840152614267818a8c613d08565b9050828103604084015261427c81888a613d08565b90508281036060840152614291818688613d08565b9150508260808301529a9950505050505050505050565b6000808335601e198436030181126142bf57600080fd5b83018035915067ffffffffffffffff8211156142da57600080fd5b602001915036819003821315612fd557600080fd5b600080600080600060a0868803121561430757600080fd5b8551945060208601519350604086015167ffffffffffffffff8082111561432d57600080fd5b61433989838a016139bc565b9450606088015191508082111561434f57600080fd5b61435b89838a01613a47565b9350608088015191508082111561437157600080fd5b5061437e88828901613afc565b9150509295509295909350565b60008060008060008060c087890312156143a457600080fd5b863567ffffffffffffffff808211156143bc57600080fd5b6143c88a838b0161328e565b975060208901359150808211156143de57600080fd5b506143eb89828a0161328e565b95505060408701356143fc816134a9565b959894975094956060810135955060808101359460a0909101359350915050565b608081526000614430608083018761346a565b8281036020840152614442818761346a565b604084019590955250506060015292915050565b60006101008a83528960208401528060408401526144768184018a61346a565b9050828103606084015261448a818961346a565b90506001600160a01b03871660808401528560a084015282810360c08401526144b3818661346a565b9150508260e08301529998505050505050505050565b838152600083516144e181602085016020880161343e565b60209201918201929092526040019392505050565b8281526000825161450e81602085016020870161343e565b919091016020019392505050565b86815285602082015260c06040820152600061453b60c083018761346a565b828103606084015261454d818761346a565b6001600160a01b03959095166080840152505060a0015294935050505056fe6080604052600160005534801561001557600080fd5b50610324806100256000396000f3fe608060405234801561001057600080fd5b50600436106100355760003560e01c8062f55d9d1461003a5780631cff79cd1461004f575b600080fd5b61004d6100483660046101da565b610079565b005b61006261005d3660046101fc565b6100bb565b60405161007092919061027f565b60405180910390f35b6002600054141561009d5760405163caa30f5560e01b815260040160405180910390fd5b600260005573ffffffffffffffffffffffffffffffffffffffff8116ff5b60006060600260005414156100e35760405163caa30f5560e01b815260040160405180910390fd5b600260005573ffffffffffffffffffffffffffffffffffffffff85163b610136576040517f6f7c43f100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8473ffffffffffffffffffffffffffffffffffffffff16848460405161015d9291906102de565b6000604051808303816000865af19150503d806000811461019a576040519150601f19603f3d011682016040523d82523d6000602084013e61019f565b606091505b50600160005590969095509350505050565b803573ffffffffffffffffffffffffffffffffffffffff811681146101d557600080fd5b919050565b6000602082840312156101ec57600080fd5b6101f5826101b1565b9392505050565b60008060006040848603121561021157600080fd5b61021a846101b1565b9250602084013567ffffffffffffffff8082111561023757600080fd5b818601915086601f83011261024b57600080fd5b81358181111561025a57600080fd5b87602082850101111561026c57600080fd5b6020830194508093505050509250925092565b821515815260006020604081840152835180604085015260005b818110156102b557858101830151858201606001528201610299565b818111156102c7576000606083870101525b50601f01601f191692909201606001949350505050565b818382376000910190815291905056fea2646970667358221220dfb702492c35c6a884ac11997b483e3fee4ff8145c7abb0799d2a2fc8674c39364736f6c63430008090033a26469706673582212208ccf7d53804e5299ae34cb40b83392c107813b7a4ebce02cc0a10d4ed07fdafe64736f6c63430008090033", + "bytecode": "0x60c06040523480156200001157600080fd5b506040516200482a3803806200482a8339810160408190526200003491620000bb565b6001600160a01b0382163b6200005d5760405163735326ab60e01b815260040160405180910390fd5b6001600160a01b0381163b6200008657604051630c84dabf60e31b815260040160405180910390fd5b6001600160a01b039182166080521660a052620000f3565b80516001600160a01b0381168114620000b657600080fd5b919050565b60008060408385031215620000cf57600080fd5b620000da836200009e565b9150620000ea602084016200009e565b90509250929050565b60805160a0516146f56200013560003960008181610344015261168b015260008181610404015281816105fb015281816118b80152611b8f01526146f56000f3fe608060405234801561001057600080fd5b50600436106102415760003560e01c80637b1b769e11610145578063b5417084116100bd578063cec7b3591161008c578063dc97d96211610071578063dc97d9621461058a578063f6a5f9f5146105aa578063fbe0a31b146105bd57600080fd5b8063cec7b35914610564578063d26ff2101461057757600080fd5b8063b54170841461050b578063bc00c2161461051e578063bd02d0f514610531578063c031a1801461055157600080fd5b806397b87ba6116101145780639ded06df116100f95780639ded06df146104de578063a3499c73146104f1578063aa1e1f0a1461050457600080fd5b806397b87ba6146104ab578063986e791a146104be57600080fd5b80637b1b769e1461045e578063886a625d1461047257806388b3058714610485578063935b13f61461049857600080fd5b80632a2dae0a116101d85780635c60da1b116101a757806364940c561161018c57806364940c561461040257806367ace8eb146104285780637ae1cfca1461043b57600080fd5b80635c60da1b146103965780635f6970c3146103ef57600080fd5b80632a2dae0a14610342578063364940d8146103685780634656ae2e14610370578063585a9fd41461038357600080fd5b80631c92115f116102145780631c92115f146102ba57806321f8a721146102cd578063269eb65e1461030e57806326ef699d1461032f57600080fd5b806309c5eabe14610246578063146e2d781461025b57806314bfd6d01461026e5780631876eed914610297575b600080fd5b610259610254366004612f84565b6105d0565b005b610259610269366004612fc6565b610aea565b61028161027c366004613012565b610b33565b60405161028e919061302b565b60405180910390f35b6102aa6102a5366004613078565b610bdd565b604051901515815260200161028e565b6102596102c836600461312d565b610d11565b6102f66102db366004613012565b6000908152600260205260409020546001600160a01b031690565b6040516001600160a01b03909116815260200161028e565b61032161031c36600461328c565b610d7c565b60405190815260200161028e565b61025961033d3660046132c1565b610d90565b7f00000000000000000000000000000000000000000000000000000000000000006102f6565b610321610e28565b61025961037e366004612fc6565b610e80565b610259610391366004612fc6565b6111d4565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60005260026020527f11141f466c69fd409e1990e063b49cd6d61ed2ecff27a2e402e259ca6b9a01a3546001600160a01b03166102f6565b6102aa6103fd366004613364565b611282565b7f00000000000000000000000000000000000000000000000000000000000000006102f6565b61025961043636600461342b565b61133b565b6102aa610449366004613012565b60009081526004602052604090205460ff1690565b6102aa61046c36600461328c565b50600090565b610259610480366004612fc6565b6115b8565b610321610493366004613012565b611868565b6102f66104a636600461328c565b611873565b6102596104b9366004612fc6565b611881565b6104d16104cc366004613012565b61195f565b60405161028e91906134ef565b6102596104ec366004612f84565b611a01565b6102596104ff366004613517565b611c35565b60006102aa565b610259610519366004613567565b611f59565b6102aa61052c366004613633565b61200f565b61032161053f366004613012565b60009081526020819052604090205490565b6104d161055f366004613012565b6120e2565b61032161057236600461328c565b6120ff565b6102aa610585366004613012565b612119565b610321610598366004613012565b60009081526005602052604090205490565b6102aa6105b8366004613701565b612127565b6102596105cb366004612fc6565b6121b0565b6000806105df83850185613798565b9150915060006105f58380519060200120612250565b905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166373e3d66a83856040518363ffffffff1660e01b81526004016106479291906137fc565b602060405180830381600087803b15801561066157600080fd5b505af1158015610675573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610699919061382a565b905060006060806060878060200190518101906106b691906139ce565b929650909450925090504684146106f9576040517f7a47c9a200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b825182518114158061070c575081518114155b15610743576040517fca9a28f500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b81811015610adc57600085828151811061076257610762613ab8565b6020026020010151905061077581612119565b156107805750610acc565b60008086848151811061079557610795613ab8565b60200260200101516040516020016107ad9190613ace565b6040516020818303038152906040528051906020012090507f5763814b98a3aa86f212797af3273868b5dd6e2a532d764a79b98ca859e7bbad811415610815577f886a625d0000000000000000000000000000000000000000000000000000000091506109be565b7fec78d9c22c08bb9f0ecd5d95571ae83e3f22219c5a9278c3270691d50abfd91b811415610865577f146e2d780000000000000000000000000000000000000000000000000000000091506109be565b7f37ac16aabc4d87540e53151b2b716265cfd6b195db96a9daf8e893c829bbd2338114156108b5577ffbe0a31b0000000000000000000000000000000000000000000000000000000091506109be565b7ff41504255b911b3042ee4f8786fdf7cf4bcf24ace033fa16af3c8574e025e436811415610905577f585a9fd40000000000000000000000000000000000000000000000000000000091506109be565b7fda199c0e76f665e0450020791c7f8eacc75f3cdbace313272c28f93e5390b62c811415610955577f4656ae2e0000000000000000000000000000000000000000000000000000000091506109be565b7fb460dcb6fd5797fc0e7ea0f13406c80d30702ba7f73a42bd91394775dcbca7188114156109b6578961098a57505050610acc565b600099507f97b87ba60000000000000000000000000000000000000000000000000000000091506109be565b505050610acc565b6109c98360016122a4565b6000306001600160a01b0316838887815181106109e8576109e8613ab8565b602002602001015186604051602401610a02929190613aea565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b0319909416939093179092529051610a409190613ace565b6000604051808303816000865af19150503d8060008114610a7d576040519150601f19603f3d011682016040523d82523d6000602084013e610a82565b606091505b505090508015610abc5760405184907fa74c8847d513feba22a0f0cb38d53081abf97562cdb293926ba243689e7c41ca90600090a2610ac7565b610ac78460006122a4565b505050505b610ad581613b22565b9050610746565b505050505050505050505050565b333014610b0a576040516314e1dbf760e11b815260040160405180910390fd5b60008080610b1a85870187613b48565b925092509250610b2b8383836122d0565b505050505050565b60606000610b408361246d565b90508067ffffffffffffffff811115610b5b57610b5b6131c7565b604051908082528060200260200182016040528015610b84578160200160208202803683370190505b50915060005b81811015610bd657610b9c848261247b565b838281518110610bae57610bae613ab8565b6001600160a01b0390921660209283029190910190910152610bcf81613b22565b9050610b8a565b5050919050565b600080610c8e8b8b8b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8f018190048102820181019092528d815292508d91508c908190840183828082843760009201919091525050604080516020601f8d018190048102820181019092528b81523393508d9250908c908c90819084018382808284376000920191909152508c9250612491915050565b60008181526004602052604090205460ff16925090508115610d03576000818152600460205260409020805460ff19169055610d0385858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152503392508791506122d09050565b509998505050505050505050565b8181604051610d21929190613ba2565b6040518091039020336001600160a01b03167f30ae6cc78c27e651745bf2ad08a11de83910ac1e347a52f7ac898c0fbef94dae888888888888604051610d6c96959493929190613bdb565b60405180910390a3505050505050565b6000610d8a61053f836124f5565b92915050565b610dd23384848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525086925061252a915050565b336001600160a01b03167f651d93f66c4329630e8d0f62488eff599e3be484da587335e8dc0fcf4606272688888888888888604051610e179796959493929190613c24565b60405180910390a250505050505050565b6000610e7b7fd51dc9b187568bb94760866e1d0d066ca470037d2d331afb1a02ec74bfb8990c60009081526020527ff8d0c05cd32e3272241fdc9d5839565f8bcf94139cb4bd09e230e1b57a60ddc25490565b905090565b333014610ea0576040516314e1dbf760e11b815260040160405180910390fd5b600080610eaf84860186613c75565b915091506000610ebe83611873565b90506001600160a01b038116610ef2578260405163395d09bf60e11b8152600401610ee991906134ef565b60405180910390fd5b6002610efd84612795565b6002811115610f0e57610f0e613cba565b141561117157600082604051610f2390612f2e565b8190604051809103906000f5905080158015610f43573d6000803e3d6000fd5b506040517f70a082310000000000000000000000000000000000000000000000000000000081526001600160a01b038083166004830181905292935060009283929091631cff79cd91879163a9059cbb60e01b9130918416906370a082319060240160206040518083038186803b158015610fbd57600080fd5b505afa158015610fd1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ff59190613cd0565b6040516001600160a01b039092166024830152604482015260640160408051601f198184030181529181526020820180516001600160e01b03166001600160e01b03199485161790525160e085901b90921682526110569291600401613ce9565b600060405180830381600087803b15801561107057600080fd5b505af1158015611084573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526110ac9190810190613d0b565b915091508115806110d957508051158015906110d95750808060200190518101906110d7919061382a565b155b156110f9578560405163e217b0ad60e01b8152600401610ee991906134ef565b6040517ef55d9d0000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b0384169062f55d9d90602401600060405180830381600087803b15801561115157600080fd5b505af1158015611165573d6000803e3d6000fd5b50505050505050610b2b565b6040516308a1eee160e01b8152600481018390526001600160a01b038216906308a1eee1906024015b600060405180830381600087803b1580156111b457600080fd5b505af11580156111c8573d6000803e3d6000fd5b50505050505050505050565b3330146111f4576040516314e1dbf760e11b815260040160405180910390fd5b6000808080808080806112098a8c018c613d4f565b97509750975097509750975097509750611228898989898989896127b4565b84866001600160a01b03168a7f9991faa1f435675159ffae64b66d7ecfdb55c29755869a18db8497b4392347e08b8b8989898960405161126d96959493929190613e0d565b60405180910390a45050505050505050505050565b6000806112fd8888888080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8c018190048102820181019092528a815292508a91508990819084018382808284376000920191909152503392508991506127ea9050565b60008181526004602052604090205460ff16925090508115611330576000818152600460205260409020805460ff191690555b509695505050505050565b600061138e7fd51dc9b187568bb94760866e1d0d066ca470037d2d331afb1a02ec74bfb8990c60009081526020527ff8d0c05cd32e3272241fdc9d5839565f8bcf94139cb4bd09e230e1b57a60ddc25490565b905061139a8133612848565b6113b757604051637bfa4b9f60e01b815260040160405180910390fd5b600080366040516113c9929190613ba2565b604051809103902090506113de828233612857565b156113fc57604051637c9a1cf960e01b815260040160405180910390fd5b61140982823360016128d5565b600060016114178484612948565b6114219190613e65565b905061142e838383612957565b6114378361297c565b811015611446575050506115b2565b85841461147f576040517f14a2275f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b8681101561156157600088888381811061149e5761149e613ab8565b90506020028101906114b09190613e7d565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201829052509394508a92508991508590508181106114fb576114fb613ab8565b90506020020135905060006001600160a01b031661151883611873565b6001600160a01b03161415611542578160405163395d09bf60e11b8152600401610ee991906134ef565b61154c828261298a565b5050808061155990613b22565b915050611482565b5061156e83836000612957565b60006115798461246d565b905060005b818110156115ac5761159c8585611595888561247b565b60006128d5565b6115a581613b22565b905061157e565b50505050505b50505050565b3330146115d8576040516314e1dbf760e11b815260040160405180910390fd5b600080808080806115eb888a018a613ec4565b95509550955095509550955060006001600160a01b031661160b86611873565b6001600160a01b03161461164d57846040517faa7e8b32000000000000000000000000000000000000000000000000000000008152600401610ee991906134ef565b6001600160a01b0382166117b95760008560405160200161166e9190613ace565b6040516020818303038152906040528051906020012090506000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316636fc95b3460e01b8a8a8a8a886040516024016116d4959493929190613f67565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b03199094169390931790925290516117129190613ace565b600060405180830381855af49150503d806000811461174d576040519150601f19603f3d011682016040523d82523d6000602084013e611752565b606091505b50915091508161179057876040517f86d52743000000000000000000000000000000000000000000000000000000008152600401610ee991906134ef565b808060200190518101906117a49190613fad565b94506117b18860016129d3565b505050611810565b6001600160a01b0382163b611805576040517fc5ccddde0000000000000000000000000000000000000000000000000000000081526001600160a01b0383166004820152602401610ee9565b6118108560026129d3565b61181a8583612a03565b611824858261298a565b7fbf90b5a1ec9763e8bf4b9245cef0c28db92bab309fc2c5177f17814f382469388583604051611855929190613fca565b60405180910390a1505050505050505050565b6000610d8a8261297c565b6000610d8a6102db83612a45565b3330146118a1576040516314e1dbf760e11b815260040160405180910390fd5b60405163d289d1cb60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063d289d1cb906118ef9086908690600401613ff5565b600060405180830381600087803b15801561190957600080fd5b505af115801561191d573d6000803e3d6000fd5b505050507f192e759e55f359cd9832b5c0c6e38e4b6df5c5ca33f3bd5c90738e865a5218728383604051611952929190613ff5565b60405180910390a1505050565b600081815260016020526040902080546060919061197c90614009565b80601f01602080910402602001604051908101604052809291908181526020018280546119a890614009565b80156119f55780601f106119ca576101008083540402835291602001916119f5565b820191906000526020600020905b8154815290600101906020018083116119d857829003601f168201915b50505050509050919050565b6000611a5d7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60005260026020527f11141f466c69fd409e1990e063b49cd6d61ed2ecff27a2e402e259ca6b9a01a3546001600160a01b031690565b6001600160a01b03161415611a9e576040517fbf10dd3a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008080611aae84860186614044565b92509250925060006001611b097fd51dc9b187568bb94760866e1d0d066ca470037d2d331afb1a02ec74bfb8990c60009081526020527ff8d0c05cd32e3272241fdc9d5839565f8bcf94139cb4bd09e230e1b57a60ddc25490565b611b139190613e65565b9050611b66817fd51dc9b187568bb94760866e1d0d066ca470037d2d331afb1a02ec74bfb8990c60009081526020527ff8d0c05cd32e3272241fdc9d5839565f8bcf94139cb4bd09e230e1b57a60ddc255565b611b71818585612a7d565b815115610b2b5760405163d289d1cb60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063d289d1cb90611bc49085906004016134ef565b600060405180830381600087803b158015611bde57600080fd5b505af1158015611bf2573d6000803e3d6000fd5b505050507f192e759e55f359cd9832b5c0c6e38e4b6df5c5ca33f3bd5c90738e865a52187282604051611c2591906134ef565b60405180910390a1505050505050565b6000611c887fd51dc9b187568bb94760866e1d0d066ca470037d2d331afb1a02ec74bfb8990c60009081526020527ff8d0c05cd32e3272241fdc9d5839565f8bcf94139cb4bd09e230e1b57a60ddc25490565b9050611c948133612848565b611cb157604051637bfa4b9f60e01b815260040160405180910390fd5b60008036604051611cc3929190613ba2565b60405180910390209050611cd8828233612857565b15611cf657604051637c9a1cf960e01b815260040160405180910390fd5b611d0382823360016128d5565b60006001611d118484612948565b611d1b9190613e65565b9050611d28838383612957565b611d318361297c565b811015611d40575050506115b2565b866001600160a01b03163f8614611d83576040517f8f84fb2400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040516001600160a01b038816907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a28315611e9f576000876001600160a01b0316639ded06df60e01b8787604051602401611de4929190613ff5565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b0319909416939093179092529051611e229190613ace565b600060405180830381855af49150503d8060008114611e5d576040519150601f19603f3d011682016040523d82523d6000602084013e611e62565b606091505b5050905080611e9d576040517f97905dfb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505b611f16877f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60005260026020527f11141f466c69fd409e1990e063b49cd6d61ed2ecff27a2e402e259ca6b9a01a3805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03831617905550565b611f2283836000612957565b6000611f2d8461246d565b905060005b818110156115ac57611f498585611595888561247b565b611f5281613b22565b9050611f32565b611f9b3384848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525086925061252a915050565b8484604051611fab929190613ba2565b6040518091039020336001600160a01b03167f7e50569d26be643bda7757722291ec66b1be66d8283474ae3fab5a98f878a7a28b8b8b8b8b8b8b8b8b604051611ffc9998979695949392919061410f565b60405180910390a3505050505050505050565b60006120d36104498c8c8c8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050508b8b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8d018190048102820181019092528b81528e93508d9250908c908c90819084018382808284376000920191909152508c9250612491915050565b9b9a5050505050505050505050565b600081815260036020526040902080546060919061197c90614009565b6000610d8a61053f8361211461546042614177565b612bb6565b6000610d8a61044983612c0b565b60006121a46104498989898080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8d018190048102820181019092528b815292508b91508a90819084018382808284376000920191909152508a92508991506127ea9050565b98975050505050505050565b3330146121d0576040516314e1dbf760e11b815260040160405180910390fd5b600080808080806121e3888a018a614199565b9550955095509550955095506121fc8787878787612c46565b82846001600160a01b0316887f44e4f8f6bd682c5a3aeba93601ab07cb4d1f21b2aab1ae4880d9577919309aa48989878760405161223d949392919061422b565b60405180910390a4505050505050505050565b6040517f19457468657265756d205369676e6564204d6573736167653a0a3332000000006020820152603c8101829052600090605c015b604051602081830303815290604052805190602001209050919050565b6122cc6122b083612c0b565b6000908152600460205260409020805460ff1916831515179055565b5050565b60006122db84611873565b90506001600160a01b038116612306578360405163395d09bf60e11b8152600401610ee991906134ef565b6123238483612314876120ff565b61231e9190613e65565b612c56565b600261232e85612795565b600281111561233f5761233f613cba565b14156123ec576040516001600160a01b0384166024820152604481018390526000906123ab90839063a9059cbb60e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152612cd1565b9050806123e657846040517f90c52ed7000000000000000000000000000000000000000000000000000000008152600401610ee991906134ef565b506115b2565b6040517f40c10f190000000000000000000000000000000000000000000000000000000081526001600160a01b038481166004830152602482018490528216906340c10f1990604401600060405180830381600087803b15801561244f57600080fd5b505af1158015612463573d6000803e3d6000fd5b5050505050505050565b6000610d8a61053f83612d7a565b600061248a6102db8484612db5565b9392505050565b60007fb7ad972b71475860613db3ba1fe699b886c878f9002a09250dc25e769eb19a10888888888888886040516020016124d2989796959493929190614264565b604051602081830303815290604052805190602001209050979650505050505050565b60007feee9348b4aaba3647b1612b2724f18e93b9299da26fb321c7b3fda135d7dea87826040516020016122879291906142d7565b600061253583611873565b90506001600160a01b038116612560578260405163395d09bf60e11b8152600401610ee991906134ef565b81612597576040517f2c5211c600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006125a284612795565b9050600060028260028111156125ba576125ba613cba565b1415612618576040516001600160a01b0387166024820152306044820152606481018590526125f69084906323b872dd60e01b90608401612374565b905080610b2b578460405163e217b0ad60e01b8152600401610ee991906134ef565b600182600281111561262c5761262c613cba565b141561267b576040516001600160a01b0387166024820152604481018590526125f69084907f79cc67900000000000000000000000000000000000000000000000000000000090606401612374565b6040517f31eecaf4000000000000000000000000000000000000000000000000000000008152600060048201526127469084906323b872dd60e01b9089906001600160a01b038416906331eecaf49060240160206040518083038186803b1580156126e557600080fd5b505afa1580156126f9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061271d9190613fad565b6040516001600160a01b0392831660248201529116604482015260648101889052608401612374565b905080612768578460405163e217b0ad60e01b8152600401610ee991906134ef565b6040516308a1eee160e01b8152600060048201526001600160a01b038416906308a1eee19060240161119a565b60006127a361053f83612df7565b6002811115610d8a57610d8a613cba565b6127e16127c688888888888888612491565b6000908152600460205260409020805460ff19166001179055565b50505050505050565b60007f07b0d4304f82012bd3b70b1d531c160e326067c90829e2a3d386722ad10b89c38686868686604051602001612827969594939291906142fd565b60405160208183030381529060405280519060200120905095945050505050565b600061248a6104498484612e2c565b604080517f3ced7a8caf1111e0fbf4b784c5b41aebd0f2389d9f2f64d5c3424aeed3adbd3c602080830191909152818301869052606080830186905284901b6bffffffffffffffffffffffff1916608083015282518083036074018152609490920190925280519101206000906128cd90610449565b949350505050565b604080517f3ced7a8caf1111e0fbf4b784c5b41aebd0f2389d9f2f64d5c3424aeed3adbd3c602080830191909152818301879052606080830187905285901b6bffffffffffffffffffffffff1916608083015282518083036074018152609490920190925280519101206115b2906122b0565b600061248a61053f8484612e7f565b6129776129648484612e7f565b8260009182526020829052604090912055565b505050565b6000610d8a61053f83612ec1565b612996612964836124f5565b7fd99446c1d76385bb5519ccfb5274abcfd5896dfc22405e40010fde217f018a1882826040516129c7929190613aea565b60405180910390a15050565b6122cc6129df83612df7565b8260028111156129f1576129f1613cba565b60009182526020829052604090912055565b6122cc612a0f83612a45565b6000908152600260205260409020805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b038416179055565b60007fc4e632779a6a7838736dd7e5e6a0eadf171dd37dfb6230720e265576dfcf42bb826040516020016122879291906142d7565b50565b815181811015612aa05760405163f1965a0760e01b815260040160405180910390fd5b81612ad7576040517f1845300d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612ae18483612efc565b612aeb8482612f08565b60005b81811015612baf576000848281518110612b0a57612b0a613ab8565b60200260200101519050612b1e8682612848565b15612b60576040517f424926de0000000000000000000000000000000000000000000000000000000081526001600160a01b0382166004820152602401610ee9565b6001600160a01b038116612b875760405163f1965a0760e01b815260040160405180910390fd5b612b92868383612f14565b612b9e86826001612f21565b50612ba881613b22565b9050612aee565b5050505050565b60007f2f8851fe0d6d537e552a4f25b7a3167d48eb1292622c71d84630a2a44757bced8383604051602001612bed9392919061434d565b60405160208183030381529060405280519060200120905092915050565b604080517f957705a374326b30f4a1069c936d736cc9993ed6c820b4e0e2fd94a8beca0d1d6020820152908101829052600090606001612287565b612baf6127c686868686866127ea565b6000612c6183610d7c565b9050600081118015612c7257508082115b15612cab57826040517f037f60e5000000000000000000000000000000000000000000000000000000008152600401610ee991906134ef565b612977612cbe8461211461546042614177565b8360009182526020829052604090912055565b60006001600160a01b0383163b612cea57506000610d8a565b600080846001600160a01b031684604051612d059190613ace565b6000604051808303816000865af19150503d8060008114612d42576040519150601f19603f3d011682016040523d82523d6000602084013e612d47565b606091505b5091509150818015612d71575080511580612d71575080806020019051810190612d71919061382a565b95945050505050565b604080517f05112ef894367de1270cfae12afcd2285c225830eb8f74e7e938f721bb510cba6020820152908101829052600090606001612287565b604080517ff23ec0bb4210edd5cba85afd05127efcd2fc6a781bfed49188da1081670b22d8602082015290810183905260608101829052600090608001612bed565b60007fa80d2259af55890618ec2eeb3ac72de4bdba22529bb14845d8a3d712d1c3f621826040516020016122879291906142d7565b604080517f63fa879cb478fddf1de08d49e29115fb768866711bc799ff9ab419a7f16c9afb6020820152908101839052606082811b6bffffffffffffffffffffffff191690820152600090607401612bed565b604080517fbaea1c6c0f16a0a340b10a9e980806696a68ddbb5e8361fd64630dd21abf515f602082015290810183905260608101829052600090608001612bed565b604080517f79bd914addd90bd67ad800bf0230bb85ffdef5aeba5fd8249f116d3f17f4fb4b6020820152908101829052600090606001612287565b6122cc61296483612ec1565b6122cc61296483612d7a565b612977612a0f8484612db5565b6129776122b08484612e2c565b6103498061437783390190565b60008083601f840112612f4d57600080fd5b50813567ffffffffffffffff811115612f6557600080fd5b602083019150836020828501011115612f7d57600080fd5b9250929050565b60008060208385031215612f9757600080fd5b823567ffffffffffffffff811115612fae57600080fd5b612fba85828601612f3b565b90969095509350505050565b600080600060408486031215612fdb57600080fd5b833567ffffffffffffffff811115612ff257600080fd5b612ffe86828701612f3b565b909790965060209590950135949350505050565b60006020828403121561302457600080fd5b5035919050565b6020808252825182820181905260009190848201906040850190845b8181101561306c5783516001600160a01b031683529284019291840191600101613047565b50909695505050505050565b600080600080600080600080600060c08a8c03121561309657600080fd5b8935985060208a013567ffffffffffffffff808211156130b557600080fd5b6130c18d838e01612f3b565b909a50985060408c01359150808211156130da57600080fd5b6130e68d838e01612f3b565b909850965060608c0135955060808c013591508082111561310657600080fd5b506131138c828d01612f3b565b9a9d999c50979a9699959894979660a00135949350505050565b6000806000806000806060878903121561314657600080fd5b863567ffffffffffffffff8082111561315e57600080fd5b61316a8a838b01612f3b565b9098509650602089013591508082111561318357600080fd5b61318f8a838b01612f3b565b909650945060408901359150808211156131a857600080fd5b506131b589828a01612f3b565b979a9699509497509295939492505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715613206576132066131c7565b604052919050565b600067ffffffffffffffff821115613228576132286131c7565b50601f01601f191660200190565b600082601f83011261324757600080fd5b813561325a6132558261320e565b6131dd565b81815284602083860101111561326f57600080fd5b816020850160208301376000918101602001919091529392505050565b60006020828403121561329e57600080fd5b813567ffffffffffffffff8111156132b557600080fd5b6128cd84828501613236565b60008060008060008060006080888a0312156132dc57600080fd5b873567ffffffffffffffff808211156132f457600080fd5b6133008b838c01612f3b565b909950975060208a013591508082111561331957600080fd5b6133258b838c01612f3b565b909750955060408a013591508082111561333e57600080fd5b5061334b8a828b01612f3b565b989b979a50959894979596606090950135949350505050565b6000806000806000806080878903121561337d57600080fd5b86359550602087013567ffffffffffffffff8082111561339c57600080fd5b6133a88a838b01612f3b565b909750955060408901359150808211156133c157600080fd5b506133ce89828a01612f3b565b979a9699509497949695606090950135949350505050565b60008083601f8401126133f857600080fd5b50813567ffffffffffffffff81111561341057600080fd5b6020830191508360208260051b8501011115612f7d57600080fd5b6000806000806040858703121561344157600080fd5b843567ffffffffffffffff8082111561345957600080fd5b613465888389016133e6565b9096509450602087013591508082111561347e57600080fd5b5061348b878288016133e6565b95989497509550505050565b60005b838110156134b257818101518382015260200161349a565b838111156115b25750506000910152565b600081518084526134db816020860160208601613497565b601f01601f19169290920160200192915050565b60208152600061248a60208301846134c3565b6001600160a01b0381168114612a7a57600080fd5b6000806000806060858703121561352d57600080fd5b843561353881613502565b935060208501359250604085013567ffffffffffffffff81111561355b57600080fd5b61348b87828801612f3b565b600080600080600080600080600060a08a8c03121561358557600080fd5b893567ffffffffffffffff8082111561359d57600080fd5b6135a98d838e01612f3b565b909b50995060208c01359150808211156135c257600080fd5b6135ce8d838e01612f3b565b909950975060408c01359150808211156135e757600080fd5b6135f38d838e01612f3b565b909750955060608c013591508082111561360c57600080fd5b506136198c828d01612f3b565b9a9d999c50979a9699959894979660800135949350505050565b60008060008060008060008060008060e08b8d03121561365257600080fd5b8a35995060208b013567ffffffffffffffff8082111561367157600080fd5b61367d8e838f01612f3b565b909b50995060408d013591508082111561369657600080fd5b6136a28e838f01612f3b565b909950975060608d013591506136b782613502565b90955060808c0135945060a08c013590808211156136d457600080fd5b506136e18d828e01612f3b565b9150809450508092505060c08b013590509295989b9194979a5092959850565b600080600080600080600060a0888a03121561371c57600080fd5b87359650602088013567ffffffffffffffff8082111561373b57600080fd5b6137478b838c01612f3b565b909850965060408a013591508082111561376057600080fd5b5061376d8a828b01612f3b565b909550935050606088013561378181613502565b809250506080880135905092959891949750929550565b600080604083850312156137ab57600080fd5b823567ffffffffffffffff808211156137c357600080fd5b6137cf86838701613236565b935060208501359150808211156137e557600080fd5b506137f285828601613236565b9150509250929050565b8281526040602082015260006128cd60408301846134c3565b8051801515811461382557600080fd5b919050565b60006020828403121561383c57600080fd5b61248a82613815565b600067ffffffffffffffff82111561385f5761385f6131c7565b5060051b60200190565b60006138776132558461320e565b905082815283838301111561388b57600080fd5b61248a836020830184613497565b600082601f8301126138aa57600080fd5b815160206138ba61325583613845565b82815260059290921b840181019181810190868411156138d957600080fd5b8286015b8481101561133057805167ffffffffffffffff8111156138fd5760008081fd5b8701603f8101891361390f5760008081fd5b613920898683015160408401613869565b8452509183019183016138dd565b600082601f83011261393f57600080fd5b61248a83835160208501613869565b600082601f83011261395f57600080fd5b8151602061396f61325583613845565b82815260059290921b8401810191818101908684111561398e57600080fd5b8286015b8481101561133057805167ffffffffffffffff8111156139b25760008081fd5b6139c08986838b010161392e565b845250918301918301613992565b600080600080608085870312156139e457600080fd5b8451935060208086015167ffffffffffffffff80821115613a0457600080fd5b818801915088601f830112613a1857600080fd5b8151613a2661325582613845565b81815260059190911b8301840190848101908b831115613a4557600080fd5b938501935b82851015613a6357845182529385019390850190613a4a565b60408b01519098509450505080831115613a7c57600080fd5b613a8889848a01613899565b94506060880151925080831115613a9e57600080fd5b5050613aac8782880161394e565b91505092959194509250565b634e487b7160e01b600052603260045260246000fd5b60008251613ae0818460208701613497565b9190910192915050565b604081526000613afd60408301856134c3565b90508260208301529392505050565b634e487b7160e01b600052601160045260246000fd5b6000600019821415613b3657613b36613b0c565b5060010190565b803561382581613502565b600080600060608486031215613b5d57600080fd5b833567ffffffffffffffff811115613b7457600080fd5b613b8086828701613236565b9350506020840135613b9181613502565b929592945050506040919091013590565b8183823760009101908152919050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b606081526000613bef60608301888a613bb2565b8281036020840152613c02818789613bb2565b90508281036040840152613c17818587613bb2565b9998505050505050505050565b608081526000613c3860808301898b613bb2565b8281036020840152613c4b81888a613bb2565b90508281036040840152613c60818688613bb2565b91505082606083015298975050505050505050565b60008060408385031215613c8857600080fd5b823567ffffffffffffffff811115613c9f57600080fd5b613cab85828601613236565b95602094909401359450505050565b634e487b7160e01b600052602160045260246000fd5b600060208284031215613ce257600080fd5b5051919050565b6001600160a01b03831681526040602082015260006128cd60408301846134c3565b60008060408385031215613d1e57600080fd5b613d2783613815565b9150602083015167ffffffffffffffff811115613d4357600080fd5b6137f28582860161392e565b600080600080600080600080610100898b031215613d6c57600080fd5b883567ffffffffffffffff80821115613d8457600080fd5b613d908c838d01613236565b995060208b0135915080821115613da657600080fd5b613db28c838d01613236565b9850613dc060408c01613b3d565b975060608b0135965060808b0135915080821115613ddd57600080fd5b50613dea8b828c01613236565b989b979a50959894979660a0860135965060c08601359560e00135945092505050565b60c081526000613e2060c08301896134c3565b8281036020840152613e3281896134c3565b90508281036040840152613e4681886134c3565b60608401969096525050608081019290925260a0909101529392505050565b60008219821115613e7857613e78613b0c565b500190565b6000808335601e19843603018112613e9457600080fd5b83018035915067ffffffffffffffff821115613eaf57600080fd5b602001915036819003821315612f7d57600080fd5b60008060008060008060c08789031215613edd57600080fd5b863567ffffffffffffffff80821115613ef557600080fd5b613f018a838b01613236565b97506020890135915080821115613f1757600080fd5b50613f2489828a01613236565b955050604087013560ff81168114613f3b57600080fd5b9350606087013592506080870135613f5281613502565b8092505060a087013590509295509295509295565b60a081526000613f7a60a08301886134c3565b8281036020840152613f8c81886134c3565b60ff9690961660408401525050606081019290925260809091015292915050565b600060208284031215613fbf57600080fd5b815161248a81613502565b604081526000613fdd60408301856134c3565b90506001600160a01b03831660208301529392505050565b6020815260006128cd602083018486613bb2565b600181811c9082168061401d57607f821691505b6020821081141561403e57634e487b7160e01b600052602260045260246000fd5b50919050565b60008060006060848603121561405957600080fd5b833567ffffffffffffffff8082111561407157600080fd5b818601915086601f83011261408557600080fd5b8135602061409561325583613845565b82815260059290921b8401810191818101908a8411156140b457600080fd5b948201945b838610156140db5785356140cc81613502565b825294820194908201906140b9565b97505087013594505060408601359150808211156140f857600080fd5b5061410586828701613236565b9150509250925092565b60a08152600061412360a083018b8d613bb2565b8281036020840152614136818a8c613bb2565b9050828103604084015261414b81888a613bb2565b90508281036060840152614160818688613bb2565b9150508260808301529a9950505050505050505050565b60008261419457634e487b7160e01b600052601260045260246000fd5b500490565b60008060008060008060c087890312156141b257600080fd5b863567ffffffffffffffff808211156141ca57600080fd5b6141d68a838b01613236565b975060208901359150808211156141ec57600080fd5b506141f989828a01613236565b955050604087013561420a81613502565b959894975094956060810135955060808101359460a0909101359350915050565b60808152600061423e60808301876134c3565b828103602084015261425081876134c3565b604084019590955250506060015292915050565b60006101008a83528960208401528060408401526142848184018a6134c3565b9050828103606084015261429881896134c3565b90506001600160a01b03871660808401528560a084015282810360c08401526142c181866134c3565b9150508260e08301529998505050505050505050565b828152600082516142ef816020850160208701613497565b919091016020019392505050565b86815285602082015260c06040820152600061431c60c08301876134c3565b828103606084015261432e81876134c3565b6001600160a01b03959095166080840152505060a00152949350505050565b83815260606020820152600061436660608301856134c3565b905082604083015294935050505056fe6080604052600160005534801561001557600080fd5b50610324806100256000396000f3fe608060405234801561001057600080fd5b50600436106100355760003560e01c8062f55d9d1461003a5780631cff79cd1461004f575b600080fd5b61004d6100483660046101da565b610079565b005b61006261005d3660046101fc565b6100bb565b60405161007092919061027f565b60405180910390f35b6002600054141561009d5760405163caa30f5560e01b815260040160405180910390fd5b600260005573ffffffffffffffffffffffffffffffffffffffff8116ff5b60006060600260005414156100e35760405163caa30f5560e01b815260040160405180910390fd5b600260005573ffffffffffffffffffffffffffffffffffffffff85163b610136576040517f6f7c43f100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8473ffffffffffffffffffffffffffffffffffffffff16848460405161015d9291906102de565b6000604051808303816000865af19150503d806000811461019a576040519150601f19603f3d011682016040523d82523d6000602084013e61019f565b606091505b50600160005590969095509350505050565b803573ffffffffffffffffffffffffffffffffffffffff811681146101d557600080fd5b919050565b6000602082840312156101ec57600080fd5b6101f5826101b1565b9392505050565b60008060006040848603121561021157600080fd5b61021a846101b1565b9250602084013567ffffffffffffffff8082111561023757600080fd5b818601915086601f83011261024b57600080fd5b81358181111561025a57600080fd5b87602082850101111561026c57600080fd5b6020830194508093505050509250925092565b821515815260006020604081840152835180604085015260005b818110156102b557858101830151858201606001528201610299565b818111156102c7576000606083870101525b50601f01601f191692909201606001949350505050565b818382376000910190815291905056fea2646970667358221220dfb702492c35c6a884ac11997b483e3fee4ff8145c7abb0799d2a2fc8674c39364736f6c63430008090033a2646970667358221220dc548d17af80e97d180d0272635e72abcf1708c4b6eb58d2f6544f6247efb70064736f6c63430008090033", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106102415760003560e01c80637b1b769e11610145578063b5417084116100bd578063cec7b3591161008c578063dc97d96211610071578063dc97d9621461058a578063f6a5f9f5146105aa578063fbe0a31b146105bd57600080fd5b8063cec7b35914610564578063d26ff2101461057757600080fd5b8063b54170841461050b578063bc00c2161461051e578063bd02d0f514610531578063c031a1801461055157600080fd5b806397b87ba6116101145780639ded06df116100f95780639ded06df146104de578063a3499c73146104f1578063aa1e1f0a1461050457600080fd5b806397b87ba6146104ab578063986e791a146104be57600080fd5b80637b1b769e1461045e578063886a625d1461047257806388b3058714610485578063935b13f61461049857600080fd5b80632a2dae0a116101d85780635c60da1b116101a757806364940c561161018c57806364940c561461040257806367ace8eb146104285780637ae1cfca1461043b57600080fd5b80635c60da1b146103965780635f6970c3146103ef57600080fd5b80632a2dae0a14610342578063364940d8146103685780634656ae2e14610370578063585a9fd41461038357600080fd5b80631c92115f116102145780631c92115f146102ba57806321f8a721146102cd578063269eb65e1461030e57806326ef699d1461032f57600080fd5b806309c5eabe14610246578063146e2d781461025b57806314bfd6d01461026e5780631876eed914610297575b600080fd5b610259610254366004612f84565b6105d0565b005b610259610269366004612fc6565b610aea565b61028161027c366004613012565b610b33565b60405161028e919061302b565b60405180910390f35b6102aa6102a5366004613078565b610bdd565b604051901515815260200161028e565b6102596102c836600461312d565b610d11565b6102f66102db366004613012565b6000908152600260205260409020546001600160a01b031690565b6040516001600160a01b03909116815260200161028e565b61032161031c36600461328c565b610d7c565b60405190815260200161028e565b61025961033d3660046132c1565b610d90565b7f00000000000000000000000000000000000000000000000000000000000000006102f6565b610321610e28565b61025961037e366004612fc6565b610e80565b610259610391366004612fc6565b6111d4565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60005260026020527f11141f466c69fd409e1990e063b49cd6d61ed2ecff27a2e402e259ca6b9a01a3546001600160a01b03166102f6565b6102aa6103fd366004613364565b611282565b7f00000000000000000000000000000000000000000000000000000000000000006102f6565b61025961043636600461342b565b61133b565b6102aa610449366004613012565b60009081526004602052604090205460ff1690565b6102aa61046c36600461328c565b50600090565b610259610480366004612fc6565b6115b8565b610321610493366004613012565b611868565b6102f66104a636600461328c565b611873565b6102596104b9366004612fc6565b611881565b6104d16104cc366004613012565b61195f565b60405161028e91906134ef565b6102596104ec366004612f84565b611a01565b6102596104ff366004613517565b611c35565b60006102aa565b610259610519366004613567565b611f59565b6102aa61052c366004613633565b61200f565b61032161053f366004613012565b60009081526020819052604090205490565b6104d161055f366004613012565b6120e2565b61032161057236600461328c565b6120ff565b6102aa610585366004613012565b612119565b610321610598366004613012565b60009081526005602052604090205490565b6102aa6105b8366004613701565b612127565b6102596105cb366004612fc6565b6121b0565b6000806105df83850185613798565b9150915060006105f58380519060200120612250565b905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166373e3d66a83856040518363ffffffff1660e01b81526004016106479291906137fc565b602060405180830381600087803b15801561066157600080fd5b505af1158015610675573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610699919061382a565b905060006060806060878060200190518101906106b691906139ce565b929650909450925090504684146106f9576040517f7a47c9a200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b825182518114158061070c575081518114155b15610743576040517fca9a28f500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b81811015610adc57600085828151811061076257610762613ab8565b6020026020010151905061077581612119565b156107805750610acc565b60008086848151811061079557610795613ab8565b60200260200101516040516020016107ad9190613ace565b6040516020818303038152906040528051906020012090507f5763814b98a3aa86f212797af3273868b5dd6e2a532d764a79b98ca859e7bbad811415610815577f886a625d0000000000000000000000000000000000000000000000000000000091506109be565b7fec78d9c22c08bb9f0ecd5d95571ae83e3f22219c5a9278c3270691d50abfd91b811415610865577f146e2d780000000000000000000000000000000000000000000000000000000091506109be565b7f37ac16aabc4d87540e53151b2b716265cfd6b195db96a9daf8e893c829bbd2338114156108b5577ffbe0a31b0000000000000000000000000000000000000000000000000000000091506109be565b7ff41504255b911b3042ee4f8786fdf7cf4bcf24ace033fa16af3c8574e025e436811415610905577f585a9fd40000000000000000000000000000000000000000000000000000000091506109be565b7fda199c0e76f665e0450020791c7f8eacc75f3cdbace313272c28f93e5390b62c811415610955577f4656ae2e0000000000000000000000000000000000000000000000000000000091506109be565b7fb460dcb6fd5797fc0e7ea0f13406c80d30702ba7f73a42bd91394775dcbca7188114156109b6578961098a57505050610acc565b600099507f97b87ba60000000000000000000000000000000000000000000000000000000091506109be565b505050610acc565b6109c98360016122a4565b6000306001600160a01b0316838887815181106109e8576109e8613ab8565b602002602001015186604051602401610a02929190613aea565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b0319909416939093179092529051610a409190613ace565b6000604051808303816000865af19150503d8060008114610a7d576040519150601f19603f3d011682016040523d82523d6000602084013e610a82565b606091505b505090508015610abc5760405184907fa74c8847d513feba22a0f0cb38d53081abf97562cdb293926ba243689e7c41ca90600090a2610ac7565b610ac78460006122a4565b505050505b610ad581613b22565b9050610746565b505050505050505050505050565b333014610b0a576040516314e1dbf760e11b815260040160405180910390fd5b60008080610b1a85870187613b48565b925092509250610b2b8383836122d0565b505050505050565b60606000610b408361246d565b90508067ffffffffffffffff811115610b5b57610b5b6131c7565b604051908082528060200260200182016040528015610b84578160200160208202803683370190505b50915060005b81811015610bd657610b9c848261247b565b838281518110610bae57610bae613ab8565b6001600160a01b0390921660209283029190910190910152610bcf81613b22565b9050610b8a565b5050919050565b600080610c8e8b8b8b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8f018190048102820181019092528d815292508d91508c908190840183828082843760009201919091525050604080516020601f8d018190048102820181019092528b81523393508d9250908c908c90819084018382808284376000920191909152508c9250612491915050565b60008181526004602052604090205460ff16925090508115610d03576000818152600460205260409020805460ff19169055610d0385858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152503392508791506122d09050565b509998505050505050505050565b8181604051610d21929190613ba2565b6040518091039020336001600160a01b03167f30ae6cc78c27e651745bf2ad08a11de83910ac1e347a52f7ac898c0fbef94dae888888888888604051610d6c96959493929190613bdb565b60405180910390a3505050505050565b6000610d8a61053f836124f5565b92915050565b610dd23384848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525086925061252a915050565b336001600160a01b03167f651d93f66c4329630e8d0f62488eff599e3be484da587335e8dc0fcf4606272688888888888888604051610e179796959493929190613c24565b60405180910390a250505050505050565b6000610e7b7fd51dc9b187568bb94760866e1d0d066ca470037d2d331afb1a02ec74bfb8990c60009081526020527ff8d0c05cd32e3272241fdc9d5839565f8bcf94139cb4bd09e230e1b57a60ddc25490565b905090565b333014610ea0576040516314e1dbf760e11b815260040160405180910390fd5b600080610eaf84860186613c75565b915091506000610ebe83611873565b90506001600160a01b038116610ef2578260405163395d09bf60e11b8152600401610ee991906134ef565b60405180910390fd5b6002610efd84612795565b6002811115610f0e57610f0e613cba565b141561117157600082604051610f2390612f2e565b8190604051809103906000f5905080158015610f43573d6000803e3d6000fd5b506040517f70a082310000000000000000000000000000000000000000000000000000000081526001600160a01b038083166004830181905292935060009283929091631cff79cd91879163a9059cbb60e01b9130918416906370a082319060240160206040518083038186803b158015610fbd57600080fd5b505afa158015610fd1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ff59190613cd0565b6040516001600160a01b039092166024830152604482015260640160408051601f198184030181529181526020820180516001600160e01b03166001600160e01b03199485161790525160e085901b90921682526110569291600401613ce9565b600060405180830381600087803b15801561107057600080fd5b505af1158015611084573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526110ac9190810190613d0b565b915091508115806110d957508051158015906110d95750808060200190518101906110d7919061382a565b155b156110f9578560405163e217b0ad60e01b8152600401610ee991906134ef565b6040517ef55d9d0000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b0384169062f55d9d90602401600060405180830381600087803b15801561115157600080fd5b505af1158015611165573d6000803e3d6000fd5b50505050505050610b2b565b6040516308a1eee160e01b8152600481018390526001600160a01b038216906308a1eee1906024015b600060405180830381600087803b1580156111b457600080fd5b505af11580156111c8573d6000803e3d6000fd5b50505050505050505050565b3330146111f4576040516314e1dbf760e11b815260040160405180910390fd5b6000808080808080806112098a8c018c613d4f565b97509750975097509750975097509750611228898989898989896127b4565b84866001600160a01b03168a7f9991faa1f435675159ffae64b66d7ecfdb55c29755869a18db8497b4392347e08b8b8989898960405161126d96959493929190613e0d565b60405180910390a45050505050505050505050565b6000806112fd8888888080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8c018190048102820181019092528a815292508a91508990819084018382808284376000920191909152503392508991506127ea9050565b60008181526004602052604090205460ff16925090508115611330576000818152600460205260409020805460ff191690555b509695505050505050565b600061138e7fd51dc9b187568bb94760866e1d0d066ca470037d2d331afb1a02ec74bfb8990c60009081526020527ff8d0c05cd32e3272241fdc9d5839565f8bcf94139cb4bd09e230e1b57a60ddc25490565b905061139a8133612848565b6113b757604051637bfa4b9f60e01b815260040160405180910390fd5b600080366040516113c9929190613ba2565b604051809103902090506113de828233612857565b156113fc57604051637c9a1cf960e01b815260040160405180910390fd5b61140982823360016128d5565b600060016114178484612948565b6114219190613e65565b905061142e838383612957565b6114378361297c565b811015611446575050506115b2565b85841461147f576040517f14a2275f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b8681101561156157600088888381811061149e5761149e613ab8565b90506020028101906114b09190613e7d565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201829052509394508a92508991508590508181106114fb576114fb613ab8565b90506020020135905060006001600160a01b031661151883611873565b6001600160a01b03161415611542578160405163395d09bf60e11b8152600401610ee991906134ef565b61154c828261298a565b5050808061155990613b22565b915050611482565b5061156e83836000612957565b60006115798461246d565b905060005b818110156115ac5761159c8585611595888561247b565b60006128d5565b6115a581613b22565b905061157e565b50505050505b50505050565b3330146115d8576040516314e1dbf760e11b815260040160405180910390fd5b600080808080806115eb888a018a613ec4565b95509550955095509550955060006001600160a01b031661160b86611873565b6001600160a01b03161461164d57846040517faa7e8b32000000000000000000000000000000000000000000000000000000008152600401610ee991906134ef565b6001600160a01b0382166117b95760008560405160200161166e9190613ace565b6040516020818303038152906040528051906020012090506000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316636fc95b3460e01b8a8a8a8a886040516024016116d4959493929190613f67565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b03199094169390931790925290516117129190613ace565b600060405180830381855af49150503d806000811461174d576040519150601f19603f3d011682016040523d82523d6000602084013e611752565b606091505b50915091508161179057876040517f86d52743000000000000000000000000000000000000000000000000000000008152600401610ee991906134ef565b808060200190518101906117a49190613fad565b94506117b18860016129d3565b505050611810565b6001600160a01b0382163b611805576040517fc5ccddde0000000000000000000000000000000000000000000000000000000081526001600160a01b0383166004820152602401610ee9565b6118108560026129d3565b61181a8583612a03565b611824858261298a565b7fbf90b5a1ec9763e8bf4b9245cef0c28db92bab309fc2c5177f17814f382469388583604051611855929190613fca565b60405180910390a1505050505050505050565b6000610d8a8261297c565b6000610d8a6102db83612a45565b3330146118a1576040516314e1dbf760e11b815260040160405180910390fd5b60405163d289d1cb60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063d289d1cb906118ef9086908690600401613ff5565b600060405180830381600087803b15801561190957600080fd5b505af115801561191d573d6000803e3d6000fd5b505050507f192e759e55f359cd9832b5c0c6e38e4b6df5c5ca33f3bd5c90738e865a5218728383604051611952929190613ff5565b60405180910390a1505050565b600081815260016020526040902080546060919061197c90614009565b80601f01602080910402602001604051908101604052809291908181526020018280546119a890614009565b80156119f55780601f106119ca576101008083540402835291602001916119f5565b820191906000526020600020905b8154815290600101906020018083116119d857829003601f168201915b50505050509050919050565b6000611a5d7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60005260026020527f11141f466c69fd409e1990e063b49cd6d61ed2ecff27a2e402e259ca6b9a01a3546001600160a01b031690565b6001600160a01b03161415611a9e576040517fbf10dd3a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008080611aae84860186614044565b92509250925060006001611b097fd51dc9b187568bb94760866e1d0d066ca470037d2d331afb1a02ec74bfb8990c60009081526020527ff8d0c05cd32e3272241fdc9d5839565f8bcf94139cb4bd09e230e1b57a60ddc25490565b611b139190613e65565b9050611b66817fd51dc9b187568bb94760866e1d0d066ca470037d2d331afb1a02ec74bfb8990c60009081526020527ff8d0c05cd32e3272241fdc9d5839565f8bcf94139cb4bd09e230e1b57a60ddc255565b611b71818585612a7d565b815115610b2b5760405163d289d1cb60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063d289d1cb90611bc49085906004016134ef565b600060405180830381600087803b158015611bde57600080fd5b505af1158015611bf2573d6000803e3d6000fd5b505050507f192e759e55f359cd9832b5c0c6e38e4b6df5c5ca33f3bd5c90738e865a52187282604051611c2591906134ef565b60405180910390a1505050505050565b6000611c887fd51dc9b187568bb94760866e1d0d066ca470037d2d331afb1a02ec74bfb8990c60009081526020527ff8d0c05cd32e3272241fdc9d5839565f8bcf94139cb4bd09e230e1b57a60ddc25490565b9050611c948133612848565b611cb157604051637bfa4b9f60e01b815260040160405180910390fd5b60008036604051611cc3929190613ba2565b60405180910390209050611cd8828233612857565b15611cf657604051637c9a1cf960e01b815260040160405180910390fd5b611d0382823360016128d5565b60006001611d118484612948565b611d1b9190613e65565b9050611d28838383612957565b611d318361297c565b811015611d40575050506115b2565b866001600160a01b03163f8614611d83576040517f8f84fb2400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040516001600160a01b038816907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a28315611e9f576000876001600160a01b0316639ded06df60e01b8787604051602401611de4929190613ff5565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b0319909416939093179092529051611e229190613ace565b600060405180830381855af49150503d8060008114611e5d576040519150601f19603f3d011682016040523d82523d6000602084013e611e62565b606091505b5050905080611e9d576040517f97905dfb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505b611f16877f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60005260026020527f11141f466c69fd409e1990e063b49cd6d61ed2ecff27a2e402e259ca6b9a01a3805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03831617905550565b611f2283836000612957565b6000611f2d8461246d565b905060005b818110156115ac57611f498585611595888561247b565b611f5281613b22565b9050611f32565b611f9b3384848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525086925061252a915050565b8484604051611fab929190613ba2565b6040518091039020336001600160a01b03167f7e50569d26be643bda7757722291ec66b1be66d8283474ae3fab5a98f878a7a28b8b8b8b8b8b8b8b8b604051611ffc9998979695949392919061410f565b60405180910390a3505050505050505050565b60006120d36104498c8c8c8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050508b8b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8d018190048102820181019092528b81528e93508d9250908c908c90819084018382808284376000920191909152508c9250612491915050565b9b9a5050505050505050505050565b600081815260036020526040902080546060919061197c90614009565b6000610d8a61053f8361211461546042614177565b612bb6565b6000610d8a61044983612c0b565b60006121a46104498989898080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8d018190048102820181019092528b815292508b91508a90819084018382808284376000920191909152508a92508991506127ea9050565b98975050505050505050565b3330146121d0576040516314e1dbf760e11b815260040160405180910390fd5b600080808080806121e3888a018a614199565b9550955095509550955095506121fc8787878787612c46565b82846001600160a01b0316887f44e4f8f6bd682c5a3aeba93601ab07cb4d1f21b2aab1ae4880d9577919309aa48989878760405161223d949392919061422b565b60405180910390a4505050505050505050565b6040517f19457468657265756d205369676e6564204d6573736167653a0a3332000000006020820152603c8101829052600090605c015b604051602081830303815290604052805190602001209050919050565b6122cc6122b083612c0b565b6000908152600460205260409020805460ff1916831515179055565b5050565b60006122db84611873565b90506001600160a01b038116612306578360405163395d09bf60e11b8152600401610ee991906134ef565b6123238483612314876120ff565b61231e9190613e65565b612c56565b600261232e85612795565b600281111561233f5761233f613cba565b14156123ec576040516001600160a01b0384166024820152604481018390526000906123ab90839063a9059cbb60e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152612cd1565b9050806123e657846040517f90c52ed7000000000000000000000000000000000000000000000000000000008152600401610ee991906134ef565b506115b2565b6040517f40c10f190000000000000000000000000000000000000000000000000000000081526001600160a01b038481166004830152602482018490528216906340c10f1990604401600060405180830381600087803b15801561244f57600080fd5b505af1158015612463573d6000803e3d6000fd5b5050505050505050565b6000610d8a61053f83612d7a565b600061248a6102db8484612db5565b9392505050565b60007fb7ad972b71475860613db3ba1fe699b886c878f9002a09250dc25e769eb19a10888888888888886040516020016124d2989796959493929190614264565b604051602081830303815290604052805190602001209050979650505050505050565b60007feee9348b4aaba3647b1612b2724f18e93b9299da26fb321c7b3fda135d7dea87826040516020016122879291906142d7565b600061253583611873565b90506001600160a01b038116612560578260405163395d09bf60e11b8152600401610ee991906134ef565b81612597576040517f2c5211c600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006125a284612795565b9050600060028260028111156125ba576125ba613cba565b1415612618576040516001600160a01b0387166024820152306044820152606481018590526125f69084906323b872dd60e01b90608401612374565b905080610b2b578460405163e217b0ad60e01b8152600401610ee991906134ef565b600182600281111561262c5761262c613cba565b141561267b576040516001600160a01b0387166024820152604481018590526125f69084907f79cc67900000000000000000000000000000000000000000000000000000000090606401612374565b6040517f31eecaf4000000000000000000000000000000000000000000000000000000008152600060048201526127469084906323b872dd60e01b9089906001600160a01b038416906331eecaf49060240160206040518083038186803b1580156126e557600080fd5b505afa1580156126f9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061271d9190613fad565b6040516001600160a01b0392831660248201529116604482015260648101889052608401612374565b905080612768578460405163e217b0ad60e01b8152600401610ee991906134ef565b6040516308a1eee160e01b8152600060048201526001600160a01b038416906308a1eee19060240161119a565b60006127a361053f83612df7565b6002811115610d8a57610d8a613cba565b6127e16127c688888888888888612491565b6000908152600460205260409020805460ff19166001179055565b50505050505050565b60007f07b0d4304f82012bd3b70b1d531c160e326067c90829e2a3d386722ad10b89c38686868686604051602001612827969594939291906142fd565b60405160208183030381529060405280519060200120905095945050505050565b600061248a6104498484612e2c565b604080517f3ced7a8caf1111e0fbf4b784c5b41aebd0f2389d9f2f64d5c3424aeed3adbd3c602080830191909152818301869052606080830186905284901b6bffffffffffffffffffffffff1916608083015282518083036074018152609490920190925280519101206000906128cd90610449565b949350505050565b604080517f3ced7a8caf1111e0fbf4b784c5b41aebd0f2389d9f2f64d5c3424aeed3adbd3c602080830191909152818301879052606080830187905285901b6bffffffffffffffffffffffff1916608083015282518083036074018152609490920190925280519101206115b2906122b0565b600061248a61053f8484612e7f565b6129776129648484612e7f565b8260009182526020829052604090912055565b505050565b6000610d8a61053f83612ec1565b612996612964836124f5565b7fd99446c1d76385bb5519ccfb5274abcfd5896dfc22405e40010fde217f018a1882826040516129c7929190613aea565b60405180910390a15050565b6122cc6129df83612df7565b8260028111156129f1576129f1613cba565b60009182526020829052604090912055565b6122cc612a0f83612a45565b6000908152600260205260409020805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b038416179055565b60007fc4e632779a6a7838736dd7e5e6a0eadf171dd37dfb6230720e265576dfcf42bb826040516020016122879291906142d7565b50565b815181811015612aa05760405163f1965a0760e01b815260040160405180910390fd5b81612ad7576040517f1845300d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612ae18483612efc565b612aeb8482612f08565b60005b81811015612baf576000848281518110612b0a57612b0a613ab8565b60200260200101519050612b1e8682612848565b15612b60576040517f424926de0000000000000000000000000000000000000000000000000000000081526001600160a01b0382166004820152602401610ee9565b6001600160a01b038116612b875760405163f1965a0760e01b815260040160405180910390fd5b612b92868383612f14565b612b9e86826001612f21565b50612ba881613b22565b9050612aee565b5050505050565b60007f2f8851fe0d6d537e552a4f25b7a3167d48eb1292622c71d84630a2a44757bced8383604051602001612bed9392919061434d565b60405160208183030381529060405280519060200120905092915050565b604080517f957705a374326b30f4a1069c936d736cc9993ed6c820b4e0e2fd94a8beca0d1d6020820152908101829052600090606001612287565b612baf6127c686868686866127ea565b6000612c6183610d7c565b9050600081118015612c7257508082115b15612cab57826040517f037f60e5000000000000000000000000000000000000000000000000000000008152600401610ee991906134ef565b612977612cbe8461211461546042614177565b8360009182526020829052604090912055565b60006001600160a01b0383163b612cea57506000610d8a565b600080846001600160a01b031684604051612d059190613ace565b6000604051808303816000865af19150503d8060008114612d42576040519150601f19603f3d011682016040523d82523d6000602084013e612d47565b606091505b5091509150818015612d71575080511580612d71575080806020019051810190612d71919061382a565b95945050505050565b604080517f05112ef894367de1270cfae12afcd2285c225830eb8f74e7e938f721bb510cba6020820152908101829052600090606001612287565b604080517ff23ec0bb4210edd5cba85afd05127efcd2fc6a781bfed49188da1081670b22d8602082015290810183905260608101829052600090608001612bed565b60007fa80d2259af55890618ec2eeb3ac72de4bdba22529bb14845d8a3d712d1c3f621826040516020016122879291906142d7565b604080517f63fa879cb478fddf1de08d49e29115fb768866711bc799ff9ab419a7f16c9afb6020820152908101839052606082811b6bffffffffffffffffffffffff191690820152600090607401612bed565b604080517fbaea1c6c0f16a0a340b10a9e980806696a68ddbb5e8361fd64630dd21abf515f602082015290810183905260608101829052600090608001612bed565b604080517f79bd914addd90bd67ad800bf0230bb85ffdef5aeba5fd8249f116d3f17f4fb4b6020820152908101829052600090606001612287565b6122cc61296483612ec1565b6122cc61296483612d7a565b612977612a0f8484612db5565b6129776122b08484612e2c565b6103498061437783390190565b60008083601f840112612f4d57600080fd5b50813567ffffffffffffffff811115612f6557600080fd5b602083019150836020828501011115612f7d57600080fd5b9250929050565b60008060208385031215612f9757600080fd5b823567ffffffffffffffff811115612fae57600080fd5b612fba85828601612f3b565b90969095509350505050565b600080600060408486031215612fdb57600080fd5b833567ffffffffffffffff811115612ff257600080fd5b612ffe86828701612f3b565b909790965060209590950135949350505050565b60006020828403121561302457600080fd5b5035919050565b6020808252825182820181905260009190848201906040850190845b8181101561306c5783516001600160a01b031683529284019291840191600101613047565b50909695505050505050565b600080600080600080600080600060c08a8c03121561309657600080fd5b8935985060208a013567ffffffffffffffff808211156130b557600080fd5b6130c18d838e01612f3b565b909a50985060408c01359150808211156130da57600080fd5b6130e68d838e01612f3b565b909850965060608c0135955060808c013591508082111561310657600080fd5b506131138c828d01612f3b565b9a9d999c50979a9699959894979660a00135949350505050565b6000806000806000806060878903121561314657600080fd5b863567ffffffffffffffff8082111561315e57600080fd5b61316a8a838b01612f3b565b9098509650602089013591508082111561318357600080fd5b61318f8a838b01612f3b565b909650945060408901359150808211156131a857600080fd5b506131b589828a01612f3b565b979a9699509497509295939492505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715613206576132066131c7565b604052919050565b600067ffffffffffffffff821115613228576132286131c7565b50601f01601f191660200190565b600082601f83011261324757600080fd5b813561325a6132558261320e565b6131dd565b81815284602083860101111561326f57600080fd5b816020850160208301376000918101602001919091529392505050565b60006020828403121561329e57600080fd5b813567ffffffffffffffff8111156132b557600080fd5b6128cd84828501613236565b60008060008060008060006080888a0312156132dc57600080fd5b873567ffffffffffffffff808211156132f457600080fd5b6133008b838c01612f3b565b909950975060208a013591508082111561331957600080fd5b6133258b838c01612f3b565b909750955060408a013591508082111561333e57600080fd5b5061334b8a828b01612f3b565b989b979a50959894979596606090950135949350505050565b6000806000806000806080878903121561337d57600080fd5b86359550602087013567ffffffffffffffff8082111561339c57600080fd5b6133a88a838b01612f3b565b909750955060408901359150808211156133c157600080fd5b506133ce89828a01612f3b565b979a9699509497949695606090950135949350505050565b60008083601f8401126133f857600080fd5b50813567ffffffffffffffff81111561341057600080fd5b6020830191508360208260051b8501011115612f7d57600080fd5b6000806000806040858703121561344157600080fd5b843567ffffffffffffffff8082111561345957600080fd5b613465888389016133e6565b9096509450602087013591508082111561347e57600080fd5b5061348b878288016133e6565b95989497509550505050565b60005b838110156134b257818101518382015260200161349a565b838111156115b25750506000910152565b600081518084526134db816020860160208601613497565b601f01601f19169290920160200192915050565b60208152600061248a60208301846134c3565b6001600160a01b0381168114612a7a57600080fd5b6000806000806060858703121561352d57600080fd5b843561353881613502565b935060208501359250604085013567ffffffffffffffff81111561355b57600080fd5b61348b87828801612f3b565b600080600080600080600080600060a08a8c03121561358557600080fd5b893567ffffffffffffffff8082111561359d57600080fd5b6135a98d838e01612f3b565b909b50995060208c01359150808211156135c257600080fd5b6135ce8d838e01612f3b565b909950975060408c01359150808211156135e757600080fd5b6135f38d838e01612f3b565b909750955060608c013591508082111561360c57600080fd5b506136198c828d01612f3b565b9a9d999c50979a9699959894979660800135949350505050565b60008060008060008060008060008060e08b8d03121561365257600080fd5b8a35995060208b013567ffffffffffffffff8082111561367157600080fd5b61367d8e838f01612f3b565b909b50995060408d013591508082111561369657600080fd5b6136a28e838f01612f3b565b909950975060608d013591506136b782613502565b90955060808c0135945060a08c013590808211156136d457600080fd5b506136e18d828e01612f3b565b9150809450508092505060c08b013590509295989b9194979a5092959850565b600080600080600080600060a0888a03121561371c57600080fd5b87359650602088013567ffffffffffffffff8082111561373b57600080fd5b6137478b838c01612f3b565b909850965060408a013591508082111561376057600080fd5b5061376d8a828b01612f3b565b909550935050606088013561378181613502565b809250506080880135905092959891949750929550565b600080604083850312156137ab57600080fd5b823567ffffffffffffffff808211156137c357600080fd5b6137cf86838701613236565b935060208501359150808211156137e557600080fd5b506137f285828601613236565b9150509250929050565b8281526040602082015260006128cd60408301846134c3565b8051801515811461382557600080fd5b919050565b60006020828403121561383c57600080fd5b61248a82613815565b600067ffffffffffffffff82111561385f5761385f6131c7565b5060051b60200190565b60006138776132558461320e565b905082815283838301111561388b57600080fd5b61248a836020830184613497565b600082601f8301126138aa57600080fd5b815160206138ba61325583613845565b82815260059290921b840181019181810190868411156138d957600080fd5b8286015b8481101561133057805167ffffffffffffffff8111156138fd5760008081fd5b8701603f8101891361390f5760008081fd5b613920898683015160408401613869565b8452509183019183016138dd565b600082601f83011261393f57600080fd5b61248a83835160208501613869565b600082601f83011261395f57600080fd5b8151602061396f61325583613845565b82815260059290921b8401810191818101908684111561398e57600080fd5b8286015b8481101561133057805167ffffffffffffffff8111156139b25760008081fd5b6139c08986838b010161392e565b845250918301918301613992565b600080600080608085870312156139e457600080fd5b8451935060208086015167ffffffffffffffff80821115613a0457600080fd5b818801915088601f830112613a1857600080fd5b8151613a2661325582613845565b81815260059190911b8301840190848101908b831115613a4557600080fd5b938501935b82851015613a6357845182529385019390850190613a4a565b60408b01519098509450505080831115613a7c57600080fd5b613a8889848a01613899565b94506060880151925080831115613a9e57600080fd5b5050613aac8782880161394e565b91505092959194509250565b634e487b7160e01b600052603260045260246000fd5b60008251613ae0818460208701613497565b9190910192915050565b604081526000613afd60408301856134c3565b90508260208301529392505050565b634e487b7160e01b600052601160045260246000fd5b6000600019821415613b3657613b36613b0c565b5060010190565b803561382581613502565b600080600060608486031215613b5d57600080fd5b833567ffffffffffffffff811115613b7457600080fd5b613b8086828701613236565b9350506020840135613b9181613502565b929592945050506040919091013590565b8183823760009101908152919050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b606081526000613bef60608301888a613bb2565b8281036020840152613c02818789613bb2565b90508281036040840152613c17818587613bb2565b9998505050505050505050565b608081526000613c3860808301898b613bb2565b8281036020840152613c4b81888a613bb2565b90508281036040840152613c60818688613bb2565b91505082606083015298975050505050505050565b60008060408385031215613c8857600080fd5b823567ffffffffffffffff811115613c9f57600080fd5b613cab85828601613236565b95602094909401359450505050565b634e487b7160e01b600052602160045260246000fd5b600060208284031215613ce257600080fd5b5051919050565b6001600160a01b03831681526040602082015260006128cd60408301846134c3565b60008060408385031215613d1e57600080fd5b613d2783613815565b9150602083015167ffffffffffffffff811115613d4357600080fd5b6137f28582860161392e565b600080600080600080600080610100898b031215613d6c57600080fd5b883567ffffffffffffffff80821115613d8457600080fd5b613d908c838d01613236565b995060208b0135915080821115613da657600080fd5b613db28c838d01613236565b9850613dc060408c01613b3d565b975060608b0135965060808b0135915080821115613ddd57600080fd5b50613dea8b828c01613236565b989b979a50959894979660a0860135965060c08601359560e00135945092505050565b60c081526000613e2060c08301896134c3565b8281036020840152613e3281896134c3565b90508281036040840152613e4681886134c3565b60608401969096525050608081019290925260a0909101529392505050565b60008219821115613e7857613e78613b0c565b500190565b6000808335601e19843603018112613e9457600080fd5b83018035915067ffffffffffffffff821115613eaf57600080fd5b602001915036819003821315612f7d57600080fd5b60008060008060008060c08789031215613edd57600080fd5b863567ffffffffffffffff80821115613ef557600080fd5b613f018a838b01613236565b97506020890135915080821115613f1757600080fd5b50613f2489828a01613236565b955050604087013560ff81168114613f3b57600080fd5b9350606087013592506080870135613f5281613502565b8092505060a087013590509295509295509295565b60a081526000613f7a60a08301886134c3565b8281036020840152613f8c81886134c3565b60ff9690961660408401525050606081019290925260809091015292915050565b600060208284031215613fbf57600080fd5b815161248a81613502565b604081526000613fdd60408301856134c3565b90506001600160a01b03831660208301529392505050565b6020815260006128cd602083018486613bb2565b600181811c9082168061401d57607f821691505b6020821081141561403e57634e487b7160e01b600052602260045260246000fd5b50919050565b60008060006060848603121561405957600080fd5b833567ffffffffffffffff8082111561407157600080fd5b818601915086601f83011261408557600080fd5b8135602061409561325583613845565b82815260059290921b8401810191818101908a8411156140b457600080fd5b948201945b838610156140db5785356140cc81613502565b825294820194908201906140b9565b97505087013594505060408601359150808211156140f857600080fd5b5061410586828701613236565b9150509250925092565b60a08152600061412360a083018b8d613bb2565b8281036020840152614136818a8c613bb2565b9050828103604084015261414b81888a613bb2565b90508281036060840152614160818688613bb2565b9150508260808301529a9950505050505050505050565b60008261419457634e487b7160e01b600052601260045260246000fd5b500490565b60008060008060008060c087890312156141b257600080fd5b863567ffffffffffffffff808211156141ca57600080fd5b6141d68a838b01613236565b975060208901359150808211156141ec57600080fd5b506141f989828a01613236565b955050604087013561420a81613502565b959894975094956060810135955060808101359460a0909101359350915050565b60808152600061423e60808301876134c3565b828103602084015261425081876134c3565b604084019590955250506060015292915050565b60006101008a83528960208401528060408401526142848184018a6134c3565b9050828103606084015261429881896134c3565b90506001600160a01b03871660808401528560a084015282810360c08401526142c181866134c3565b9150508260e08301529998505050505050505050565b828152600082516142ef816020850160208701613497565b919091016020019392505050565b86815285602082015260c06040820152600061431c60c08301876134c3565b828103606084015261432e81876134c3565b6001600160a01b03959095166080840152505060a00152949350505050565b83815260606020820152600061436660608301856134c3565b905082604083015294935050505056fe6080604052600160005534801561001557600080fd5b50610324806100256000396000f3fe608060405234801561001057600080fd5b50600436106100355760003560e01c8062f55d9d1461003a5780631cff79cd1461004f575b600080fd5b61004d6100483660046101da565b610079565b005b61006261005d3660046101fc565b6100bb565b60405161007092919061027f565b60405180910390f35b6002600054141561009d5760405163caa30f5560e01b815260040160405180910390fd5b600260005573ffffffffffffffffffffffffffffffffffffffff8116ff5b60006060600260005414156100e35760405163caa30f5560e01b815260040160405180910390fd5b600260005573ffffffffffffffffffffffffffffffffffffffff85163b610136576040517f6f7c43f100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8473ffffffffffffffffffffffffffffffffffffffff16848460405161015d9291906102de565b6000604051808303816000865af19150503d806000811461019a576040519150601f19603f3d011682016040523d82523d6000602084013e61019f565b606091505b50600160005590969095509350505050565b803573ffffffffffffffffffffffffffffffffffffffff811681146101d557600080fd5b919050565b6000602082840312156101ec57600080fd5b6101f5826101b1565b9392505050565b60008060006040848603121561021157600080fd5b61021a846101b1565b9250602084013567ffffffffffffffff8082111561023757600080fd5b818601915086601f83011261024b57600080fd5b81358181111561025a57600080fd5b87602082850101111561026c57600080fd5b6020830194508093505050509250925092565b821515815260006020604081840152835180604085015260005b818110156102b557858101830151858201606001528201610299565b818111156102c7576000606083870101525b50601f01601f191692909201606001949350505050565b818382376000910190815291905056fea2646970667358221220dfb702492c35c6a884ac11997b483e3fee4ff8145c7abb0799d2a2fc8674c39364736f6c63430008090033a2646970667358221220dc548d17af80e97d180d0272635e72abcf1708c4b6eb58d2f6544f6247efb70064736f6c63430008090033", "linkReferences": {}, "deployedLinkReferences": {} } diff --git a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/AxelarGatewayProxy.sol/AxelarGatewayProxy.dbg.json b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/AxelarGatewayProxy.sol/AxelarGatewayProxy.dbg.json index d1763aed..ad925cc8 100644 --- a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/AxelarGatewayProxy.sol/AxelarGatewayProxy.dbg.json +++ b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/AxelarGatewayProxy.sol/AxelarGatewayProxy.dbg.json @@ -1,4 +1,4 @@ { "_format": "hh-sol-dbg-1", - "buildInfo": "../../../../build-info/12c9a8f7cfdae039186ba7f422bc265d.json" + "buildInfo": "../../../../build-info/3aa2fc6680ec7dd0d7e17835f8008fcc.json" } diff --git a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/AxelarGatewayProxy.sol/AxelarGatewayProxy.json b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/AxelarGatewayProxy.sol/AxelarGatewayProxy.json index 12218979..537dc754 100644 --- a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/AxelarGatewayProxy.sol/AxelarGatewayProxy.json +++ b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/AxelarGatewayProxy.sol/AxelarGatewayProxy.json @@ -24,6 +24,11 @@ "name": "InvalidImplementation", "type": "error" }, + { + "inputs": [], + "name": "NativeCurrencyNotAccepted", + "type": "error" + }, { "inputs": [], "name": "SetupFailed", @@ -165,8 +170,8 @@ "type": "receive" } ], - "bytecode": "0x608060405234801561001057600080fd5b5060405161081d38038061081d83398101604081905261002f916101cd565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60005260026020527f11141f466c69fd409e1990e063b49cd6d61ed2ecff27a2e402e259ca6b9a01a380546001600160a01b0319166001600160a01b0384161790556001600160a01b0382163b6100ba5760405163340aafcd60e11b815260040160405180910390fd5b6000826001600160a01b0316639ded06df60e01b836040516024016100df919061029b565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b031990941693909317909252905161011d91906102ce565b600060405180830381855af49150503d8060008114610158576040519150601f19603f3d011682016040523d82523d6000602084013e61015d565b606091505b505090508061017f576040516397905dfb60e01b815260040160405180910390fd5b5050506102ea565b634e487b7160e01b600052604160045260246000fd5b60005b838110156101b85781810151838201526020016101a0565b838111156101c7576000848401525b50505050565b600080604083850312156101e057600080fd5b82516001600160a01b03811681146101f757600080fd5b60208401519092506001600160401b038082111561021457600080fd5b818501915085601f83011261022857600080fd5b81518181111561023a5761023a610187565b604051601f8201601f19908116603f0116810190838211818310171561026257610262610187565b8160405282815288602084870101111561027b57600080fd5b61028c83602083016020880161019d565b80955050505050509250929050565b60208152600082518060208401526102ba81604085016020870161019d565b601f01601f19169190910160400192915050565b600082516102e081846020870161019d565b9190910192915050565b610524806102f96000396000f3fe6080604052600436106100745760003560e01c80639ded06df1161004e5780639ded06df14610240578063bd02d0f514610261578063c031a1801461029c578063dc97d962146102bc576100df565b806321f8a721146101665780637ae1cfca146101d3578063986e791a14610213576100df565b366100df576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600860248201527f4e4f5f4554484552000000000000000000000000000000000000000000000000604482015260640160405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc600090815260026020527f11141f466c69fd409e1990e063b49cd6d61ed2ecff27a2e402e259ca6b9a01a35473ffffffffffffffffffffffffffffffffffffffff169036908037600080366000845af43d6000803e808015610161573d6000f35b3d6000fd5b34801561017257600080fd5b506101a96101813660046103a8565b60009081526002602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b3480156101df57600080fd5b506102036101ee3660046103a8565b60009081526004602052604090205460ff1690565b60405190151581526020016101ca565b34801561021f57600080fd5b5061023361022e3660046103a8565b6102e9565b6040516101ca919061040e565b34801561024c57600080fd5b5061025f61025b366004610428565b5050565b005b34801561026d57600080fd5b5061028e61027c3660046103a8565b60009081526020819052604090205490565b6040519081526020016101ca565b3480156102a857600080fd5b506102336102b73660046103a8565b61038b565b3480156102c857600080fd5b5061028e6102d73660046103a8565b60009081526005602052604090205490565b60008181526001602052604090208054606091906103069061049a565b80601f01602080910402602001604051908101604052809291908181526020018280546103329061049a565b801561037f5780601f106103545761010080835404028352916020019161037f565b820191906000526020600020905b81548152906001019060200180831161036257829003601f168201915b50505050509050919050565b60008181526003602052604090208054606091906103069061049a565b6000602082840312156103ba57600080fd5b5035919050565b6000815180845260005b818110156103e7576020818501810151868301820152016103cb565b818111156103f9576000602083870101525b50601f01601f19169290920160200192915050565b60208152600061042160208301846103c1565b9392505050565b6000806020838503121561043b57600080fd5b823567ffffffffffffffff8082111561045357600080fd5b818501915085601f83011261046757600080fd5b81358181111561047657600080fd5b86602082850101111561048857600080fd5b60209290920196919550909350505050565b600181811c908216806104ae57607f821691505b602082108114156104e8577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b5091905056fea2646970667358221220da07925d887eb3a3e5cdb417a9a47311901fe909db7c0170b70bfd6b54e3f5d764736f6c63430008090033", - "deployedBytecode": "0x6080604052600436106100745760003560e01c80639ded06df1161004e5780639ded06df14610240578063bd02d0f514610261578063c031a1801461029c578063dc97d962146102bc576100df565b806321f8a721146101665780637ae1cfca146101d3578063986e791a14610213576100df565b366100df576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600860248201527f4e4f5f4554484552000000000000000000000000000000000000000000000000604482015260640160405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc600090815260026020527f11141f466c69fd409e1990e063b49cd6d61ed2ecff27a2e402e259ca6b9a01a35473ffffffffffffffffffffffffffffffffffffffff169036908037600080366000845af43d6000803e808015610161573d6000f35b3d6000fd5b34801561017257600080fd5b506101a96101813660046103a8565b60009081526002602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b3480156101df57600080fd5b506102036101ee3660046103a8565b60009081526004602052604090205460ff1690565b60405190151581526020016101ca565b34801561021f57600080fd5b5061023361022e3660046103a8565b6102e9565b6040516101ca919061040e565b34801561024c57600080fd5b5061025f61025b366004610428565b5050565b005b34801561026d57600080fd5b5061028e61027c3660046103a8565b60009081526020819052604090205490565b6040519081526020016101ca565b3480156102a857600080fd5b506102336102b73660046103a8565b61038b565b3480156102c857600080fd5b5061028e6102d73660046103a8565b60009081526005602052604090205490565b60008181526001602052604090208054606091906103069061049a565b80601f01602080910402602001604051908101604052809291908181526020018280546103329061049a565b801561037f5780601f106103545761010080835404028352916020019161037f565b820191906000526020600020905b81548152906001019060200180831161036257829003601f168201915b50505050509050919050565b60008181526003602052604090208054606091906103069061049a565b6000602082840312156103ba57600080fd5b5035919050565b6000815180845260005b818110156103e7576020818501810151868301820152016103cb565b818111156103f9576000602083870101525b50601f01601f19169290920160200192915050565b60208152600061042160208301846103c1565b9392505050565b6000806020838503121561043b57600080fd5b823567ffffffffffffffff8082111561045357600080fd5b818501915085601f83011261046757600080fd5b81358181111561047657600080fd5b86602082850101111561048857600080fd5b60209290920196919550909350505050565b600181811c908216806104ae57607f821691505b602082108114156104e8577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b5091905056fea2646970667358221220da07925d887eb3a3e5cdb417a9a47311901fe909db7c0170b70bfd6b54e3f5d764736f6c63430008090033", + "bytecode": "0x608060405234801561001057600080fd5b506040516107e93803806107e983398101604081905261002f916101cd565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60005260026020527f11141f466c69fd409e1990e063b49cd6d61ed2ecff27a2e402e259ca6b9a01a380546001600160a01b0319166001600160a01b0384161790556001600160a01b0382163b6100ba5760405163340aafcd60e11b815260040160405180910390fd5b6000826001600160a01b0316639ded06df60e01b836040516024016100df919061029b565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b031990941693909317909252905161011d91906102ce565b600060405180830381855af49150503d8060008114610158576040519150601f19603f3d011682016040523d82523d6000602084013e61015d565b606091505b505090508061017f576040516397905dfb60e01b815260040160405180910390fd5b5050506102ea565b634e487b7160e01b600052604160045260246000fd5b60005b838110156101b85781810151838201526020016101a0565b838111156101c7576000848401525b50505050565b600080604083850312156101e057600080fd5b82516001600160a01b03811681146101f757600080fd5b60208401519092506001600160401b038082111561021457600080fd5b818501915085601f83011261022857600080fd5b81518181111561023a5761023a610187565b604051601f8201601f19908116603f0116810190838211818310171561026257610262610187565b8160405282815288602084870101111561027b57600080fd5b61028c83602083016020880161019d565b80955050505050509250929050565b60208152600082518060208401526102ba81604085016020870161019d565b601f01601f19169190910160400192915050565b600082516102e081846020870161019d565b9190910192915050565b6104f0806102f96000396000f3fe6080604052600436106100745760003560e01c80639ded06df1161004e5780639ded06df1461020c578063bd02d0f51461022d578063c031a18014610268578063dc97d96214610288576100ab565b806321f8a721146101325780637ae1cfca1461019f578063986e791a146101df576100ab565b366100ab576040517f858d70bd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc600090815260026020527f11141f466c69fd409e1990e063b49cd6d61ed2ecff27a2e402e259ca6b9a01a35473ffffffffffffffffffffffffffffffffffffffff169036908037600080366000845af43d6000803e80801561012d573d6000f35b3d6000fd5b34801561013e57600080fd5b5061017561014d366004610374565b60009081526002602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b3480156101ab57600080fd5b506101cf6101ba366004610374565b60009081526004602052604090205460ff1690565b6040519015158152602001610196565b3480156101eb57600080fd5b506101ff6101fa366004610374565b6102b5565b60405161019691906103da565b34801561021857600080fd5b5061022b6102273660046103f4565b5050565b005b34801561023957600080fd5b5061025a610248366004610374565b60009081526020819052604090205490565b604051908152602001610196565b34801561027457600080fd5b506101ff610283366004610374565b610357565b34801561029457600080fd5b5061025a6102a3366004610374565b60009081526005602052604090205490565b60008181526001602052604090208054606091906102d290610466565b80601f01602080910402602001604051908101604052809291908181526020018280546102fe90610466565b801561034b5780601f106103205761010080835404028352916020019161034b565b820191906000526020600020905b81548152906001019060200180831161032e57829003601f168201915b50505050509050919050565b60008181526003602052604090208054606091906102d290610466565b60006020828403121561038657600080fd5b5035919050565b6000815180845260005b818110156103b357602081850181015186830182015201610397565b818111156103c5576000602083870101525b50601f01601f19169290920160200192915050565b6020815260006103ed602083018461038d565b9392505050565b6000806020838503121561040757600080fd5b823567ffffffffffffffff8082111561041f57600080fd5b818501915085601f83011261043357600080fd5b81358181111561044257600080fd5b86602082850101111561045457600080fd5b60209290920196919550909350505050565b600181811c9082168061047a57607f821691505b602082108114156104b4577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b5091905056fea2646970667358221220fd6cfb26423ca357ce6ba49b124ceb7fd46b20b0659b30b17529b45a13a0d34564736f6c63430008090033", + "deployedBytecode": "0x6080604052600436106100745760003560e01c80639ded06df1161004e5780639ded06df1461020c578063bd02d0f51461022d578063c031a18014610268578063dc97d96214610288576100ab565b806321f8a721146101325780637ae1cfca1461019f578063986e791a146101df576100ab565b366100ab576040517f858d70bd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc600090815260026020527f11141f466c69fd409e1990e063b49cd6d61ed2ecff27a2e402e259ca6b9a01a35473ffffffffffffffffffffffffffffffffffffffff169036908037600080366000845af43d6000803e80801561012d573d6000f35b3d6000fd5b34801561013e57600080fd5b5061017561014d366004610374565b60009081526002602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b3480156101ab57600080fd5b506101cf6101ba366004610374565b60009081526004602052604090205460ff1690565b6040519015158152602001610196565b3480156101eb57600080fd5b506101ff6101fa366004610374565b6102b5565b60405161019691906103da565b34801561021857600080fd5b5061022b6102273660046103f4565b5050565b005b34801561023957600080fd5b5061025a610248366004610374565b60009081526020819052604090205490565b604051908152602001610196565b34801561027457600080fd5b506101ff610283366004610374565b610357565b34801561029457600080fd5b5061025a6102a3366004610374565b60009081526005602052604090205490565b60008181526001602052604090208054606091906102d290610466565b80601f01602080910402602001604051908101604052809291908181526020018280546102fe90610466565b801561034b5780601f106103205761010080835404028352916020019161034b565b820191906000526020600020905b81548152906001019060200180831161032e57829003601f168201915b50505050509050919050565b60008181526003602052604090208054606091906102d290610466565b60006020828403121561038657600080fd5b5035919050565b6000815180845260005b818110156103b357602081850181015186830182015201610397565b818111156103c5576000602083870101525b50601f01601f19169290920160200192915050565b6020815260006103ed602083018461038d565b9392505050565b6000806020838503121561040757600080fd5b823567ffffffffffffffff8082111561041f57600080fd5b818501915085601f83011261043357600080fd5b81358181111561044257600080fd5b86602082850101111561045457600080fd5b60209290920196919550909350505050565b600181811c9082168061047a57607f821691505b602082108114156104b4577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b5091905056fea2646970667358221220fd6cfb26423ca357ce6ba49b124ceb7fd46b20b0659b30b17529b45a13a0d34564736f6c63430008090033", "linkReferences": {}, "deployedLinkReferences": {} } diff --git a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/BurnableMintableCappedERC20.sol/BurnableMintableCappedERC20.dbg.json b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/BurnableMintableCappedERC20.sol/BurnableMintableCappedERC20.dbg.json index d1763aed..ad925cc8 100644 --- a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/BurnableMintableCappedERC20.sol/BurnableMintableCappedERC20.dbg.json +++ b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/BurnableMintableCappedERC20.sol/BurnableMintableCappedERC20.dbg.json @@ -1,4 +1,4 @@ { "_format": "hh-sol-dbg-1", - "buildInfo": "../../../../build-info/12c9a8f7cfdae039186ba7f422bc265d.json" + "buildInfo": "../../../../build-info/3aa2fc6680ec7dd0d7e17835f8008fcc.json" } diff --git a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/BurnableMintableCappedERC20.sol/BurnableMintableCappedERC20.json b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/BurnableMintableCappedERC20.sol/BurnableMintableCappedERC20.json index 1db16e4f..d38194c1 100644 --- a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/BurnableMintableCappedERC20.sol/BurnableMintableCappedERC20.json +++ b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/BurnableMintableCappedERC20.sol/BurnableMintableCappedERC20.json @@ -541,8 +541,8 @@ "type": "function" } ], - "bytecode": "0x60e06040523480156200001157600080fd5b5060405162001837380380620018378339810160408190526200003491620002e1565b83838383838484848260039080519060200190620000549291906200016e565b5081516200006a9060049060208501906200016e565b5060ff166080908152835160208086019190912060408051808201825260018152603160f81b9084015280517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f938101939093528201527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6606082015246918101919091523060a082015260c0019150620001029050565b60408051601f1981840301815290829052805160209091012060a052600680546001600160a01b0319163390811790915591506000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a360c05250620003a995505050505050565b8280546200017c906200036c565b90600052602060002090601f016020900481019282620001a05760008555620001eb565b82601f10620001bb57805160ff1916838001178555620001eb565b82800160010185558215620001eb579182015b82811115620001eb578251825591602001919060010190620001ce565b50620001f9929150620001fd565b5090565b5b80821115620001f95760008155600101620001fe565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200023c57600080fd5b81516001600160401b038082111562000259576200025962000214565b604051601f8301601f19908116603f0116810190828211818310171562000284576200028462000214565b81604052838152602092508683858801011115620002a157600080fd5b600091505b83821015620002c55785820183015181830184015290820190620002a6565b83821115620002d75760008385830101525b9695505050505050565b60008060008060808587031215620002f857600080fd5b84516001600160401b03808211156200031057600080fd5b6200031e888389016200022a565b955060208701519150808211156200033557600080fd5b5062000344878288016200022a565b935050604085015160ff811681146200035c57600080fd5b6060959095015193969295505050565b600181811c908216806200038157607f821691505b60208210811415620003a357634e487b7160e01b600052602260045260246000fd5b50919050565b60805160a05160c051611450620003e760003960008181610265015261067301526000818161028c01526108de0152600061020101526114506000f3fe608060405234801561001057600080fd5b50600436106101775760003560e01c806340c10f19116100d857806395d89b411161008c578063d505accf11610066578063d505accf14610368578063dd62ed3e1461037b578063f2fde38b146103a657600080fd5b806395d89b411461033a578063a457c2d714610342578063a9059cbb1461035557600080fd5b806379cc6790116100bd57806379cc6790146102f45780637ecebe00146103075780638da5cb5b1461032757600080fd5b806340c10f19146102c157806370a08231146102d457600080fd5b8063313ce5671161012f578063355274ea11610114578063355274ea146102605780633644e5151461028757806339509351146102ae57600080fd5b8063313ce567146101fc57806331eecaf41461023557600080fd5b8063095ea7b311610160578063095ea7b3146101af57806318160ddd146101d257806323b872dd146101e957600080fd5b806306fdde031461017c57806308a1eee11461019a575b600080fd5b6101846103b9565b6040516101919190610e5d565b60405180910390f35b6101ad6101a8366004610e90565b610447565b005b6101c26101bd366004610ec5565b6104a8565b6040519015158152602001610191565b6101db60025481565b604051908152602001610191565b6101c26101f7366004610eef565b6104be565b6102237f000000000000000000000000000000000000000000000000000000000000000081565b60405160ff9091168152602001610191565b610248610243366004610e90565b610515565b6040516001600160a01b039091168152602001610191565b6101db7f000000000000000000000000000000000000000000000000000000000000000081565b6101db7f000000000000000000000000000000000000000000000000000000000000000081565b6101c26102bc366004610ec5565b61060f565b6101ad6102cf366004610ec5565b610646565b6101db6102e2366004610f2b565b60006020819052908152604090205481565b6101ad610302366004610ec5565b6106e7565b6101db610315366004610f2b565b60056020526000908152604090205481565b600654610248906001600160a01b031681565b610184610758565b6101c2610350366004610ec5565b610765565b6101c2610363366004610ec5565b61079c565b6101ad610376366004610f4d565b6107a9565b6101db610389366004610fc0565b600160209081526000928352604080842090915290825290205481565b6101ad6103b4366004610f2b565b610a6c565b600380546103c690610ff3565b80601f01602080910402602001604051908101604052809291908181526020018280546103f290610ff3565b801561043f5780601f106104145761010080835404028352916020019161043f565b820191906000526020600020905b81548152906001019060200180831161042257829003601f168201915b505050505081565b6006546001600160a01b03163314610472576040516330cd747160e01b815260040160405180910390fd5b600061047d82610515565b6001600160a01b0381166000908152602081905260409020549091506104a4908290610b4b565b5050565b60006104b5338484610bfe565b50600192915050565b6001600160a01b038316600090815260016020908152604080832033845290915281205460001981146104ff576104ff85336104fa8685611044565b610bfe565b61050a858585610c9b565b506001949350505050565b6006546040516000917fff00000000000000000000000000000000000000000000000000000000000000916001600160a01b0390911690849061055a60208201610e20565b601f1982820381018352601f90910116604081905261057c919060200161105b565b604051602081830303815290604052805190602001206040516020016105f194939291907fff0000000000000000000000000000000000000000000000000000000000000094909416845260609290921b6bffffffffffffffffffffffff191660018401526015830152603582015260550190565b60408051601f19818403018152919052805160209091012092915050565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916104b59185906104fa908690611077565b6006546001600160a01b03163314610671576040516330cd747160e01b815260040160405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000061069c8383610d77565b806106a657505050565b8060025411156106e2576040517fa4875a4900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050565b6006546001600160a01b03163314610712576040516330cd747160e01b815260040160405180910390fd5b6001600160a01b0382166000908152600160209081526040808320338452909152902054600019811461074e5761074e83336104fa8585611044565b6106e28383610b4b565b600480546103c690610ff3565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916104b59185906104fa908690611044565b60006104b5338484610c9b565b834211156107e3576040517f1a15a3cc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a081111561083d576040517f40c1e74800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8260ff16601b1415801561085557508260ff16601c14155b1561088c576040517f119bce3900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080518082018252600281527f19010000000000000000000000000000000000000000000000000000000000006020808301919091526001600160a01b038a166000908152600590915291822080547f0000000000000000000000000000000000000000000000000000000000000000917f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9918c918c918c91886109308361108f565b909155506040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810188905260e00160405160208183030381529060405280519060200120604051602001610994939291906110aa565b60408051601f198184030181528282528051602091820120600080855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa1580156109ff573d6000803e3d6000fd5b505050602060405103519050886001600160a01b0316816001600160a01b031614610a56576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610a61898989610bfe565b505050505050505050565b6006546001600160a01b03163314610a97576040516330cd747160e01b815260040160405180910390fd5b6001600160a01b038116610ad7576040517f49e27cff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6006546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600680547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b6001600160a01b038216610b7257604051630da30f6560e31b815260040160405180910390fd5b6001600160a01b03821660009081526020819052604081208054839290610b9a908490611044565b925050819055508060026000828254610bb39190611044565b90915550506040518181526000906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906020015b60405180910390a35050565b6001600160a01b0383161580610c1b57506001600160a01b038216155b15610c3957604051630da30f6560e31b815260040160405180910390fd5b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b0383161580610cb857506001600160a01b038216155b15610cd657604051630da30f6560e31b815260040160405180910390fd5b6001600160a01b03831660009081526020819052604081208054839290610cfe908490611044565b90915550506001600160a01b03821660009081526020819052604081208054839290610d2b908490611077565b92505081905550816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610c8e91815260200190565b6001600160a01b038216610d9e57604051630da30f6560e31b815260040160405180910390fd5b8060026000828254610db09190611077565b90915550506001600160a01b03821660009081526020819052604081208054839290610ddd908490611077565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90602001610bf2565b610349806110d283390190565b60005b83811015610e48578181015183820152602001610e30565b83811115610e57576000848401525b50505050565b6020815260008251806020840152610e7c816040850160208701610e2d565b601f01601f19169190910160400192915050565b600060208284031215610ea257600080fd5b5035919050565b80356001600160a01b0381168114610ec057600080fd5b919050565b60008060408385031215610ed857600080fd5b610ee183610ea9565b946020939093013593505050565b600080600060608486031215610f0457600080fd5b610f0d84610ea9565b9250610f1b60208501610ea9565b9150604084013590509250925092565b600060208284031215610f3d57600080fd5b610f4682610ea9565b9392505050565b600080600080600080600060e0888a031215610f6857600080fd5b610f7188610ea9565b9650610f7f60208901610ea9565b95506040880135945060608801359350608088013560ff81168114610fa357600080fd5b9699959850939692959460a0840135945060c09093013592915050565b60008060408385031215610fd357600080fd5b610fdc83610ea9565b9150610fea60208401610ea9565b90509250929050565b600181811c9082168061100757607f821691505b6020821081141561102857634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b6000828210156110565761105661102e565b500390565b6000825161106d818460208701610e2d565b9190910192915050565b6000821982111561108a5761108a61102e565b500190565b60006000198214156110a3576110a361102e565b5060010190565b600084516110bc818460208901610e2d565b9190910192835250602082015260400191905056fe6080604052600160005534801561001557600080fd5b50610324806100256000396000f3fe608060405234801561001057600080fd5b50600436106100355760003560e01c8062f55d9d1461003a5780631cff79cd1461004f575b600080fd5b61004d6100483660046101da565b610079565b005b61006261005d3660046101fc565b6100bb565b60405161007092919061027f565b60405180910390f35b6002600054141561009d5760405163caa30f5560e01b815260040160405180910390fd5b600260005573ffffffffffffffffffffffffffffffffffffffff8116ff5b60006060600260005414156100e35760405163caa30f5560e01b815260040160405180910390fd5b600260005573ffffffffffffffffffffffffffffffffffffffff85163b610136576040517f6f7c43f100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8473ffffffffffffffffffffffffffffffffffffffff16848460405161015d9291906102de565b6000604051808303816000865af19150503d806000811461019a576040519150601f19603f3d011682016040523d82523d6000602084013e61019f565b606091505b50600160005590969095509350505050565b803573ffffffffffffffffffffffffffffffffffffffff811681146101d557600080fd5b919050565b6000602082840312156101ec57600080fd5b6101f5826101b1565b9392505050565b60008060006040848603121561021157600080fd5b61021a846101b1565b9250602084013567ffffffffffffffff8082111561023757600080fd5b818601915086601f83011261024b57600080fd5b81358181111561025a57600080fd5b87602082850101111561026c57600080fd5b6020830194508093505050509250925092565b821515815260006020604081840152835180604085015260005b818110156102b557858101830151858201606001528201610299565b818111156102c7576000606083870101525b50601f01601f191692909201606001949350505050565b818382376000910190815291905056fea2646970667358221220dfb702492c35c6a884ac11997b483e3fee4ff8145c7abb0799d2a2fc8674c39364736f6c63430008090033a2646970667358221220a0862d822c5e76c8687a97d9d537ec0e3da210445e2873be021a84f7cd0a8dd464736f6c63430008090033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101775760003560e01c806340c10f19116100d857806395d89b411161008c578063d505accf11610066578063d505accf14610368578063dd62ed3e1461037b578063f2fde38b146103a657600080fd5b806395d89b411461033a578063a457c2d714610342578063a9059cbb1461035557600080fd5b806379cc6790116100bd57806379cc6790146102f45780637ecebe00146103075780638da5cb5b1461032757600080fd5b806340c10f19146102c157806370a08231146102d457600080fd5b8063313ce5671161012f578063355274ea11610114578063355274ea146102605780633644e5151461028757806339509351146102ae57600080fd5b8063313ce567146101fc57806331eecaf41461023557600080fd5b8063095ea7b311610160578063095ea7b3146101af57806318160ddd146101d257806323b872dd146101e957600080fd5b806306fdde031461017c57806308a1eee11461019a575b600080fd5b6101846103b9565b6040516101919190610e5d565b60405180910390f35b6101ad6101a8366004610e90565b610447565b005b6101c26101bd366004610ec5565b6104a8565b6040519015158152602001610191565b6101db60025481565b604051908152602001610191565b6101c26101f7366004610eef565b6104be565b6102237f000000000000000000000000000000000000000000000000000000000000000081565b60405160ff9091168152602001610191565b610248610243366004610e90565b610515565b6040516001600160a01b039091168152602001610191565b6101db7f000000000000000000000000000000000000000000000000000000000000000081565b6101db7f000000000000000000000000000000000000000000000000000000000000000081565b6101c26102bc366004610ec5565b61060f565b6101ad6102cf366004610ec5565b610646565b6101db6102e2366004610f2b565b60006020819052908152604090205481565b6101ad610302366004610ec5565b6106e7565b6101db610315366004610f2b565b60056020526000908152604090205481565b600654610248906001600160a01b031681565b610184610758565b6101c2610350366004610ec5565b610765565b6101c2610363366004610ec5565b61079c565b6101ad610376366004610f4d565b6107a9565b6101db610389366004610fc0565b600160209081526000928352604080842090915290825290205481565b6101ad6103b4366004610f2b565b610a6c565b600380546103c690610ff3565b80601f01602080910402602001604051908101604052809291908181526020018280546103f290610ff3565b801561043f5780601f106104145761010080835404028352916020019161043f565b820191906000526020600020905b81548152906001019060200180831161042257829003601f168201915b505050505081565b6006546001600160a01b03163314610472576040516330cd747160e01b815260040160405180910390fd5b600061047d82610515565b6001600160a01b0381166000908152602081905260409020549091506104a4908290610b4b565b5050565b60006104b5338484610bfe565b50600192915050565b6001600160a01b038316600090815260016020908152604080832033845290915281205460001981146104ff576104ff85336104fa8685611044565b610bfe565b61050a858585610c9b565b506001949350505050565b6006546040516000917fff00000000000000000000000000000000000000000000000000000000000000916001600160a01b0390911690849061055a60208201610e20565b601f1982820381018352601f90910116604081905261057c919060200161105b565b604051602081830303815290604052805190602001206040516020016105f194939291907fff0000000000000000000000000000000000000000000000000000000000000094909416845260609290921b6bffffffffffffffffffffffff191660018401526015830152603582015260550190565b60408051601f19818403018152919052805160209091012092915050565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916104b59185906104fa908690611077565b6006546001600160a01b03163314610671576040516330cd747160e01b815260040160405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000061069c8383610d77565b806106a657505050565b8060025411156106e2576040517fa4875a4900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050565b6006546001600160a01b03163314610712576040516330cd747160e01b815260040160405180910390fd5b6001600160a01b0382166000908152600160209081526040808320338452909152902054600019811461074e5761074e83336104fa8585611044565b6106e28383610b4b565b600480546103c690610ff3565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916104b59185906104fa908690611044565b60006104b5338484610c9b565b834211156107e3576040517f1a15a3cc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a081111561083d576040517f40c1e74800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8260ff16601b1415801561085557508260ff16601c14155b1561088c576040517f119bce3900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080518082018252600281527f19010000000000000000000000000000000000000000000000000000000000006020808301919091526001600160a01b038a166000908152600590915291822080547f0000000000000000000000000000000000000000000000000000000000000000917f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9918c918c918c91886109308361108f565b909155506040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810188905260e00160405160208183030381529060405280519060200120604051602001610994939291906110aa565b60408051601f198184030181528282528051602091820120600080855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa1580156109ff573d6000803e3d6000fd5b505050602060405103519050886001600160a01b0316816001600160a01b031614610a56576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610a61898989610bfe565b505050505050505050565b6006546001600160a01b03163314610a97576040516330cd747160e01b815260040160405180910390fd5b6001600160a01b038116610ad7576040517f49e27cff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6006546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600680547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b6001600160a01b038216610b7257604051630da30f6560e31b815260040160405180910390fd5b6001600160a01b03821660009081526020819052604081208054839290610b9a908490611044565b925050819055508060026000828254610bb39190611044565b90915550506040518181526000906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906020015b60405180910390a35050565b6001600160a01b0383161580610c1b57506001600160a01b038216155b15610c3957604051630da30f6560e31b815260040160405180910390fd5b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b0383161580610cb857506001600160a01b038216155b15610cd657604051630da30f6560e31b815260040160405180910390fd5b6001600160a01b03831660009081526020819052604081208054839290610cfe908490611044565b90915550506001600160a01b03821660009081526020819052604081208054839290610d2b908490611077565b92505081905550816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610c8e91815260200190565b6001600160a01b038216610d9e57604051630da30f6560e31b815260040160405180910390fd5b8060026000828254610db09190611077565b90915550506001600160a01b03821660009081526020819052604081208054839290610ddd908490611077565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90602001610bf2565b610349806110d283390190565b60005b83811015610e48578181015183820152602001610e30565b83811115610e57576000848401525b50505050565b6020815260008251806020840152610e7c816040850160208701610e2d565b601f01601f19169190910160400192915050565b600060208284031215610ea257600080fd5b5035919050565b80356001600160a01b0381168114610ec057600080fd5b919050565b60008060408385031215610ed857600080fd5b610ee183610ea9565b946020939093013593505050565b600080600060608486031215610f0457600080fd5b610f0d84610ea9565b9250610f1b60208501610ea9565b9150604084013590509250925092565b600060208284031215610f3d57600080fd5b610f4682610ea9565b9392505050565b600080600080600080600060e0888a031215610f6857600080fd5b610f7188610ea9565b9650610f7f60208901610ea9565b95506040880135945060608801359350608088013560ff81168114610fa357600080fd5b9699959850939692959460a0840135945060c09093013592915050565b60008060408385031215610fd357600080fd5b610fdc83610ea9565b9150610fea60208401610ea9565b90509250929050565b600181811c9082168061100757607f821691505b6020821081141561102857634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b6000828210156110565761105661102e565b500390565b6000825161106d818460208701610e2d565b9190910192915050565b6000821982111561108a5761108a61102e565b500190565b60006000198214156110a3576110a361102e565b5060010190565b600084516110bc818460208901610e2d565b9190910192835250602082015260400191905056fe6080604052600160005534801561001557600080fd5b50610324806100256000396000f3fe608060405234801561001057600080fd5b50600436106100355760003560e01c8062f55d9d1461003a5780631cff79cd1461004f575b600080fd5b61004d6100483660046101da565b610079565b005b61006261005d3660046101fc565b6100bb565b60405161007092919061027f565b60405180910390f35b6002600054141561009d5760405163caa30f5560e01b815260040160405180910390fd5b600260005573ffffffffffffffffffffffffffffffffffffffff8116ff5b60006060600260005414156100e35760405163caa30f5560e01b815260040160405180910390fd5b600260005573ffffffffffffffffffffffffffffffffffffffff85163b610136576040517f6f7c43f100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8473ffffffffffffffffffffffffffffffffffffffff16848460405161015d9291906102de565b6000604051808303816000865af19150503d806000811461019a576040519150601f19603f3d011682016040523d82523d6000602084013e61019f565b606091505b50600160005590969095509350505050565b803573ffffffffffffffffffffffffffffffffffffffff811681146101d557600080fd5b919050565b6000602082840312156101ec57600080fd5b6101f5826101b1565b9392505050565b60008060006040848603121561021157600080fd5b61021a846101b1565b9250602084013567ffffffffffffffff8082111561023757600080fd5b818601915086601f83011261024b57600080fd5b81358181111561025a57600080fd5b87602082850101111561026c57600080fd5b6020830194508093505050509250925092565b821515815260006020604081840152835180604085015260005b818110156102b557858101830151858201606001528201610299565b818111156102c7576000606083870101525b50601f01601f191692909201606001949350505050565b818382376000910190815291905056fea2646970667358221220dfb702492c35c6a884ac11997b483e3fee4ff8145c7abb0799d2a2fc8674c39364736f6c63430008090033a2646970667358221220a0862d822c5e76c8687a97d9d537ec0e3da210445e2873be021a84f7cd0a8dd464736f6c63430008090033", + "bytecode": "0x60e06040523480156200001157600080fd5b5060405162001837380380620018378339810160408190526200003491620002e1565b83838383838484848260039080519060200190620000549291906200016e565b5081516200006a9060049060208501906200016e565b5060ff166080908152835160208086019190912060408051808201825260018152603160f81b9084015280517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f938101939093528201527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6606082015246918101919091523060a082015260c0019150620001029050565b60408051601f1981840301815290829052805160209091012060a052600680546001600160a01b0319163390811790915591506000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a360c05250620003a995505050505050565b8280546200017c906200036c565b90600052602060002090601f016020900481019282620001a05760008555620001eb565b82601f10620001bb57805160ff1916838001178555620001eb565b82800160010185558215620001eb579182015b82811115620001eb578251825591602001919060010190620001ce565b50620001f9929150620001fd565b5090565b5b80821115620001f95760008155600101620001fe565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200023c57600080fd5b81516001600160401b038082111562000259576200025962000214565b604051601f8301601f19908116603f0116810190828211818310171562000284576200028462000214565b81604052838152602092508683858801011115620002a157600080fd5b600091505b83821015620002c55785820183015181830184015290820190620002a6565b83821115620002d75760008385830101525b9695505050505050565b60008060008060808587031215620002f857600080fd5b84516001600160401b03808211156200031057600080fd5b6200031e888389016200022a565b955060208701519150808211156200033557600080fd5b5062000344878288016200022a565b935050604085015160ff811681146200035c57600080fd5b6060959095015193969295505050565b600181811c908216806200038157607f821691505b60208210811415620003a357634e487b7160e01b600052602260045260246000fd5b50919050565b60805160a05160c051611450620003e760003960008181610265015261067301526000818161028c01526108de0152600061020101526114506000f3fe608060405234801561001057600080fd5b50600436106101775760003560e01c806340c10f19116100d857806395d89b411161008c578063d505accf11610066578063d505accf14610368578063dd62ed3e1461037b578063f2fde38b146103a657600080fd5b806395d89b411461033a578063a457c2d714610342578063a9059cbb1461035557600080fd5b806379cc6790116100bd57806379cc6790146102f45780637ecebe00146103075780638da5cb5b1461032757600080fd5b806340c10f19146102c157806370a08231146102d457600080fd5b8063313ce5671161012f578063355274ea11610114578063355274ea146102605780633644e5151461028757806339509351146102ae57600080fd5b8063313ce567146101fc57806331eecaf41461023557600080fd5b8063095ea7b311610160578063095ea7b3146101af57806318160ddd146101d257806323b872dd146101e957600080fd5b806306fdde031461017c57806308a1eee11461019a575b600080fd5b6101846103b9565b6040516101919190610e5d565b60405180910390f35b6101ad6101a8366004610e90565b610447565b005b6101c26101bd366004610ec5565b6104a8565b6040519015158152602001610191565b6101db60025481565b604051908152602001610191565b6101c26101f7366004610eef565b6104be565b6102237f000000000000000000000000000000000000000000000000000000000000000081565b60405160ff9091168152602001610191565b610248610243366004610e90565b610515565b6040516001600160a01b039091168152602001610191565b6101db7f000000000000000000000000000000000000000000000000000000000000000081565b6101db7f000000000000000000000000000000000000000000000000000000000000000081565b6101c26102bc366004610ec5565b61060f565b6101ad6102cf366004610ec5565b610646565b6101db6102e2366004610f2b565b60006020819052908152604090205481565b6101ad610302366004610ec5565b6106e7565b6101db610315366004610f2b565b60056020526000908152604090205481565b600654610248906001600160a01b031681565b610184610758565b6101c2610350366004610ec5565b610765565b6101c2610363366004610ec5565b61079c565b6101ad610376366004610f4d565b6107a9565b6101db610389366004610fc0565b600160209081526000928352604080842090915290825290205481565b6101ad6103b4366004610f2b565b610a6c565b600380546103c690610ff3565b80601f01602080910402602001604051908101604052809291908181526020018280546103f290610ff3565b801561043f5780601f106104145761010080835404028352916020019161043f565b820191906000526020600020905b81548152906001019060200180831161042257829003601f168201915b505050505081565b6006546001600160a01b03163314610472576040516330cd747160e01b815260040160405180910390fd5b600061047d82610515565b6001600160a01b0381166000908152602081905260409020549091506104a4908290610b4b565b5050565b60006104b5338484610bfe565b50600192915050565b6001600160a01b038316600090815260016020908152604080832033845290915281205460001981146104ff576104ff85336104fa8685611044565b610bfe565b61050a858585610c9b565b506001949350505050565b6006546040516000917fff00000000000000000000000000000000000000000000000000000000000000916001600160a01b0390911690849061055a60208201610e20565b601f1982820381018352601f90910116604081905261057c919060200161105b565b604051602081830303815290604052805190602001206040516020016105f194939291907fff0000000000000000000000000000000000000000000000000000000000000094909416845260609290921b6bffffffffffffffffffffffff191660018401526015830152603582015260550190565b60408051601f19818403018152919052805160209091012092915050565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916104b59185906104fa908690611077565b6006546001600160a01b03163314610671576040516330cd747160e01b815260040160405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000061069c8383610d77565b806106a657505050565b8060025411156106e2576040517fa4875a4900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050565b6006546001600160a01b03163314610712576040516330cd747160e01b815260040160405180910390fd5b6001600160a01b0382166000908152600160209081526040808320338452909152902054600019811461074e5761074e83336104fa8585611044565b6106e28383610b4b565b600480546103c690610ff3565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916104b59185906104fa908690611044565b60006104b5338484610c9b565b834211156107e3576040517f1a15a3cc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a081111561083d576040517f40c1e74800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8260ff16601b1415801561085557508260ff16601c14155b1561088c576040517f119bce3900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080518082018252600281527f19010000000000000000000000000000000000000000000000000000000000006020808301919091526001600160a01b038a166000908152600590915291822080547f0000000000000000000000000000000000000000000000000000000000000000917f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9918c918c918c91886109308361108f565b909155506040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810188905260e00160405160208183030381529060405280519060200120604051602001610994939291906110aa565b60408051601f198184030181528282528051602091820120600080855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa1580156109ff573d6000803e3d6000fd5b505050602060405103519050886001600160a01b0316816001600160a01b031614610a56576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610a61898989610bfe565b505050505050505050565b6006546001600160a01b03163314610a97576040516330cd747160e01b815260040160405180910390fd5b6001600160a01b038116610ad7576040517f49e27cff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6006546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600680547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b6001600160a01b038216610b7257604051630da30f6560e31b815260040160405180910390fd5b6001600160a01b03821660009081526020819052604081208054839290610b9a908490611044565b925050819055508060026000828254610bb39190611044565b90915550506040518181526000906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906020015b60405180910390a35050565b6001600160a01b0383161580610c1b57506001600160a01b038216155b15610c3957604051630da30f6560e31b815260040160405180910390fd5b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b0383161580610cb857506001600160a01b038216155b15610cd657604051630da30f6560e31b815260040160405180910390fd5b6001600160a01b03831660009081526020819052604081208054839290610cfe908490611044565b90915550506001600160a01b03821660009081526020819052604081208054839290610d2b908490611077565b92505081905550816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610c8e91815260200190565b6001600160a01b038216610d9e57604051630da30f6560e31b815260040160405180910390fd5b8060026000828254610db09190611077565b90915550506001600160a01b03821660009081526020819052604081208054839290610ddd908490611077565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90602001610bf2565b610349806110d283390190565b60005b83811015610e48578181015183820152602001610e30565b83811115610e57576000848401525b50505050565b6020815260008251806020840152610e7c816040850160208701610e2d565b601f01601f19169190910160400192915050565b600060208284031215610ea257600080fd5b5035919050565b80356001600160a01b0381168114610ec057600080fd5b919050565b60008060408385031215610ed857600080fd5b610ee183610ea9565b946020939093013593505050565b600080600060608486031215610f0457600080fd5b610f0d84610ea9565b9250610f1b60208501610ea9565b9150604084013590509250925092565b600060208284031215610f3d57600080fd5b610f4682610ea9565b9392505050565b600080600080600080600060e0888a031215610f6857600080fd5b610f7188610ea9565b9650610f7f60208901610ea9565b95506040880135945060608801359350608088013560ff81168114610fa357600080fd5b9699959850939692959460a0840135945060c09093013592915050565b60008060408385031215610fd357600080fd5b610fdc83610ea9565b9150610fea60208401610ea9565b90509250929050565b600181811c9082168061100757607f821691505b6020821081141561102857634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b6000828210156110565761105661102e565b500390565b6000825161106d818460208701610e2d565b9190910192915050565b6000821982111561108a5761108a61102e565b500190565b60006000198214156110a3576110a361102e565b5060010190565b600084516110bc818460208901610e2d565b9190910192835250602082015260400191905056fe6080604052600160005534801561001557600080fd5b50610324806100256000396000f3fe608060405234801561001057600080fd5b50600436106100355760003560e01c8062f55d9d1461003a5780631cff79cd1461004f575b600080fd5b61004d6100483660046101da565b610079565b005b61006261005d3660046101fc565b6100bb565b60405161007092919061027f565b60405180910390f35b6002600054141561009d5760405163caa30f5560e01b815260040160405180910390fd5b600260005573ffffffffffffffffffffffffffffffffffffffff8116ff5b60006060600260005414156100e35760405163caa30f5560e01b815260040160405180910390fd5b600260005573ffffffffffffffffffffffffffffffffffffffff85163b610136576040517f6f7c43f100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8473ffffffffffffffffffffffffffffffffffffffff16848460405161015d9291906102de565b6000604051808303816000865af19150503d806000811461019a576040519150601f19603f3d011682016040523d82523d6000602084013e61019f565b606091505b50600160005590969095509350505050565b803573ffffffffffffffffffffffffffffffffffffffff811681146101d557600080fd5b919050565b6000602082840312156101ec57600080fd5b6101f5826101b1565b9392505050565b60008060006040848603121561021157600080fd5b61021a846101b1565b9250602084013567ffffffffffffffff8082111561023757600080fd5b818601915086601f83011261024b57600080fd5b81358181111561025a57600080fd5b87602082850101111561026c57600080fd5b6020830194508093505050509250925092565b821515815260006020604081840152835180604085015260005b818110156102b557858101830151858201606001528201610299565b818111156102c7576000606083870101525b50601f01601f191692909201606001949350505050565b818382376000910190815291905056fea2646970667358221220dfb702492c35c6a884ac11997b483e3fee4ff8145c7abb0799d2a2fc8674c39364736f6c63430008090033a26469706673582212200c91fd2c0c0716a838a82654afcb7fba074539452c7c6cd867f9add7ce181d4a64736f6c63430008090033", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101775760003560e01c806340c10f19116100d857806395d89b411161008c578063d505accf11610066578063d505accf14610368578063dd62ed3e1461037b578063f2fde38b146103a657600080fd5b806395d89b411461033a578063a457c2d714610342578063a9059cbb1461035557600080fd5b806379cc6790116100bd57806379cc6790146102f45780637ecebe00146103075780638da5cb5b1461032757600080fd5b806340c10f19146102c157806370a08231146102d457600080fd5b8063313ce5671161012f578063355274ea11610114578063355274ea146102605780633644e5151461028757806339509351146102ae57600080fd5b8063313ce567146101fc57806331eecaf41461023557600080fd5b8063095ea7b311610160578063095ea7b3146101af57806318160ddd146101d257806323b872dd146101e957600080fd5b806306fdde031461017c57806308a1eee11461019a575b600080fd5b6101846103b9565b6040516101919190610e5d565b60405180910390f35b6101ad6101a8366004610e90565b610447565b005b6101c26101bd366004610ec5565b6104a8565b6040519015158152602001610191565b6101db60025481565b604051908152602001610191565b6101c26101f7366004610eef565b6104be565b6102237f000000000000000000000000000000000000000000000000000000000000000081565b60405160ff9091168152602001610191565b610248610243366004610e90565b610515565b6040516001600160a01b039091168152602001610191565b6101db7f000000000000000000000000000000000000000000000000000000000000000081565b6101db7f000000000000000000000000000000000000000000000000000000000000000081565b6101c26102bc366004610ec5565b61060f565b6101ad6102cf366004610ec5565b610646565b6101db6102e2366004610f2b565b60006020819052908152604090205481565b6101ad610302366004610ec5565b6106e7565b6101db610315366004610f2b565b60056020526000908152604090205481565b600654610248906001600160a01b031681565b610184610758565b6101c2610350366004610ec5565b610765565b6101c2610363366004610ec5565b61079c565b6101ad610376366004610f4d565b6107a9565b6101db610389366004610fc0565b600160209081526000928352604080842090915290825290205481565b6101ad6103b4366004610f2b565b610a6c565b600380546103c690610ff3565b80601f01602080910402602001604051908101604052809291908181526020018280546103f290610ff3565b801561043f5780601f106104145761010080835404028352916020019161043f565b820191906000526020600020905b81548152906001019060200180831161042257829003601f168201915b505050505081565b6006546001600160a01b03163314610472576040516330cd747160e01b815260040160405180910390fd5b600061047d82610515565b6001600160a01b0381166000908152602081905260409020549091506104a4908290610b4b565b5050565b60006104b5338484610bfe565b50600192915050565b6001600160a01b038316600090815260016020908152604080832033845290915281205460001981146104ff576104ff85336104fa8685611044565b610bfe565b61050a858585610c9b565b506001949350505050565b6006546040516000917fff00000000000000000000000000000000000000000000000000000000000000916001600160a01b0390911690849061055a60208201610e20565b601f1982820381018352601f90910116604081905261057c919060200161105b565b604051602081830303815290604052805190602001206040516020016105f194939291907fff0000000000000000000000000000000000000000000000000000000000000094909416845260609290921b6bffffffffffffffffffffffff191660018401526015830152603582015260550190565b60408051601f19818403018152919052805160209091012092915050565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916104b59185906104fa908690611077565b6006546001600160a01b03163314610671576040516330cd747160e01b815260040160405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000061069c8383610d77565b806106a657505050565b8060025411156106e2576040517fa4875a4900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050565b6006546001600160a01b03163314610712576040516330cd747160e01b815260040160405180910390fd5b6001600160a01b0382166000908152600160209081526040808320338452909152902054600019811461074e5761074e83336104fa8585611044565b6106e28383610b4b565b600480546103c690610ff3565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916104b59185906104fa908690611044565b60006104b5338484610c9b565b834211156107e3576040517f1a15a3cc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a081111561083d576040517f40c1e74800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8260ff16601b1415801561085557508260ff16601c14155b1561088c576040517f119bce3900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080518082018252600281527f19010000000000000000000000000000000000000000000000000000000000006020808301919091526001600160a01b038a166000908152600590915291822080547f0000000000000000000000000000000000000000000000000000000000000000917f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9918c918c918c91886109308361108f565b909155506040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810188905260e00160405160208183030381529060405280519060200120604051602001610994939291906110aa565b60408051601f198184030181528282528051602091820120600080855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa1580156109ff573d6000803e3d6000fd5b505050602060405103519050886001600160a01b0316816001600160a01b031614610a56576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610a61898989610bfe565b505050505050505050565b6006546001600160a01b03163314610a97576040516330cd747160e01b815260040160405180910390fd5b6001600160a01b038116610ad7576040517f49e27cff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6006546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600680547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b6001600160a01b038216610b7257604051630da30f6560e31b815260040160405180910390fd5b6001600160a01b03821660009081526020819052604081208054839290610b9a908490611044565b925050819055508060026000828254610bb39190611044565b90915550506040518181526000906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906020015b60405180910390a35050565b6001600160a01b0383161580610c1b57506001600160a01b038216155b15610c3957604051630da30f6560e31b815260040160405180910390fd5b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b0383161580610cb857506001600160a01b038216155b15610cd657604051630da30f6560e31b815260040160405180910390fd5b6001600160a01b03831660009081526020819052604081208054839290610cfe908490611044565b90915550506001600160a01b03821660009081526020819052604081208054839290610d2b908490611077565b92505081905550816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610c8e91815260200190565b6001600160a01b038216610d9e57604051630da30f6560e31b815260040160405180910390fd5b8060026000828254610db09190611077565b90915550506001600160a01b03821660009081526020819052604081208054839290610ddd908490611077565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90602001610bf2565b610349806110d283390190565b60005b83811015610e48578181015183820152602001610e30565b83811115610e57576000848401525b50505050565b6020815260008251806020840152610e7c816040850160208701610e2d565b601f01601f19169190910160400192915050565b600060208284031215610ea257600080fd5b5035919050565b80356001600160a01b0381168114610ec057600080fd5b919050565b60008060408385031215610ed857600080fd5b610ee183610ea9565b946020939093013593505050565b600080600060608486031215610f0457600080fd5b610f0d84610ea9565b9250610f1b60208501610ea9565b9150604084013590509250925092565b600060208284031215610f3d57600080fd5b610f4682610ea9565b9392505050565b600080600080600080600060e0888a031215610f6857600080fd5b610f7188610ea9565b9650610f7f60208901610ea9565b95506040880135945060608801359350608088013560ff81168114610fa357600080fd5b9699959850939692959460a0840135945060c09093013592915050565b60008060408385031215610fd357600080fd5b610fdc83610ea9565b9150610fea60208401610ea9565b90509250929050565b600181811c9082168061100757607f821691505b6020821081141561102857634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b6000828210156110565761105661102e565b500390565b6000825161106d818460208701610e2d565b9190910192915050565b6000821982111561108a5761108a61102e565b500190565b60006000198214156110a3576110a361102e565b5060010190565b600084516110bc818460208901610e2d565b9190910192835250602082015260400191905056fe6080604052600160005534801561001557600080fd5b50610324806100256000396000f3fe608060405234801561001057600080fd5b50600436106100355760003560e01c8062f55d9d1461003a5780631cff79cd1461004f575b600080fd5b61004d6100483660046101da565b610079565b005b61006261005d3660046101fc565b6100bb565b60405161007092919061027f565b60405180910390f35b6002600054141561009d5760405163caa30f5560e01b815260040160405180910390fd5b600260005573ffffffffffffffffffffffffffffffffffffffff8116ff5b60006060600260005414156100e35760405163caa30f5560e01b815260040160405180910390fd5b600260005573ffffffffffffffffffffffffffffffffffffffff85163b610136576040517f6f7c43f100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8473ffffffffffffffffffffffffffffffffffffffff16848460405161015d9291906102de565b6000604051808303816000865af19150503d806000811461019a576040519150601f19603f3d011682016040523d82523d6000602084013e61019f565b606091505b50600160005590969095509350505050565b803573ffffffffffffffffffffffffffffffffffffffff811681146101d557600080fd5b919050565b6000602082840312156101ec57600080fd5b6101f5826101b1565b9392505050565b60008060006040848603121561021157600080fd5b61021a846101b1565b9250602084013567ffffffffffffffff8082111561023757600080fd5b818601915086601f83011261024b57600080fd5b81358181111561025a57600080fd5b87602082850101111561026c57600080fd5b6020830194508093505050509250925092565b821515815260006020604081840152835180604085015260005b818110156102b557858101830151858201606001528201610299565b818111156102c7576000606083870101525b50601f01601f191692909201606001949350505050565b818382376000910190815291905056fea2646970667358221220dfb702492c35c6a884ac11997b483e3fee4ff8145c7abb0799d2a2fc8674c39364736f6c63430008090033a26469706673582212200c91fd2c0c0716a838a82654afcb7fba074539452c7c6cd867f9add7ce181d4a64736f6c63430008090033", "linkReferences": {}, "deployedLinkReferences": {} } diff --git a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/DepositHandler.sol/DepositHandler.dbg.json b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/DepositHandler.sol/DepositHandler.dbg.json index d1763aed..ad925cc8 100644 --- a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/DepositHandler.sol/DepositHandler.dbg.json +++ b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/DepositHandler.sol/DepositHandler.dbg.json @@ -1,4 +1,4 @@ { "_format": "hh-sol-dbg-1", - "buildInfo": "../../../../build-info/12c9a8f7cfdae039186ba7f422bc265d.json" + "buildInfo": "../../../../build-info/3aa2fc6680ec7dd0d7e17835f8008fcc.json" } diff --git a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/ECDSA.sol/ECDSA.dbg.json b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/ECDSA.sol/ECDSA.dbg.json index d1763aed..ad925cc8 100644 --- a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/ECDSA.sol/ECDSA.dbg.json +++ b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/ECDSA.sol/ECDSA.dbg.json @@ -1,4 +1,4 @@ { "_format": "hh-sol-dbg-1", - "buildInfo": "../../../../build-info/12c9a8f7cfdae039186ba7f422bc265d.json" + "buildInfo": "../../../../build-info/3aa2fc6680ec7dd0d7e17835f8008fcc.json" } diff --git a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/ERC20.sol/ERC20.dbg.json b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/ERC20.sol/ERC20.dbg.json index d1763aed..ad925cc8 100644 --- a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/ERC20.sol/ERC20.dbg.json +++ b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/ERC20.sol/ERC20.dbg.json @@ -1,4 +1,4 @@ { "_format": "hh-sol-dbg-1", - "buildInfo": "../../../../build-info/12c9a8f7cfdae039186ba7f422bc265d.json" + "buildInfo": "../../../../build-info/3aa2fc6680ec7dd0d7e17835f8008fcc.json" } diff --git a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/ERC20.sol/ERC20.json b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/ERC20.sol/ERC20.json index a317b78f..9bddf6c7 100644 --- a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/ERC20.sol/ERC20.json +++ b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/ERC20.sol/ERC20.json @@ -300,8 +300,8 @@ "type": "function" } ], - "bytecode": "0x60a06040523480156200001157600080fd5b506040516200099c3803806200099c8339810160408190526200003491620001e2565b8251620000499060039060208601906200006f565b5081516200005f9060049060208501906200006f565b5060ff1660805250620002a49050565b8280546200007d9062000267565b90600052602060002090601f016020900481019282620000a15760008555620000ec565b82601f10620000bc57805160ff1916838001178555620000ec565b82800160010185558215620000ec579182015b82811115620000ec578251825591602001919060010190620000cf565b50620000fa929150620000fe565b5090565b5b80821115620000fa5760008155600101620000ff565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200013d57600080fd5b81516001600160401b03808211156200015a576200015a62000115565b604051601f8301601f19908116603f0116810190828211818310171562000185576200018562000115565b81604052838152602092508683858801011115620001a257600080fd5b600091505b83821015620001c65785820183015181830184015290820190620001a7565b83821115620001d85760008385830101525b9695505050505050565b600080600060608486031215620001f857600080fd5b83516001600160401b03808211156200021057600080fd5b6200021e878388016200012b565b945060208601519150808211156200023557600080fd5b5062000244868287016200012b565b925050604084015160ff811681146200025c57600080fd5b809150509250925092565b600181811c908216806200027c57607f821691505b602082108114156200029e57634e487b7160e01b600052602260045260246000fd5b50919050565b6080516106dc620002c0600039600061013e01526106dc6000f3fe608060405234801561001057600080fd5b50600436106100c95760003560e01c80633950935111610081578063a457c2d71161005b578063a457c2d7146101ad578063a9059cbb146101c0578063dd62ed3e146101d357600080fd5b8063395093511461017257806370a082311461018557806395d89b41146101a557600080fd5b806318160ddd116100b257806318160ddd1461010f57806323b872dd14610126578063313ce5671461013957600080fd5b806306fdde03146100ce578063095ea7b3146100ec575b600080fd5b6100d66101fe565b6040516100e391906104fa565b60405180910390f35b6100ff6100fa36600461056b565b61028c565b60405190151581526020016100e3565b61011860025481565b6040519081526020016100e3565b6100ff610134366004610595565b6102a2565b6101607f000000000000000000000000000000000000000000000000000000000000000081565b60405160ff90911681526020016100e3565b6100ff61018036600461056b565b6102f9565b6101186101933660046105d1565b60006020819052908152604090205481565b6100d6610330565b6100ff6101bb36600461056b565b61033d565b6100ff6101ce36600461056b565b610374565b6101186101e13660046105f3565b600160209081526000928352604080842090915290825290205481565b6003805461020b90610626565b80601f016020809104026020016040519081016040528092919081815260200182805461023790610626565b80156102845780601f1061025957610100808354040283529160200191610284565b820191906000526020600020905b81548152906001019060200180831161026757829003601f168201915b505050505081565b6000610299338484610381565b50600192915050565b6001600160a01b038316600090815260016020908152604080832033845290915281205460001981146102e3576102e385336102de8685610677565b610381565b6102ee85858561041e565b506001949350505050565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916102999185906102de90869061068e565b6004805461020b90610626565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916102999185906102de908690610677565b600061029933848461041e565b6001600160a01b038316158061039e57506001600160a01b038216155b156103bc57604051630da30f6560e31b815260040160405180910390fd5b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b038316158061043b57506001600160a01b038216155b1561045957604051630da30f6560e31b815260040160405180910390fd5b6001600160a01b03831660009081526020819052604081208054839290610481908490610677565b90915550506001600160a01b038216600090815260208190526040812080548392906104ae90849061068e565b92505081905550816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161041191815260200190565b600060208083528351808285015260005b818110156105275785810183015185820160400152820161050b565b81811115610539576000604083870101525b50601f01601f1916929092016040019392505050565b80356001600160a01b038116811461056657600080fd5b919050565b6000806040838503121561057e57600080fd5b6105878361054f565b946020939093013593505050565b6000806000606084860312156105aa57600080fd5b6105b38461054f565b92506105c16020850161054f565b9150604084013590509250925092565b6000602082840312156105e357600080fd5b6105ec8261054f565b9392505050565b6000806040838503121561060657600080fd5b61060f8361054f565b915061061d6020840161054f565b90509250929050565b600181811c9082168061063a57607f821691505b6020821081141561065b57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b60008282101561068957610689610661565b500390565b600082198211156106a1576106a1610661565b50019056fea26469706673582212201c054c8339d0879fdf7cb9d3bace09d00f12dd0c2cdd4bd3909f3a179a80640764736f6c63430008090033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100c95760003560e01c80633950935111610081578063a457c2d71161005b578063a457c2d7146101ad578063a9059cbb146101c0578063dd62ed3e146101d357600080fd5b8063395093511461017257806370a082311461018557806395d89b41146101a557600080fd5b806318160ddd116100b257806318160ddd1461010f57806323b872dd14610126578063313ce5671461013957600080fd5b806306fdde03146100ce578063095ea7b3146100ec575b600080fd5b6100d66101fe565b6040516100e391906104fa565b60405180910390f35b6100ff6100fa36600461056b565b61028c565b60405190151581526020016100e3565b61011860025481565b6040519081526020016100e3565b6100ff610134366004610595565b6102a2565b6101607f000000000000000000000000000000000000000000000000000000000000000081565b60405160ff90911681526020016100e3565b6100ff61018036600461056b565b6102f9565b6101186101933660046105d1565b60006020819052908152604090205481565b6100d6610330565b6100ff6101bb36600461056b565b61033d565b6100ff6101ce36600461056b565b610374565b6101186101e13660046105f3565b600160209081526000928352604080842090915290825290205481565b6003805461020b90610626565b80601f016020809104026020016040519081016040528092919081815260200182805461023790610626565b80156102845780601f1061025957610100808354040283529160200191610284565b820191906000526020600020905b81548152906001019060200180831161026757829003601f168201915b505050505081565b6000610299338484610381565b50600192915050565b6001600160a01b038316600090815260016020908152604080832033845290915281205460001981146102e3576102e385336102de8685610677565b610381565b6102ee85858561041e565b506001949350505050565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916102999185906102de90869061068e565b6004805461020b90610626565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916102999185906102de908690610677565b600061029933848461041e565b6001600160a01b038316158061039e57506001600160a01b038216155b156103bc57604051630da30f6560e31b815260040160405180910390fd5b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b038316158061043b57506001600160a01b038216155b1561045957604051630da30f6560e31b815260040160405180910390fd5b6001600160a01b03831660009081526020819052604081208054839290610481908490610677565b90915550506001600160a01b038216600090815260208190526040812080548392906104ae90849061068e565b92505081905550816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161041191815260200190565b600060208083528351808285015260005b818110156105275785810183015185820160400152820161050b565b81811115610539576000604083870101525b50601f01601f1916929092016040019392505050565b80356001600160a01b038116811461056657600080fd5b919050565b6000806040838503121561057e57600080fd5b6105878361054f565b946020939093013593505050565b6000806000606084860312156105aa57600080fd5b6105b38461054f565b92506105c16020850161054f565b9150604084013590509250925092565b6000602082840312156105e357600080fd5b6105ec8261054f565b9392505050565b6000806040838503121561060657600080fd5b61060f8361054f565b915061061d6020840161054f565b90509250929050565b600181811c9082168061063a57607f821691505b6020821081141561065b57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b60008282101561068957610689610661565b500390565b600082198211156106a1576106a1610661565b50019056fea26469706673582212201c054c8339d0879fdf7cb9d3bace09d00f12dd0c2cdd4bd3909f3a179a80640764736f6c63430008090033", + "bytecode": "0x60a06040523480156200001157600080fd5b506040516200099c3803806200099c8339810160408190526200003491620001e2565b8251620000499060039060208601906200006f565b5081516200005f9060049060208501906200006f565b5060ff1660805250620002a49050565b8280546200007d9062000267565b90600052602060002090601f016020900481019282620000a15760008555620000ec565b82601f10620000bc57805160ff1916838001178555620000ec565b82800160010185558215620000ec579182015b82811115620000ec578251825591602001919060010190620000cf565b50620000fa929150620000fe565b5090565b5b80821115620000fa5760008155600101620000ff565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200013d57600080fd5b81516001600160401b03808211156200015a576200015a62000115565b604051601f8301601f19908116603f0116810190828211818310171562000185576200018562000115565b81604052838152602092508683858801011115620001a257600080fd5b600091505b83821015620001c65785820183015181830184015290820190620001a7565b83821115620001d85760008385830101525b9695505050505050565b600080600060608486031215620001f857600080fd5b83516001600160401b03808211156200021057600080fd5b6200021e878388016200012b565b945060208601519150808211156200023557600080fd5b5062000244868287016200012b565b925050604084015160ff811681146200025c57600080fd5b809150509250925092565b600181811c908216806200027c57607f821691505b602082108114156200029e57634e487b7160e01b600052602260045260246000fd5b50919050565b6080516106dc620002c0600039600061013e01526106dc6000f3fe608060405234801561001057600080fd5b50600436106100c95760003560e01c80633950935111610081578063a457c2d71161005b578063a457c2d7146101ad578063a9059cbb146101c0578063dd62ed3e146101d357600080fd5b8063395093511461017257806370a082311461018557806395d89b41146101a557600080fd5b806318160ddd116100b257806318160ddd1461010f57806323b872dd14610126578063313ce5671461013957600080fd5b806306fdde03146100ce578063095ea7b3146100ec575b600080fd5b6100d66101fe565b6040516100e391906104fa565b60405180910390f35b6100ff6100fa36600461056b565b61028c565b60405190151581526020016100e3565b61011860025481565b6040519081526020016100e3565b6100ff610134366004610595565b6102a2565b6101607f000000000000000000000000000000000000000000000000000000000000000081565b60405160ff90911681526020016100e3565b6100ff61018036600461056b565b6102f9565b6101186101933660046105d1565b60006020819052908152604090205481565b6100d6610330565b6100ff6101bb36600461056b565b61033d565b6100ff6101ce36600461056b565b610374565b6101186101e13660046105f3565b600160209081526000928352604080842090915290825290205481565b6003805461020b90610626565b80601f016020809104026020016040519081016040528092919081815260200182805461023790610626565b80156102845780601f1061025957610100808354040283529160200191610284565b820191906000526020600020905b81548152906001019060200180831161026757829003601f168201915b505050505081565b6000610299338484610381565b50600192915050565b6001600160a01b038316600090815260016020908152604080832033845290915281205460001981146102e3576102e385336102de8685610677565b610381565b6102ee85858561041e565b506001949350505050565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916102999185906102de90869061068e565b6004805461020b90610626565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916102999185906102de908690610677565b600061029933848461041e565b6001600160a01b038316158061039e57506001600160a01b038216155b156103bc57604051630da30f6560e31b815260040160405180910390fd5b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b038316158061043b57506001600160a01b038216155b1561045957604051630da30f6560e31b815260040160405180910390fd5b6001600160a01b03831660009081526020819052604081208054839290610481908490610677565b90915550506001600160a01b038216600090815260208190526040812080548392906104ae90849061068e565b92505081905550816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161041191815260200190565b600060208083528351808285015260005b818110156105275785810183015185820160400152820161050b565b81811115610539576000604083870101525b50601f01601f1916929092016040019392505050565b80356001600160a01b038116811461056657600080fd5b919050565b6000806040838503121561057e57600080fd5b6105878361054f565b946020939093013593505050565b6000806000606084860312156105aa57600080fd5b6105b38461054f565b92506105c16020850161054f565b9150604084013590509250925092565b6000602082840312156105e357600080fd5b6105ec8261054f565b9392505050565b6000806040838503121561060657600080fd5b61060f8361054f565b915061061d6020840161054f565b90509250929050565b600181811c9082168061063a57607f821691505b6020821081141561065b57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b60008282101561068957610689610661565b500390565b600082198211156106a1576106a1610661565b50019056fea2646970667358221220ae146ee9affdef0fa2ab00f5bb0867f9e130212fc134c4307d5535c1f425843a64736f6c63430008090033", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100c95760003560e01c80633950935111610081578063a457c2d71161005b578063a457c2d7146101ad578063a9059cbb146101c0578063dd62ed3e146101d357600080fd5b8063395093511461017257806370a082311461018557806395d89b41146101a557600080fd5b806318160ddd116100b257806318160ddd1461010f57806323b872dd14610126578063313ce5671461013957600080fd5b806306fdde03146100ce578063095ea7b3146100ec575b600080fd5b6100d66101fe565b6040516100e391906104fa565b60405180910390f35b6100ff6100fa36600461056b565b61028c565b60405190151581526020016100e3565b61011860025481565b6040519081526020016100e3565b6100ff610134366004610595565b6102a2565b6101607f000000000000000000000000000000000000000000000000000000000000000081565b60405160ff90911681526020016100e3565b6100ff61018036600461056b565b6102f9565b6101186101933660046105d1565b60006020819052908152604090205481565b6100d6610330565b6100ff6101bb36600461056b565b61033d565b6100ff6101ce36600461056b565b610374565b6101186101e13660046105f3565b600160209081526000928352604080842090915290825290205481565b6003805461020b90610626565b80601f016020809104026020016040519081016040528092919081815260200182805461023790610626565b80156102845780601f1061025957610100808354040283529160200191610284565b820191906000526020600020905b81548152906001019060200180831161026757829003601f168201915b505050505081565b6000610299338484610381565b50600192915050565b6001600160a01b038316600090815260016020908152604080832033845290915281205460001981146102e3576102e385336102de8685610677565b610381565b6102ee85858561041e565b506001949350505050565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916102999185906102de90869061068e565b6004805461020b90610626565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916102999185906102de908690610677565b600061029933848461041e565b6001600160a01b038316158061039e57506001600160a01b038216155b156103bc57604051630da30f6560e31b815260040160405180910390fd5b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b038316158061043b57506001600160a01b038216155b1561045957604051630da30f6560e31b815260040160405180910390fd5b6001600160a01b03831660009081526020819052604081208054839290610481908490610677565b90915550506001600160a01b038216600090815260208190526040812080548392906104ae90849061068e565b92505081905550816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161041191815260200190565b600060208083528351808285015260005b818110156105275785810183015185820160400152820161050b565b81811115610539576000604083870101525b50601f01601f1916929092016040019392505050565b80356001600160a01b038116811461056657600080fd5b919050565b6000806040838503121561057e57600080fd5b6105878361054f565b946020939093013593505050565b6000806000606084860312156105aa57600080fd5b6105b38461054f565b92506105c16020850161054f565b9150604084013590509250925092565b6000602082840312156105e357600080fd5b6105ec8261054f565b9392505050565b6000806040838503121561060657600080fd5b61060f8361054f565b915061061d6020840161054f565b90509250929050565b600181811c9082168061063a57607f821691505b6020821081141561065b57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b60008282101561068957610689610661565b500390565b600082198211156106a1576106a1610661565b50019056fea2646970667358221220ae146ee9affdef0fa2ab00f5bb0867f9e130212fc134c4307d5535c1f425843a64736f6c63430008090033", "linkReferences": {}, "deployedLinkReferences": {} } diff --git a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/ERC20Permit.sol/ERC20Permit.dbg.json b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/ERC20Permit.sol/ERC20Permit.dbg.json index d1763aed..ad925cc8 100644 --- a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/ERC20Permit.sol/ERC20Permit.dbg.json +++ b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/ERC20Permit.sol/ERC20Permit.dbg.json @@ -1,4 +1,4 @@ { "_format": "hh-sol-dbg-1", - "buildInfo": "../../../../build-info/12c9a8f7cfdae039186ba7f422bc265d.json" + "buildInfo": "../../../../build-info/3aa2fc6680ec7dd0d7e17835f8008fcc.json" } diff --git a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/EternalStorage.sol/EternalStorage.dbg.json b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/EternalStorage.sol/EternalStorage.dbg.json index d1763aed..ad925cc8 100644 --- a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/EternalStorage.sol/EternalStorage.dbg.json +++ b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/EternalStorage.sol/EternalStorage.dbg.json @@ -1,4 +1,4 @@ { "_format": "hh-sol-dbg-1", - "buildInfo": "../../../../build-info/12c9a8f7cfdae039186ba7f422bc265d.json" + "buildInfo": "../../../../build-info/3aa2fc6680ec7dd0d7e17835f8008fcc.json" } diff --git a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/MintableCappedERC20.sol/MintableCappedERC20.dbg.json b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/MintableCappedERC20.sol/MintableCappedERC20.dbg.json index d1763aed..ad925cc8 100644 --- a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/MintableCappedERC20.sol/MintableCappedERC20.dbg.json +++ b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/MintableCappedERC20.sol/MintableCappedERC20.dbg.json @@ -1,4 +1,4 @@ { "_format": "hh-sol-dbg-1", - "buildInfo": "../../../../build-info/12c9a8f7cfdae039186ba7f422bc265d.json" + "buildInfo": "../../../../build-info/3aa2fc6680ec7dd0d7e17835f8008fcc.json" } diff --git a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/MintableCappedERC20.sol/MintableCappedERC20.json b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/MintableCappedERC20.sol/MintableCappedERC20.json index 1c709d5b..595b58df 100644 --- a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/MintableCappedERC20.sol/MintableCappedERC20.json +++ b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/MintableCappedERC20.sol/MintableCappedERC20.json @@ -491,8 +491,8 @@ "type": "function" } ], - "bytecode": "0x60e06040523480156200001157600080fd5b50604051620011b2380380620011b28339810160408190526200003491620002d9565b8384848482600390805190602001906200005092919062000166565b5081516200006690600490602085019062000166565b5060ff166080908152835160208086019190912060408051808201825260018152603160f81b9084015280517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f938101939093528201527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6606082015246918101919091523060a082015260c0019150620000fe9050565b60408051601f1981840301815290829052805160209091012060a052600680546001600160a01b0319163390811790915591506000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a360c05250620003a1915050565b828054620001749062000364565b90600052602060002090601f016020900481019282620001985760008555620001e3565b82601f10620001b357805160ff1916838001178555620001e3565b82800160010185558215620001e3579182015b82811115620001e3578251825591602001919060010190620001c6565b50620001f1929150620001f5565b5090565b5b80821115620001f15760008155600101620001f6565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200023457600080fd5b81516001600160401b03808211156200025157620002516200020c565b604051601f8301601f19908116603f011681019082821181831017156200027c576200027c6200020c565b816040528381526020925086838588010111156200029957600080fd5b600091505b83821015620002bd57858201830151818301840152908201906200029e565b83821115620002cf5760008385830101525b9695505050505050565b60008060008060808587031215620002f057600080fd5b84516001600160401b03808211156200030857600080fd5b620003168883890162000222565b955060208701519150808211156200032d57600080fd5b506200033c8782880162000222565b935050604085015160ff811681146200035457600080fd5b6060959095015193969295505050565b600181811c908216806200037957607f821691505b602082108114156200039b57634e487b7160e01b600052602260045260246000fd5b50919050565b60805160a05160c051610dd3620003df600039600081816101e4015261049e01526000818161020b0152610698015260006101ab0152610dd36000f3fe608060405234801561001057600080fd5b50600436106101365760003560e01c806370a08231116100b2578063a457c2d711610081578063d505accf11610066578063d505accf146102ee578063dd62ed3e14610301578063f2fde38b1461032c57600080fd5b8063a457c2d7146102c8578063a9059cbb146102db57600080fd5b806370a08231146102555780637ecebe00146102755780638da5cb5b1461029557806395d89b41146102c057600080fd5b8063313ce567116101095780633644e515116100ee5780633644e51514610206578063395093511461022d57806340c10f191461024057600080fd5b8063313ce567146101a6578063355274ea146101df57600080fd5b806306fdde031461013b578063095ea7b31461015957806318160ddd1461017c57806323b872dd14610193575b600080fd5b61014361033f565b6040516101509190610b5e565b60405180910390f35b61016c610167366004610bad565b6103cd565b6040519015158152602001610150565b61018560025481565b604051908152602001610150565b61016c6101a1366004610bd7565b6103e3565b6101cd7f000000000000000000000000000000000000000000000000000000000000000081565b60405160ff9091168152602001610150565b6101857f000000000000000000000000000000000000000000000000000000000000000081565b6101857f000000000000000000000000000000000000000000000000000000000000000081565b61016c61023b366004610bad565b61043a565b61025361024e366004610bad565b610471565b005b610185610263366004610c13565b60006020819052908152604090205481565b610185610283366004610c13565b60056020526000908152604090205481565b6006546102a8906001600160a01b031681565b6040516001600160a01b039091168152602001610150565b610143610512565b61016c6102d6366004610bad565b61051f565b61016c6102e9366004610bad565b610556565b6102536102fc366004610c35565b610563565b61018561030f366004610ca8565b600160209081526000928352604080842090915290825290205481565b61025361033a366004610c13565b610826565b6003805461034c90610cdb565b80601f016020809104026020016040519081016040528092919081815260200182805461037890610cdb565b80156103c55780601f1061039a576101008083540402835291602001916103c5565b820191906000526020600020905b8154815290600101906020018083116103a857829003601f168201915b505050505081565b60006103da338484610905565b50600192915050565b6001600160a01b0383166000908152600160209081526040808320338452909152812054600019811461042457610424853361041f8685610d2c565b610905565b61042f8585856109a2565b506001949350505050565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916103da91859061041f908690610d43565b6006546001600160a01b0316331461049c576040516330cd747160e01b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006104c78383610a7e565b806104d157505050565b80600254111561050d576040517fa4875a4900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050565b6004805461034c90610cdb565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916103da91859061041f908690610d2c565b60006103da3384846109a2565b8342111561059d576040517f1a15a3cc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08111156105f7576040517f40c1e74800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8260ff16601b1415801561060f57508260ff16601c14155b15610646576040517f119bce3900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080518082018252600281527f19010000000000000000000000000000000000000000000000000000000000006020808301919091526001600160a01b038a166000908152600590915291822080547f0000000000000000000000000000000000000000000000000000000000000000917f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9918c918c918c91886106ea83610d5b565b909155506040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810188905260e0016040516020818303038152906040528051906020012060405160200161074e93929190610d76565b60408051601f198184030181528282528051602091820120600080855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa1580156107b9573d6000803e3d6000fd5b505050602060405103519050886001600160a01b0316816001600160a01b031614610810576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61081b898989610905565b505050505050505050565b6006546001600160a01b03163314610851576040516330cd747160e01b815260040160405180910390fd5b6001600160a01b038116610891576040517f49e27cff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6006546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600680547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b6001600160a01b038316158061092257506001600160a01b038216155b1561094057604051630da30f6560e31b815260040160405180910390fd5b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b03831615806109bf57506001600160a01b038216155b156109dd57604051630da30f6560e31b815260040160405180910390fd5b6001600160a01b03831660009081526020819052604081208054839290610a05908490610d2c565b90915550506001600160a01b03821660009081526020819052604081208054839290610a32908490610d43565b92505081905550816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161099591815260200190565b6001600160a01b038216610aa557604051630da30f6560e31b815260040160405180910390fd5b8060026000828254610ab79190610d43565b90915550506001600160a01b03821660009081526020819052604081208054839290610ae4908490610d43565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b60005b83811015610b49578181015183820152602001610b31565b83811115610b58576000848401525b50505050565b6020815260008251806020840152610b7d816040850160208701610b2e565b601f01601f19169190910160400192915050565b80356001600160a01b0381168114610ba857600080fd5b919050565b60008060408385031215610bc057600080fd5b610bc983610b91565b946020939093013593505050565b600080600060608486031215610bec57600080fd5b610bf584610b91565b9250610c0360208501610b91565b9150604084013590509250925092565b600060208284031215610c2557600080fd5b610c2e82610b91565b9392505050565b600080600080600080600060e0888a031215610c5057600080fd5b610c5988610b91565b9650610c6760208901610b91565b95506040880135945060608801359350608088013560ff81168114610c8b57600080fd5b9699959850939692959460a0840135945060c09093013592915050565b60008060408385031215610cbb57600080fd5b610cc483610b91565b9150610cd260208401610b91565b90509250929050565b600181811c90821680610cef57607f821691505b60208210811415610d1057634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b600082821015610d3e57610d3e610d16565b500390565b60008219821115610d5657610d56610d16565b500190565b6000600019821415610d6f57610d6f610d16565b5060010190565b60008451610d88818460208901610b2e565b9190910192835250602082015260400191905056fea26469706673582212208f603e2cd0ff4a15d58524709bf891fdde8e83cbfd1b454030ec67b304ad17f364736f6c63430008090033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101365760003560e01c806370a08231116100b2578063a457c2d711610081578063d505accf11610066578063d505accf146102ee578063dd62ed3e14610301578063f2fde38b1461032c57600080fd5b8063a457c2d7146102c8578063a9059cbb146102db57600080fd5b806370a08231146102555780637ecebe00146102755780638da5cb5b1461029557806395d89b41146102c057600080fd5b8063313ce567116101095780633644e515116100ee5780633644e51514610206578063395093511461022d57806340c10f191461024057600080fd5b8063313ce567146101a6578063355274ea146101df57600080fd5b806306fdde031461013b578063095ea7b31461015957806318160ddd1461017c57806323b872dd14610193575b600080fd5b61014361033f565b6040516101509190610b5e565b60405180910390f35b61016c610167366004610bad565b6103cd565b6040519015158152602001610150565b61018560025481565b604051908152602001610150565b61016c6101a1366004610bd7565b6103e3565b6101cd7f000000000000000000000000000000000000000000000000000000000000000081565b60405160ff9091168152602001610150565b6101857f000000000000000000000000000000000000000000000000000000000000000081565b6101857f000000000000000000000000000000000000000000000000000000000000000081565b61016c61023b366004610bad565b61043a565b61025361024e366004610bad565b610471565b005b610185610263366004610c13565b60006020819052908152604090205481565b610185610283366004610c13565b60056020526000908152604090205481565b6006546102a8906001600160a01b031681565b6040516001600160a01b039091168152602001610150565b610143610512565b61016c6102d6366004610bad565b61051f565b61016c6102e9366004610bad565b610556565b6102536102fc366004610c35565b610563565b61018561030f366004610ca8565b600160209081526000928352604080842090915290825290205481565b61025361033a366004610c13565b610826565b6003805461034c90610cdb565b80601f016020809104026020016040519081016040528092919081815260200182805461037890610cdb565b80156103c55780601f1061039a576101008083540402835291602001916103c5565b820191906000526020600020905b8154815290600101906020018083116103a857829003601f168201915b505050505081565b60006103da338484610905565b50600192915050565b6001600160a01b0383166000908152600160209081526040808320338452909152812054600019811461042457610424853361041f8685610d2c565b610905565b61042f8585856109a2565b506001949350505050565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916103da91859061041f908690610d43565b6006546001600160a01b0316331461049c576040516330cd747160e01b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006104c78383610a7e565b806104d157505050565b80600254111561050d576040517fa4875a4900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050565b6004805461034c90610cdb565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916103da91859061041f908690610d2c565b60006103da3384846109a2565b8342111561059d576040517f1a15a3cc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08111156105f7576040517f40c1e74800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8260ff16601b1415801561060f57508260ff16601c14155b15610646576040517f119bce3900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080518082018252600281527f19010000000000000000000000000000000000000000000000000000000000006020808301919091526001600160a01b038a166000908152600590915291822080547f0000000000000000000000000000000000000000000000000000000000000000917f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9918c918c918c91886106ea83610d5b565b909155506040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810188905260e0016040516020818303038152906040528051906020012060405160200161074e93929190610d76565b60408051601f198184030181528282528051602091820120600080855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa1580156107b9573d6000803e3d6000fd5b505050602060405103519050886001600160a01b0316816001600160a01b031614610810576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61081b898989610905565b505050505050505050565b6006546001600160a01b03163314610851576040516330cd747160e01b815260040160405180910390fd5b6001600160a01b038116610891576040517f49e27cff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6006546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600680547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b6001600160a01b038316158061092257506001600160a01b038216155b1561094057604051630da30f6560e31b815260040160405180910390fd5b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b03831615806109bf57506001600160a01b038216155b156109dd57604051630da30f6560e31b815260040160405180910390fd5b6001600160a01b03831660009081526020819052604081208054839290610a05908490610d2c565b90915550506001600160a01b03821660009081526020819052604081208054839290610a32908490610d43565b92505081905550816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161099591815260200190565b6001600160a01b038216610aa557604051630da30f6560e31b815260040160405180910390fd5b8060026000828254610ab79190610d43565b90915550506001600160a01b03821660009081526020819052604081208054839290610ae4908490610d43565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b60005b83811015610b49578181015183820152602001610b31565b83811115610b58576000848401525b50505050565b6020815260008251806020840152610b7d816040850160208701610b2e565b601f01601f19169190910160400192915050565b80356001600160a01b0381168114610ba857600080fd5b919050565b60008060408385031215610bc057600080fd5b610bc983610b91565b946020939093013593505050565b600080600060608486031215610bec57600080fd5b610bf584610b91565b9250610c0360208501610b91565b9150604084013590509250925092565b600060208284031215610c2557600080fd5b610c2e82610b91565b9392505050565b600080600080600080600060e0888a031215610c5057600080fd5b610c5988610b91565b9650610c6760208901610b91565b95506040880135945060608801359350608088013560ff81168114610c8b57600080fd5b9699959850939692959460a0840135945060c09093013592915050565b60008060408385031215610cbb57600080fd5b610cc483610b91565b9150610cd260208401610b91565b90509250929050565b600181811c90821680610cef57607f821691505b60208210811415610d1057634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b600082821015610d3e57610d3e610d16565b500390565b60008219821115610d5657610d56610d16565b500190565b6000600019821415610d6f57610d6f610d16565b5060010190565b60008451610d88818460208901610b2e565b9190910192835250602082015260400191905056fea26469706673582212208f603e2cd0ff4a15d58524709bf891fdde8e83cbfd1b454030ec67b304ad17f364736f6c63430008090033", + "bytecode": "0x60e06040523480156200001157600080fd5b50604051620011b2380380620011b28339810160408190526200003491620002d9565b8384848482600390805190602001906200005092919062000166565b5081516200006690600490602085019062000166565b5060ff166080908152835160208086019190912060408051808201825260018152603160f81b9084015280517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f938101939093528201527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6606082015246918101919091523060a082015260c0019150620000fe9050565b60408051601f1981840301815290829052805160209091012060a052600680546001600160a01b0319163390811790915591506000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a360c05250620003a1915050565b828054620001749062000364565b90600052602060002090601f016020900481019282620001985760008555620001e3565b82601f10620001b357805160ff1916838001178555620001e3565b82800160010185558215620001e3579182015b82811115620001e3578251825591602001919060010190620001c6565b50620001f1929150620001f5565b5090565b5b80821115620001f15760008155600101620001f6565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200023457600080fd5b81516001600160401b03808211156200025157620002516200020c565b604051601f8301601f19908116603f011681019082821181831017156200027c576200027c6200020c565b816040528381526020925086838588010111156200029957600080fd5b600091505b83821015620002bd57858201830151818301840152908201906200029e565b83821115620002cf5760008385830101525b9695505050505050565b60008060008060808587031215620002f057600080fd5b84516001600160401b03808211156200030857600080fd5b620003168883890162000222565b955060208701519150808211156200032d57600080fd5b506200033c8782880162000222565b935050604085015160ff811681146200035457600080fd5b6060959095015193969295505050565b600181811c908216806200037957607f821691505b602082108114156200039b57634e487b7160e01b600052602260045260246000fd5b50919050565b60805160a05160c051610dd3620003df600039600081816101e4015261049e01526000818161020b0152610698015260006101ab0152610dd36000f3fe608060405234801561001057600080fd5b50600436106101365760003560e01c806370a08231116100b2578063a457c2d711610081578063d505accf11610066578063d505accf146102ee578063dd62ed3e14610301578063f2fde38b1461032c57600080fd5b8063a457c2d7146102c8578063a9059cbb146102db57600080fd5b806370a08231146102555780637ecebe00146102755780638da5cb5b1461029557806395d89b41146102c057600080fd5b8063313ce567116101095780633644e515116100ee5780633644e51514610206578063395093511461022d57806340c10f191461024057600080fd5b8063313ce567146101a6578063355274ea146101df57600080fd5b806306fdde031461013b578063095ea7b31461015957806318160ddd1461017c57806323b872dd14610193575b600080fd5b61014361033f565b6040516101509190610b5e565b60405180910390f35b61016c610167366004610bad565b6103cd565b6040519015158152602001610150565b61018560025481565b604051908152602001610150565b61016c6101a1366004610bd7565b6103e3565b6101cd7f000000000000000000000000000000000000000000000000000000000000000081565b60405160ff9091168152602001610150565b6101857f000000000000000000000000000000000000000000000000000000000000000081565b6101857f000000000000000000000000000000000000000000000000000000000000000081565b61016c61023b366004610bad565b61043a565b61025361024e366004610bad565b610471565b005b610185610263366004610c13565b60006020819052908152604090205481565b610185610283366004610c13565b60056020526000908152604090205481565b6006546102a8906001600160a01b031681565b6040516001600160a01b039091168152602001610150565b610143610512565b61016c6102d6366004610bad565b61051f565b61016c6102e9366004610bad565b610556565b6102536102fc366004610c35565b610563565b61018561030f366004610ca8565b600160209081526000928352604080842090915290825290205481565b61025361033a366004610c13565b610826565b6003805461034c90610cdb565b80601f016020809104026020016040519081016040528092919081815260200182805461037890610cdb565b80156103c55780601f1061039a576101008083540402835291602001916103c5565b820191906000526020600020905b8154815290600101906020018083116103a857829003601f168201915b505050505081565b60006103da338484610905565b50600192915050565b6001600160a01b0383166000908152600160209081526040808320338452909152812054600019811461042457610424853361041f8685610d2c565b610905565b61042f8585856109a2565b506001949350505050565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916103da91859061041f908690610d43565b6006546001600160a01b0316331461049c576040516330cd747160e01b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006104c78383610a7e565b806104d157505050565b80600254111561050d576040517fa4875a4900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050565b6004805461034c90610cdb565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916103da91859061041f908690610d2c565b60006103da3384846109a2565b8342111561059d576040517f1a15a3cc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08111156105f7576040517f40c1e74800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8260ff16601b1415801561060f57508260ff16601c14155b15610646576040517f119bce3900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080518082018252600281527f19010000000000000000000000000000000000000000000000000000000000006020808301919091526001600160a01b038a166000908152600590915291822080547f0000000000000000000000000000000000000000000000000000000000000000917f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9918c918c918c91886106ea83610d5b565b909155506040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810188905260e0016040516020818303038152906040528051906020012060405160200161074e93929190610d76565b60408051601f198184030181528282528051602091820120600080855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa1580156107b9573d6000803e3d6000fd5b505050602060405103519050886001600160a01b0316816001600160a01b031614610810576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61081b898989610905565b505050505050505050565b6006546001600160a01b03163314610851576040516330cd747160e01b815260040160405180910390fd5b6001600160a01b038116610891576040517f49e27cff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6006546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600680547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b6001600160a01b038316158061092257506001600160a01b038216155b1561094057604051630da30f6560e31b815260040160405180910390fd5b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b03831615806109bf57506001600160a01b038216155b156109dd57604051630da30f6560e31b815260040160405180910390fd5b6001600160a01b03831660009081526020819052604081208054839290610a05908490610d2c565b90915550506001600160a01b03821660009081526020819052604081208054839290610a32908490610d43565b92505081905550816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161099591815260200190565b6001600160a01b038216610aa557604051630da30f6560e31b815260040160405180910390fd5b8060026000828254610ab79190610d43565b90915550506001600160a01b03821660009081526020819052604081208054839290610ae4908490610d43565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b60005b83811015610b49578181015183820152602001610b31565b83811115610b58576000848401525b50505050565b6020815260008251806020840152610b7d816040850160208701610b2e565b601f01601f19169190910160400192915050565b80356001600160a01b0381168114610ba857600080fd5b919050565b60008060408385031215610bc057600080fd5b610bc983610b91565b946020939093013593505050565b600080600060608486031215610bec57600080fd5b610bf584610b91565b9250610c0360208501610b91565b9150604084013590509250925092565b600060208284031215610c2557600080fd5b610c2e82610b91565b9392505050565b600080600080600080600060e0888a031215610c5057600080fd5b610c5988610b91565b9650610c6760208901610b91565b95506040880135945060608801359350608088013560ff81168114610c8b57600080fd5b9699959850939692959460a0840135945060c09093013592915050565b60008060408385031215610cbb57600080fd5b610cc483610b91565b9150610cd260208401610b91565b90509250929050565b600181811c90821680610cef57607f821691505b60208210811415610d1057634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b600082821015610d3e57610d3e610d16565b500390565b60008219821115610d5657610d56610d16565b500190565b6000600019821415610d6f57610d6f610d16565b5060010190565b60008451610d88818460208901610b2e565b9190910192835250602082015260400191905056fea264697066735822122076f9ae7af78c925b19714fc4d3ff220bc0456630f9bebac6598eb4a0c24a3eac64736f6c63430008090033", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101365760003560e01c806370a08231116100b2578063a457c2d711610081578063d505accf11610066578063d505accf146102ee578063dd62ed3e14610301578063f2fde38b1461032c57600080fd5b8063a457c2d7146102c8578063a9059cbb146102db57600080fd5b806370a08231146102555780637ecebe00146102755780638da5cb5b1461029557806395d89b41146102c057600080fd5b8063313ce567116101095780633644e515116100ee5780633644e51514610206578063395093511461022d57806340c10f191461024057600080fd5b8063313ce567146101a6578063355274ea146101df57600080fd5b806306fdde031461013b578063095ea7b31461015957806318160ddd1461017c57806323b872dd14610193575b600080fd5b61014361033f565b6040516101509190610b5e565b60405180910390f35b61016c610167366004610bad565b6103cd565b6040519015158152602001610150565b61018560025481565b604051908152602001610150565b61016c6101a1366004610bd7565b6103e3565b6101cd7f000000000000000000000000000000000000000000000000000000000000000081565b60405160ff9091168152602001610150565b6101857f000000000000000000000000000000000000000000000000000000000000000081565b6101857f000000000000000000000000000000000000000000000000000000000000000081565b61016c61023b366004610bad565b61043a565b61025361024e366004610bad565b610471565b005b610185610263366004610c13565b60006020819052908152604090205481565b610185610283366004610c13565b60056020526000908152604090205481565b6006546102a8906001600160a01b031681565b6040516001600160a01b039091168152602001610150565b610143610512565b61016c6102d6366004610bad565b61051f565b61016c6102e9366004610bad565b610556565b6102536102fc366004610c35565b610563565b61018561030f366004610ca8565b600160209081526000928352604080842090915290825290205481565b61025361033a366004610c13565b610826565b6003805461034c90610cdb565b80601f016020809104026020016040519081016040528092919081815260200182805461037890610cdb565b80156103c55780601f1061039a576101008083540402835291602001916103c5565b820191906000526020600020905b8154815290600101906020018083116103a857829003601f168201915b505050505081565b60006103da338484610905565b50600192915050565b6001600160a01b0383166000908152600160209081526040808320338452909152812054600019811461042457610424853361041f8685610d2c565b610905565b61042f8585856109a2565b506001949350505050565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916103da91859061041f908690610d43565b6006546001600160a01b0316331461049c576040516330cd747160e01b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006104c78383610a7e565b806104d157505050565b80600254111561050d576040517fa4875a4900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050565b6004805461034c90610cdb565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916103da91859061041f908690610d2c565b60006103da3384846109a2565b8342111561059d576040517f1a15a3cc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08111156105f7576040517f40c1e74800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8260ff16601b1415801561060f57508260ff16601c14155b15610646576040517f119bce3900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080518082018252600281527f19010000000000000000000000000000000000000000000000000000000000006020808301919091526001600160a01b038a166000908152600590915291822080547f0000000000000000000000000000000000000000000000000000000000000000917f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9918c918c918c91886106ea83610d5b565b909155506040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810188905260e0016040516020818303038152906040528051906020012060405160200161074e93929190610d76565b60408051601f198184030181528282528051602091820120600080855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa1580156107b9573d6000803e3d6000fd5b505050602060405103519050886001600160a01b0316816001600160a01b031614610810576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61081b898989610905565b505050505050505050565b6006546001600160a01b03163314610851576040516330cd747160e01b815260040160405180910390fd5b6001600160a01b038116610891576040517f49e27cff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6006546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600680547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b6001600160a01b038316158061092257506001600160a01b038216155b1561094057604051630da30f6560e31b815260040160405180910390fd5b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b03831615806109bf57506001600160a01b038216155b156109dd57604051630da30f6560e31b815260040160405180910390fd5b6001600160a01b03831660009081526020819052604081208054839290610a05908490610d2c565b90915550506001600160a01b03821660009081526020819052604081208054839290610a32908490610d43565b92505081905550816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161099591815260200190565b6001600160a01b038216610aa557604051630da30f6560e31b815260040160405180910390fd5b8060026000828254610ab79190610d43565b90915550506001600160a01b03821660009081526020819052604081208054839290610ae4908490610d43565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b60005b83811015610b49578181015183820152602001610b31565b83811115610b58576000848401525b50505050565b6020815260008251806020840152610b7d816040850160208701610b2e565b601f01601f19169190910160400192915050565b80356001600160a01b0381168114610ba857600080fd5b919050565b60008060408385031215610bc057600080fd5b610bc983610b91565b946020939093013593505050565b600080600060608486031215610bec57600080fd5b610bf584610b91565b9250610c0360208501610b91565b9150604084013590509250925092565b600060208284031215610c2557600080fd5b610c2e82610b91565b9392505050565b600080600080600080600060e0888a031215610c5057600080fd5b610c5988610b91565b9650610c6760208901610b91565b95506040880135945060608801359350608088013560ff81168114610c8b57600080fd5b9699959850939692959460a0840135945060c09093013592915050565b60008060408385031215610cbb57600080fd5b610cc483610b91565b9150610cd260208401610b91565b90509250929050565b600181811c90821680610cef57607f821691505b60208210811415610d1057634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b600082821015610d3e57610d3e610d16565b500390565b60008219821115610d5657610d56610d16565b500190565b6000600019821415610d6f57610d6f610d16565b5060010190565b60008451610d88818460208901610b2e565b9190910192835250602082015260400191905056fea264697066735822122076f9ae7af78c925b19714fc4d3ff220bc0456630f9bebac6598eb4a0c24a3eac64736f6c63430008090033", "linkReferences": {}, "deployedLinkReferences": {} } diff --git a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/Ownable.sol/Ownable.dbg.json b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/Ownable.sol/Ownable.dbg.json index d1763aed..ad925cc8 100644 --- a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/Ownable.sol/Ownable.dbg.json +++ b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/Ownable.sol/Ownable.dbg.json @@ -1,4 +1,4 @@ { "_format": "hh-sol-dbg-1", - "buildInfo": "../../../../build-info/12c9a8f7cfdae039186ba7f422bc265d.json" + "buildInfo": "../../../../build-info/3aa2fc6680ec7dd0d7e17835f8008fcc.json" } diff --git a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/TokenDeployer.sol/TokenDeployer.dbg.json b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/TokenDeployer.sol/TokenDeployer.dbg.json index d1763aed..ad925cc8 100644 --- a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/TokenDeployer.sol/TokenDeployer.dbg.json +++ b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/TokenDeployer.sol/TokenDeployer.dbg.json @@ -1,4 +1,4 @@ { "_format": "hh-sol-dbg-1", - "buildInfo": "../../../../build-info/12c9a8f7cfdae039186ba7f422bc265d.json" + "buildInfo": "../../../../build-info/3aa2fc6680ec7dd0d7e17835f8008fcc.json" } diff --git a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/TokenDeployer.sol/TokenDeployer.json b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/TokenDeployer.sol/TokenDeployer.json index 24e83ad3..2453ade9 100644 --- a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/TokenDeployer.sol/TokenDeployer.json +++ b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/TokenDeployer.sol/TokenDeployer.json @@ -43,8 +43,8 @@ "type": "function" } ], - "bytecode": "0x608060405234801561001057600080fd5b50611a85806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c80636fc95b3414610030575b600080fd5b61004361003e366004610113565b61006c565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b600081888888888888604051610081906100bd565b610090969594939291906101d8565b8190604051809103906000f59050801580156100b0573d6000803e3d6000fd5b5098975050505050505050565b6118378061021983390190565b60008083601f8401126100dc57600080fd5b50813567ffffffffffffffff8111156100f457600080fd5b60208301915083602082850101111561010c57600080fd5b9250929050565b600080600080600080600060a0888a03121561012e57600080fd5b873567ffffffffffffffff8082111561014657600080fd5b6101528b838c016100ca565b909950975060208a013591508082111561016b57600080fd5b506101788a828b016100ca565b909650945050604088013560ff8116811461019257600080fd5b969995985093969295946060840135945060809093013592915050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6080815260006101ec60808301888a6101af565b82810360208401526101ff8187896101af565b60ff95909516604084015250506060015294935050505056fe60e06040523480156200001157600080fd5b5060405162001837380380620018378339810160408190526200003491620002e1565b83838383838484848260039080519060200190620000549291906200016e565b5081516200006a9060049060208501906200016e565b5060ff166080908152835160208086019190912060408051808201825260018152603160f81b9084015280517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f938101939093528201527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6606082015246918101919091523060a082015260c0019150620001029050565b60408051601f1981840301815290829052805160209091012060a052600680546001600160a01b0319163390811790915591506000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a360c05250620003a995505050505050565b8280546200017c906200036c565b90600052602060002090601f016020900481019282620001a05760008555620001eb565b82601f10620001bb57805160ff1916838001178555620001eb565b82800160010185558215620001eb579182015b82811115620001eb578251825591602001919060010190620001ce565b50620001f9929150620001fd565b5090565b5b80821115620001f95760008155600101620001fe565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200023c57600080fd5b81516001600160401b038082111562000259576200025962000214565b604051601f8301601f19908116603f0116810190828211818310171562000284576200028462000214565b81604052838152602092508683858801011115620002a157600080fd5b600091505b83821015620002c55785820183015181830184015290820190620002a6565b83821115620002d75760008385830101525b9695505050505050565b60008060008060808587031215620002f857600080fd5b84516001600160401b03808211156200031057600080fd5b6200031e888389016200022a565b955060208701519150808211156200033557600080fd5b5062000344878288016200022a565b935050604085015160ff811681146200035c57600080fd5b6060959095015193969295505050565b600181811c908216806200038157607f821691505b60208210811415620003a357634e487b7160e01b600052602260045260246000fd5b50919050565b60805160a05160c051611450620003e760003960008181610265015261067301526000818161028c01526108de0152600061020101526114506000f3fe608060405234801561001057600080fd5b50600436106101775760003560e01c806340c10f19116100d857806395d89b411161008c578063d505accf11610066578063d505accf14610368578063dd62ed3e1461037b578063f2fde38b146103a657600080fd5b806395d89b411461033a578063a457c2d714610342578063a9059cbb1461035557600080fd5b806379cc6790116100bd57806379cc6790146102f45780637ecebe00146103075780638da5cb5b1461032757600080fd5b806340c10f19146102c157806370a08231146102d457600080fd5b8063313ce5671161012f578063355274ea11610114578063355274ea146102605780633644e5151461028757806339509351146102ae57600080fd5b8063313ce567146101fc57806331eecaf41461023557600080fd5b8063095ea7b311610160578063095ea7b3146101af57806318160ddd146101d257806323b872dd146101e957600080fd5b806306fdde031461017c57806308a1eee11461019a575b600080fd5b6101846103b9565b6040516101919190610e5d565b60405180910390f35b6101ad6101a8366004610e90565b610447565b005b6101c26101bd366004610ec5565b6104a8565b6040519015158152602001610191565b6101db60025481565b604051908152602001610191565b6101c26101f7366004610eef565b6104be565b6102237f000000000000000000000000000000000000000000000000000000000000000081565b60405160ff9091168152602001610191565b610248610243366004610e90565b610515565b6040516001600160a01b039091168152602001610191565b6101db7f000000000000000000000000000000000000000000000000000000000000000081565b6101db7f000000000000000000000000000000000000000000000000000000000000000081565b6101c26102bc366004610ec5565b61060f565b6101ad6102cf366004610ec5565b610646565b6101db6102e2366004610f2b565b60006020819052908152604090205481565b6101ad610302366004610ec5565b6106e7565b6101db610315366004610f2b565b60056020526000908152604090205481565b600654610248906001600160a01b031681565b610184610758565b6101c2610350366004610ec5565b610765565b6101c2610363366004610ec5565b61079c565b6101ad610376366004610f4d565b6107a9565b6101db610389366004610fc0565b600160209081526000928352604080842090915290825290205481565b6101ad6103b4366004610f2b565b610a6c565b600380546103c690610ff3565b80601f01602080910402602001604051908101604052809291908181526020018280546103f290610ff3565b801561043f5780601f106104145761010080835404028352916020019161043f565b820191906000526020600020905b81548152906001019060200180831161042257829003601f168201915b505050505081565b6006546001600160a01b03163314610472576040516330cd747160e01b815260040160405180910390fd5b600061047d82610515565b6001600160a01b0381166000908152602081905260409020549091506104a4908290610b4b565b5050565b60006104b5338484610bfe565b50600192915050565b6001600160a01b038316600090815260016020908152604080832033845290915281205460001981146104ff576104ff85336104fa8685611044565b610bfe565b61050a858585610c9b565b506001949350505050565b6006546040516000917fff00000000000000000000000000000000000000000000000000000000000000916001600160a01b0390911690849061055a60208201610e20565b601f1982820381018352601f90910116604081905261057c919060200161105b565b604051602081830303815290604052805190602001206040516020016105f194939291907fff0000000000000000000000000000000000000000000000000000000000000094909416845260609290921b6bffffffffffffffffffffffff191660018401526015830152603582015260550190565b60408051601f19818403018152919052805160209091012092915050565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916104b59185906104fa908690611077565b6006546001600160a01b03163314610671576040516330cd747160e01b815260040160405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000061069c8383610d77565b806106a657505050565b8060025411156106e2576040517fa4875a4900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050565b6006546001600160a01b03163314610712576040516330cd747160e01b815260040160405180910390fd5b6001600160a01b0382166000908152600160209081526040808320338452909152902054600019811461074e5761074e83336104fa8585611044565b6106e28383610b4b565b600480546103c690610ff3565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916104b59185906104fa908690611044565b60006104b5338484610c9b565b834211156107e3576040517f1a15a3cc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a081111561083d576040517f40c1e74800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8260ff16601b1415801561085557508260ff16601c14155b1561088c576040517f119bce3900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080518082018252600281527f19010000000000000000000000000000000000000000000000000000000000006020808301919091526001600160a01b038a166000908152600590915291822080547f0000000000000000000000000000000000000000000000000000000000000000917f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9918c918c918c91886109308361108f565b909155506040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810188905260e00160405160208183030381529060405280519060200120604051602001610994939291906110aa565b60408051601f198184030181528282528051602091820120600080855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa1580156109ff573d6000803e3d6000fd5b505050602060405103519050886001600160a01b0316816001600160a01b031614610a56576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610a61898989610bfe565b505050505050505050565b6006546001600160a01b03163314610a97576040516330cd747160e01b815260040160405180910390fd5b6001600160a01b038116610ad7576040517f49e27cff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6006546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600680547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b6001600160a01b038216610b7257604051630da30f6560e31b815260040160405180910390fd5b6001600160a01b03821660009081526020819052604081208054839290610b9a908490611044565b925050819055508060026000828254610bb39190611044565b90915550506040518181526000906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906020015b60405180910390a35050565b6001600160a01b0383161580610c1b57506001600160a01b038216155b15610c3957604051630da30f6560e31b815260040160405180910390fd5b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b0383161580610cb857506001600160a01b038216155b15610cd657604051630da30f6560e31b815260040160405180910390fd5b6001600160a01b03831660009081526020819052604081208054839290610cfe908490611044565b90915550506001600160a01b03821660009081526020819052604081208054839290610d2b908490611077565b92505081905550816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610c8e91815260200190565b6001600160a01b038216610d9e57604051630da30f6560e31b815260040160405180910390fd5b8060026000828254610db09190611077565b90915550506001600160a01b03821660009081526020819052604081208054839290610ddd908490611077565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90602001610bf2565b610349806110d283390190565b60005b83811015610e48578181015183820152602001610e30565b83811115610e57576000848401525b50505050565b6020815260008251806020840152610e7c816040850160208701610e2d565b601f01601f19169190910160400192915050565b600060208284031215610ea257600080fd5b5035919050565b80356001600160a01b0381168114610ec057600080fd5b919050565b60008060408385031215610ed857600080fd5b610ee183610ea9565b946020939093013593505050565b600080600060608486031215610f0457600080fd5b610f0d84610ea9565b9250610f1b60208501610ea9565b9150604084013590509250925092565b600060208284031215610f3d57600080fd5b610f4682610ea9565b9392505050565b600080600080600080600060e0888a031215610f6857600080fd5b610f7188610ea9565b9650610f7f60208901610ea9565b95506040880135945060608801359350608088013560ff81168114610fa357600080fd5b9699959850939692959460a0840135945060c09093013592915050565b60008060408385031215610fd357600080fd5b610fdc83610ea9565b9150610fea60208401610ea9565b90509250929050565b600181811c9082168061100757607f821691505b6020821081141561102857634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b6000828210156110565761105661102e565b500390565b6000825161106d818460208701610e2d565b9190910192915050565b6000821982111561108a5761108a61102e565b500190565b60006000198214156110a3576110a361102e565b5060010190565b600084516110bc818460208901610e2d565b9190910192835250602082015260400191905056fe6080604052600160005534801561001557600080fd5b50610324806100256000396000f3fe608060405234801561001057600080fd5b50600436106100355760003560e01c8062f55d9d1461003a5780631cff79cd1461004f575b600080fd5b61004d6100483660046101da565b610079565b005b61006261005d3660046101fc565b6100bb565b60405161007092919061027f565b60405180910390f35b6002600054141561009d5760405163caa30f5560e01b815260040160405180910390fd5b600260005573ffffffffffffffffffffffffffffffffffffffff8116ff5b60006060600260005414156100e35760405163caa30f5560e01b815260040160405180910390fd5b600260005573ffffffffffffffffffffffffffffffffffffffff85163b610136576040517f6f7c43f100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8473ffffffffffffffffffffffffffffffffffffffff16848460405161015d9291906102de565b6000604051808303816000865af19150503d806000811461019a576040519150601f19603f3d011682016040523d82523d6000602084013e61019f565b606091505b50600160005590969095509350505050565b803573ffffffffffffffffffffffffffffffffffffffff811681146101d557600080fd5b919050565b6000602082840312156101ec57600080fd5b6101f5826101b1565b9392505050565b60008060006040848603121561021157600080fd5b61021a846101b1565b9250602084013567ffffffffffffffff8082111561023757600080fd5b818601915086601f83011261024b57600080fd5b81358181111561025a57600080fd5b87602082850101111561026c57600080fd5b6020830194508093505050509250925092565b821515815260006020604081840152835180604085015260005b818110156102b557858101830151858201606001528201610299565b818111156102c7576000606083870101525b50601f01601f191692909201606001949350505050565b818382376000910190815291905056fea2646970667358221220dfb702492c35c6a884ac11997b483e3fee4ff8145c7abb0799d2a2fc8674c39364736f6c63430008090033a2646970667358221220a0862d822c5e76c8687a97d9d537ec0e3da210445e2873be021a84f7cd0a8dd464736f6c63430008090033a264697066735822122034c450aad63587ed41d45981e61047fed97aa7f349e0c22baccbc8285c613ab864736f6c63430008090033", - "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061002b5760003560e01c80636fc95b3414610030575b600080fd5b61004361003e366004610113565b61006c565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b600081888888888888604051610081906100bd565b610090969594939291906101d8565b8190604051809103906000f59050801580156100b0573d6000803e3d6000fd5b5098975050505050505050565b6118378061021983390190565b60008083601f8401126100dc57600080fd5b50813567ffffffffffffffff8111156100f457600080fd5b60208301915083602082850101111561010c57600080fd5b9250929050565b600080600080600080600060a0888a03121561012e57600080fd5b873567ffffffffffffffff8082111561014657600080fd5b6101528b838c016100ca565b909950975060208a013591508082111561016b57600080fd5b506101788a828b016100ca565b909650945050604088013560ff8116811461019257600080fd5b969995985093969295946060840135945060809093013592915050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6080815260006101ec60808301888a6101af565b82810360208401526101ff8187896101af565b60ff95909516604084015250506060015294935050505056fe60e06040523480156200001157600080fd5b5060405162001837380380620018378339810160408190526200003491620002e1565b83838383838484848260039080519060200190620000549291906200016e565b5081516200006a9060049060208501906200016e565b5060ff166080908152835160208086019190912060408051808201825260018152603160f81b9084015280517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f938101939093528201527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6606082015246918101919091523060a082015260c0019150620001029050565b60408051601f1981840301815290829052805160209091012060a052600680546001600160a01b0319163390811790915591506000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a360c05250620003a995505050505050565b8280546200017c906200036c565b90600052602060002090601f016020900481019282620001a05760008555620001eb565b82601f10620001bb57805160ff1916838001178555620001eb565b82800160010185558215620001eb579182015b82811115620001eb578251825591602001919060010190620001ce565b50620001f9929150620001fd565b5090565b5b80821115620001f95760008155600101620001fe565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200023c57600080fd5b81516001600160401b038082111562000259576200025962000214565b604051601f8301601f19908116603f0116810190828211818310171562000284576200028462000214565b81604052838152602092508683858801011115620002a157600080fd5b600091505b83821015620002c55785820183015181830184015290820190620002a6565b83821115620002d75760008385830101525b9695505050505050565b60008060008060808587031215620002f857600080fd5b84516001600160401b03808211156200031057600080fd5b6200031e888389016200022a565b955060208701519150808211156200033557600080fd5b5062000344878288016200022a565b935050604085015160ff811681146200035c57600080fd5b6060959095015193969295505050565b600181811c908216806200038157607f821691505b60208210811415620003a357634e487b7160e01b600052602260045260246000fd5b50919050565b60805160a05160c051611450620003e760003960008181610265015261067301526000818161028c01526108de0152600061020101526114506000f3fe608060405234801561001057600080fd5b50600436106101775760003560e01c806340c10f19116100d857806395d89b411161008c578063d505accf11610066578063d505accf14610368578063dd62ed3e1461037b578063f2fde38b146103a657600080fd5b806395d89b411461033a578063a457c2d714610342578063a9059cbb1461035557600080fd5b806379cc6790116100bd57806379cc6790146102f45780637ecebe00146103075780638da5cb5b1461032757600080fd5b806340c10f19146102c157806370a08231146102d457600080fd5b8063313ce5671161012f578063355274ea11610114578063355274ea146102605780633644e5151461028757806339509351146102ae57600080fd5b8063313ce567146101fc57806331eecaf41461023557600080fd5b8063095ea7b311610160578063095ea7b3146101af57806318160ddd146101d257806323b872dd146101e957600080fd5b806306fdde031461017c57806308a1eee11461019a575b600080fd5b6101846103b9565b6040516101919190610e5d565b60405180910390f35b6101ad6101a8366004610e90565b610447565b005b6101c26101bd366004610ec5565b6104a8565b6040519015158152602001610191565b6101db60025481565b604051908152602001610191565b6101c26101f7366004610eef565b6104be565b6102237f000000000000000000000000000000000000000000000000000000000000000081565b60405160ff9091168152602001610191565b610248610243366004610e90565b610515565b6040516001600160a01b039091168152602001610191565b6101db7f000000000000000000000000000000000000000000000000000000000000000081565b6101db7f000000000000000000000000000000000000000000000000000000000000000081565b6101c26102bc366004610ec5565b61060f565b6101ad6102cf366004610ec5565b610646565b6101db6102e2366004610f2b565b60006020819052908152604090205481565b6101ad610302366004610ec5565b6106e7565b6101db610315366004610f2b565b60056020526000908152604090205481565b600654610248906001600160a01b031681565b610184610758565b6101c2610350366004610ec5565b610765565b6101c2610363366004610ec5565b61079c565b6101ad610376366004610f4d565b6107a9565b6101db610389366004610fc0565b600160209081526000928352604080842090915290825290205481565b6101ad6103b4366004610f2b565b610a6c565b600380546103c690610ff3565b80601f01602080910402602001604051908101604052809291908181526020018280546103f290610ff3565b801561043f5780601f106104145761010080835404028352916020019161043f565b820191906000526020600020905b81548152906001019060200180831161042257829003601f168201915b505050505081565b6006546001600160a01b03163314610472576040516330cd747160e01b815260040160405180910390fd5b600061047d82610515565b6001600160a01b0381166000908152602081905260409020549091506104a4908290610b4b565b5050565b60006104b5338484610bfe565b50600192915050565b6001600160a01b038316600090815260016020908152604080832033845290915281205460001981146104ff576104ff85336104fa8685611044565b610bfe565b61050a858585610c9b565b506001949350505050565b6006546040516000917fff00000000000000000000000000000000000000000000000000000000000000916001600160a01b0390911690849061055a60208201610e20565b601f1982820381018352601f90910116604081905261057c919060200161105b565b604051602081830303815290604052805190602001206040516020016105f194939291907fff0000000000000000000000000000000000000000000000000000000000000094909416845260609290921b6bffffffffffffffffffffffff191660018401526015830152603582015260550190565b60408051601f19818403018152919052805160209091012092915050565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916104b59185906104fa908690611077565b6006546001600160a01b03163314610671576040516330cd747160e01b815260040160405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000061069c8383610d77565b806106a657505050565b8060025411156106e2576040517fa4875a4900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050565b6006546001600160a01b03163314610712576040516330cd747160e01b815260040160405180910390fd5b6001600160a01b0382166000908152600160209081526040808320338452909152902054600019811461074e5761074e83336104fa8585611044565b6106e28383610b4b565b600480546103c690610ff3565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916104b59185906104fa908690611044565b60006104b5338484610c9b565b834211156107e3576040517f1a15a3cc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a081111561083d576040517f40c1e74800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8260ff16601b1415801561085557508260ff16601c14155b1561088c576040517f119bce3900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080518082018252600281527f19010000000000000000000000000000000000000000000000000000000000006020808301919091526001600160a01b038a166000908152600590915291822080547f0000000000000000000000000000000000000000000000000000000000000000917f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9918c918c918c91886109308361108f565b909155506040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810188905260e00160405160208183030381529060405280519060200120604051602001610994939291906110aa565b60408051601f198184030181528282528051602091820120600080855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa1580156109ff573d6000803e3d6000fd5b505050602060405103519050886001600160a01b0316816001600160a01b031614610a56576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610a61898989610bfe565b505050505050505050565b6006546001600160a01b03163314610a97576040516330cd747160e01b815260040160405180910390fd5b6001600160a01b038116610ad7576040517f49e27cff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6006546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600680547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b6001600160a01b038216610b7257604051630da30f6560e31b815260040160405180910390fd5b6001600160a01b03821660009081526020819052604081208054839290610b9a908490611044565b925050819055508060026000828254610bb39190611044565b90915550506040518181526000906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906020015b60405180910390a35050565b6001600160a01b0383161580610c1b57506001600160a01b038216155b15610c3957604051630da30f6560e31b815260040160405180910390fd5b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b0383161580610cb857506001600160a01b038216155b15610cd657604051630da30f6560e31b815260040160405180910390fd5b6001600160a01b03831660009081526020819052604081208054839290610cfe908490611044565b90915550506001600160a01b03821660009081526020819052604081208054839290610d2b908490611077565b92505081905550816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610c8e91815260200190565b6001600160a01b038216610d9e57604051630da30f6560e31b815260040160405180910390fd5b8060026000828254610db09190611077565b90915550506001600160a01b03821660009081526020819052604081208054839290610ddd908490611077565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90602001610bf2565b610349806110d283390190565b60005b83811015610e48578181015183820152602001610e30565b83811115610e57576000848401525b50505050565b6020815260008251806020840152610e7c816040850160208701610e2d565b601f01601f19169190910160400192915050565b600060208284031215610ea257600080fd5b5035919050565b80356001600160a01b0381168114610ec057600080fd5b919050565b60008060408385031215610ed857600080fd5b610ee183610ea9565b946020939093013593505050565b600080600060608486031215610f0457600080fd5b610f0d84610ea9565b9250610f1b60208501610ea9565b9150604084013590509250925092565b600060208284031215610f3d57600080fd5b610f4682610ea9565b9392505050565b600080600080600080600060e0888a031215610f6857600080fd5b610f7188610ea9565b9650610f7f60208901610ea9565b95506040880135945060608801359350608088013560ff81168114610fa357600080fd5b9699959850939692959460a0840135945060c09093013592915050565b60008060408385031215610fd357600080fd5b610fdc83610ea9565b9150610fea60208401610ea9565b90509250929050565b600181811c9082168061100757607f821691505b6020821081141561102857634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b6000828210156110565761105661102e565b500390565b6000825161106d818460208701610e2d565b9190910192915050565b6000821982111561108a5761108a61102e565b500190565b60006000198214156110a3576110a361102e565b5060010190565b600084516110bc818460208901610e2d565b9190910192835250602082015260400191905056fe6080604052600160005534801561001557600080fd5b50610324806100256000396000f3fe608060405234801561001057600080fd5b50600436106100355760003560e01c8062f55d9d1461003a5780631cff79cd1461004f575b600080fd5b61004d6100483660046101da565b610079565b005b61006261005d3660046101fc565b6100bb565b60405161007092919061027f565b60405180910390f35b6002600054141561009d5760405163caa30f5560e01b815260040160405180910390fd5b600260005573ffffffffffffffffffffffffffffffffffffffff8116ff5b60006060600260005414156100e35760405163caa30f5560e01b815260040160405180910390fd5b600260005573ffffffffffffffffffffffffffffffffffffffff85163b610136576040517f6f7c43f100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8473ffffffffffffffffffffffffffffffffffffffff16848460405161015d9291906102de565b6000604051808303816000865af19150503d806000811461019a576040519150601f19603f3d011682016040523d82523d6000602084013e61019f565b606091505b50600160005590969095509350505050565b803573ffffffffffffffffffffffffffffffffffffffff811681146101d557600080fd5b919050565b6000602082840312156101ec57600080fd5b6101f5826101b1565b9392505050565b60008060006040848603121561021157600080fd5b61021a846101b1565b9250602084013567ffffffffffffffff8082111561023757600080fd5b818601915086601f83011261024b57600080fd5b81358181111561025a57600080fd5b87602082850101111561026c57600080fd5b6020830194508093505050509250925092565b821515815260006020604081840152835180604085015260005b818110156102b557858101830151858201606001528201610299565b818111156102c7576000606083870101525b50601f01601f191692909201606001949350505050565b818382376000910190815291905056fea2646970667358221220dfb702492c35c6a884ac11997b483e3fee4ff8145c7abb0799d2a2fc8674c39364736f6c63430008090033a2646970667358221220a0862d822c5e76c8687a97d9d537ec0e3da210445e2873be021a84f7cd0a8dd464736f6c63430008090033a264697066735822122034c450aad63587ed41d45981e61047fed97aa7f349e0c22baccbc8285c613ab864736f6c63430008090033", + "bytecode": "0x608060405234801561001057600080fd5b50611a85806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c80636fc95b3414610030575b600080fd5b61004361003e366004610113565b61006c565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b600081888888888888604051610081906100bd565b610090969594939291906101d8565b8190604051809103906000f59050801580156100b0573d6000803e3d6000fd5b5098975050505050505050565b6118378061021983390190565b60008083601f8401126100dc57600080fd5b50813567ffffffffffffffff8111156100f457600080fd5b60208301915083602082850101111561010c57600080fd5b9250929050565b600080600080600080600060a0888a03121561012e57600080fd5b873567ffffffffffffffff8082111561014657600080fd5b6101528b838c016100ca565b909950975060208a013591508082111561016b57600080fd5b506101788a828b016100ca565b909650945050604088013560ff8116811461019257600080fd5b969995985093969295946060840135945060809093013592915050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6080815260006101ec60808301888a6101af565b82810360208401526101ff8187896101af565b60ff95909516604084015250506060015294935050505056fe60e06040523480156200001157600080fd5b5060405162001837380380620018378339810160408190526200003491620002e1565b83838383838484848260039080519060200190620000549291906200016e565b5081516200006a9060049060208501906200016e565b5060ff166080908152835160208086019190912060408051808201825260018152603160f81b9084015280517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f938101939093528201527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6606082015246918101919091523060a082015260c0019150620001029050565b60408051601f1981840301815290829052805160209091012060a052600680546001600160a01b0319163390811790915591506000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a360c05250620003a995505050505050565b8280546200017c906200036c565b90600052602060002090601f016020900481019282620001a05760008555620001eb565b82601f10620001bb57805160ff1916838001178555620001eb565b82800160010185558215620001eb579182015b82811115620001eb578251825591602001919060010190620001ce565b50620001f9929150620001fd565b5090565b5b80821115620001f95760008155600101620001fe565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200023c57600080fd5b81516001600160401b038082111562000259576200025962000214565b604051601f8301601f19908116603f0116810190828211818310171562000284576200028462000214565b81604052838152602092508683858801011115620002a157600080fd5b600091505b83821015620002c55785820183015181830184015290820190620002a6565b83821115620002d75760008385830101525b9695505050505050565b60008060008060808587031215620002f857600080fd5b84516001600160401b03808211156200031057600080fd5b6200031e888389016200022a565b955060208701519150808211156200033557600080fd5b5062000344878288016200022a565b935050604085015160ff811681146200035c57600080fd5b6060959095015193969295505050565b600181811c908216806200038157607f821691505b60208210811415620003a357634e487b7160e01b600052602260045260246000fd5b50919050565b60805160a05160c051611450620003e760003960008181610265015261067301526000818161028c01526108de0152600061020101526114506000f3fe608060405234801561001057600080fd5b50600436106101775760003560e01c806340c10f19116100d857806395d89b411161008c578063d505accf11610066578063d505accf14610368578063dd62ed3e1461037b578063f2fde38b146103a657600080fd5b806395d89b411461033a578063a457c2d714610342578063a9059cbb1461035557600080fd5b806379cc6790116100bd57806379cc6790146102f45780637ecebe00146103075780638da5cb5b1461032757600080fd5b806340c10f19146102c157806370a08231146102d457600080fd5b8063313ce5671161012f578063355274ea11610114578063355274ea146102605780633644e5151461028757806339509351146102ae57600080fd5b8063313ce567146101fc57806331eecaf41461023557600080fd5b8063095ea7b311610160578063095ea7b3146101af57806318160ddd146101d257806323b872dd146101e957600080fd5b806306fdde031461017c57806308a1eee11461019a575b600080fd5b6101846103b9565b6040516101919190610e5d565b60405180910390f35b6101ad6101a8366004610e90565b610447565b005b6101c26101bd366004610ec5565b6104a8565b6040519015158152602001610191565b6101db60025481565b604051908152602001610191565b6101c26101f7366004610eef565b6104be565b6102237f000000000000000000000000000000000000000000000000000000000000000081565b60405160ff9091168152602001610191565b610248610243366004610e90565b610515565b6040516001600160a01b039091168152602001610191565b6101db7f000000000000000000000000000000000000000000000000000000000000000081565b6101db7f000000000000000000000000000000000000000000000000000000000000000081565b6101c26102bc366004610ec5565b61060f565b6101ad6102cf366004610ec5565b610646565b6101db6102e2366004610f2b565b60006020819052908152604090205481565b6101ad610302366004610ec5565b6106e7565b6101db610315366004610f2b565b60056020526000908152604090205481565b600654610248906001600160a01b031681565b610184610758565b6101c2610350366004610ec5565b610765565b6101c2610363366004610ec5565b61079c565b6101ad610376366004610f4d565b6107a9565b6101db610389366004610fc0565b600160209081526000928352604080842090915290825290205481565b6101ad6103b4366004610f2b565b610a6c565b600380546103c690610ff3565b80601f01602080910402602001604051908101604052809291908181526020018280546103f290610ff3565b801561043f5780601f106104145761010080835404028352916020019161043f565b820191906000526020600020905b81548152906001019060200180831161042257829003601f168201915b505050505081565b6006546001600160a01b03163314610472576040516330cd747160e01b815260040160405180910390fd5b600061047d82610515565b6001600160a01b0381166000908152602081905260409020549091506104a4908290610b4b565b5050565b60006104b5338484610bfe565b50600192915050565b6001600160a01b038316600090815260016020908152604080832033845290915281205460001981146104ff576104ff85336104fa8685611044565b610bfe565b61050a858585610c9b565b506001949350505050565b6006546040516000917fff00000000000000000000000000000000000000000000000000000000000000916001600160a01b0390911690849061055a60208201610e20565b601f1982820381018352601f90910116604081905261057c919060200161105b565b604051602081830303815290604052805190602001206040516020016105f194939291907fff0000000000000000000000000000000000000000000000000000000000000094909416845260609290921b6bffffffffffffffffffffffff191660018401526015830152603582015260550190565b60408051601f19818403018152919052805160209091012092915050565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916104b59185906104fa908690611077565b6006546001600160a01b03163314610671576040516330cd747160e01b815260040160405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000061069c8383610d77565b806106a657505050565b8060025411156106e2576040517fa4875a4900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050565b6006546001600160a01b03163314610712576040516330cd747160e01b815260040160405180910390fd5b6001600160a01b0382166000908152600160209081526040808320338452909152902054600019811461074e5761074e83336104fa8585611044565b6106e28383610b4b565b600480546103c690610ff3565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916104b59185906104fa908690611044565b60006104b5338484610c9b565b834211156107e3576040517f1a15a3cc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a081111561083d576040517f40c1e74800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8260ff16601b1415801561085557508260ff16601c14155b1561088c576040517f119bce3900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080518082018252600281527f19010000000000000000000000000000000000000000000000000000000000006020808301919091526001600160a01b038a166000908152600590915291822080547f0000000000000000000000000000000000000000000000000000000000000000917f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9918c918c918c91886109308361108f565b909155506040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810188905260e00160405160208183030381529060405280519060200120604051602001610994939291906110aa565b60408051601f198184030181528282528051602091820120600080855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa1580156109ff573d6000803e3d6000fd5b505050602060405103519050886001600160a01b0316816001600160a01b031614610a56576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610a61898989610bfe565b505050505050505050565b6006546001600160a01b03163314610a97576040516330cd747160e01b815260040160405180910390fd5b6001600160a01b038116610ad7576040517f49e27cff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6006546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600680547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b6001600160a01b038216610b7257604051630da30f6560e31b815260040160405180910390fd5b6001600160a01b03821660009081526020819052604081208054839290610b9a908490611044565b925050819055508060026000828254610bb39190611044565b90915550506040518181526000906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906020015b60405180910390a35050565b6001600160a01b0383161580610c1b57506001600160a01b038216155b15610c3957604051630da30f6560e31b815260040160405180910390fd5b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b0383161580610cb857506001600160a01b038216155b15610cd657604051630da30f6560e31b815260040160405180910390fd5b6001600160a01b03831660009081526020819052604081208054839290610cfe908490611044565b90915550506001600160a01b03821660009081526020819052604081208054839290610d2b908490611077565b92505081905550816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610c8e91815260200190565b6001600160a01b038216610d9e57604051630da30f6560e31b815260040160405180910390fd5b8060026000828254610db09190611077565b90915550506001600160a01b03821660009081526020819052604081208054839290610ddd908490611077565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90602001610bf2565b610349806110d283390190565b60005b83811015610e48578181015183820152602001610e30565b83811115610e57576000848401525b50505050565b6020815260008251806020840152610e7c816040850160208701610e2d565b601f01601f19169190910160400192915050565b600060208284031215610ea257600080fd5b5035919050565b80356001600160a01b0381168114610ec057600080fd5b919050565b60008060408385031215610ed857600080fd5b610ee183610ea9565b946020939093013593505050565b600080600060608486031215610f0457600080fd5b610f0d84610ea9565b9250610f1b60208501610ea9565b9150604084013590509250925092565b600060208284031215610f3d57600080fd5b610f4682610ea9565b9392505050565b600080600080600080600060e0888a031215610f6857600080fd5b610f7188610ea9565b9650610f7f60208901610ea9565b95506040880135945060608801359350608088013560ff81168114610fa357600080fd5b9699959850939692959460a0840135945060c09093013592915050565b60008060408385031215610fd357600080fd5b610fdc83610ea9565b9150610fea60208401610ea9565b90509250929050565b600181811c9082168061100757607f821691505b6020821081141561102857634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b6000828210156110565761105661102e565b500390565b6000825161106d818460208701610e2d565b9190910192915050565b6000821982111561108a5761108a61102e565b500190565b60006000198214156110a3576110a361102e565b5060010190565b600084516110bc818460208901610e2d565b9190910192835250602082015260400191905056fe6080604052600160005534801561001557600080fd5b50610324806100256000396000f3fe608060405234801561001057600080fd5b50600436106100355760003560e01c8062f55d9d1461003a5780631cff79cd1461004f575b600080fd5b61004d6100483660046101da565b610079565b005b61006261005d3660046101fc565b6100bb565b60405161007092919061027f565b60405180910390f35b6002600054141561009d5760405163caa30f5560e01b815260040160405180910390fd5b600260005573ffffffffffffffffffffffffffffffffffffffff8116ff5b60006060600260005414156100e35760405163caa30f5560e01b815260040160405180910390fd5b600260005573ffffffffffffffffffffffffffffffffffffffff85163b610136576040517f6f7c43f100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8473ffffffffffffffffffffffffffffffffffffffff16848460405161015d9291906102de565b6000604051808303816000865af19150503d806000811461019a576040519150601f19603f3d011682016040523d82523d6000602084013e61019f565b606091505b50600160005590969095509350505050565b803573ffffffffffffffffffffffffffffffffffffffff811681146101d557600080fd5b919050565b6000602082840312156101ec57600080fd5b6101f5826101b1565b9392505050565b60008060006040848603121561021157600080fd5b61021a846101b1565b9250602084013567ffffffffffffffff8082111561023757600080fd5b818601915086601f83011261024b57600080fd5b81358181111561025a57600080fd5b87602082850101111561026c57600080fd5b6020830194508093505050509250925092565b821515815260006020604081840152835180604085015260005b818110156102b557858101830151858201606001528201610299565b818111156102c7576000606083870101525b50601f01601f191692909201606001949350505050565b818382376000910190815291905056fea2646970667358221220dfb702492c35c6a884ac11997b483e3fee4ff8145c7abb0799d2a2fc8674c39364736f6c63430008090033a26469706673582212200c91fd2c0c0716a838a82654afcb7fba074539452c7c6cd867f9add7ce181d4a64736f6c63430008090033a2646970667358221220f353c41cd4ed6206c4282f2f493c7ccfaa3d7d29a1bafa7407ad53753f7d5de964736f6c63430008090033", + "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061002b5760003560e01c80636fc95b3414610030575b600080fd5b61004361003e366004610113565b61006c565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b600081888888888888604051610081906100bd565b610090969594939291906101d8565b8190604051809103906000f59050801580156100b0573d6000803e3d6000fd5b5098975050505050505050565b6118378061021983390190565b60008083601f8401126100dc57600080fd5b50813567ffffffffffffffff8111156100f457600080fd5b60208301915083602082850101111561010c57600080fd5b9250929050565b600080600080600080600060a0888a03121561012e57600080fd5b873567ffffffffffffffff8082111561014657600080fd5b6101528b838c016100ca565b909950975060208a013591508082111561016b57600080fd5b506101788a828b016100ca565b909650945050604088013560ff8116811461019257600080fd5b969995985093969295946060840135945060809093013592915050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6080815260006101ec60808301888a6101af565b82810360208401526101ff8187896101af565b60ff95909516604084015250506060015294935050505056fe60e06040523480156200001157600080fd5b5060405162001837380380620018378339810160408190526200003491620002e1565b83838383838484848260039080519060200190620000549291906200016e565b5081516200006a9060049060208501906200016e565b5060ff166080908152835160208086019190912060408051808201825260018152603160f81b9084015280517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f938101939093528201527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6606082015246918101919091523060a082015260c0019150620001029050565b60408051601f1981840301815290829052805160209091012060a052600680546001600160a01b0319163390811790915591506000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a360c05250620003a995505050505050565b8280546200017c906200036c565b90600052602060002090601f016020900481019282620001a05760008555620001eb565b82601f10620001bb57805160ff1916838001178555620001eb565b82800160010185558215620001eb579182015b82811115620001eb578251825591602001919060010190620001ce565b50620001f9929150620001fd565b5090565b5b80821115620001f95760008155600101620001fe565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200023c57600080fd5b81516001600160401b038082111562000259576200025962000214565b604051601f8301601f19908116603f0116810190828211818310171562000284576200028462000214565b81604052838152602092508683858801011115620002a157600080fd5b600091505b83821015620002c55785820183015181830184015290820190620002a6565b83821115620002d75760008385830101525b9695505050505050565b60008060008060808587031215620002f857600080fd5b84516001600160401b03808211156200031057600080fd5b6200031e888389016200022a565b955060208701519150808211156200033557600080fd5b5062000344878288016200022a565b935050604085015160ff811681146200035c57600080fd5b6060959095015193969295505050565b600181811c908216806200038157607f821691505b60208210811415620003a357634e487b7160e01b600052602260045260246000fd5b50919050565b60805160a05160c051611450620003e760003960008181610265015261067301526000818161028c01526108de0152600061020101526114506000f3fe608060405234801561001057600080fd5b50600436106101775760003560e01c806340c10f19116100d857806395d89b411161008c578063d505accf11610066578063d505accf14610368578063dd62ed3e1461037b578063f2fde38b146103a657600080fd5b806395d89b411461033a578063a457c2d714610342578063a9059cbb1461035557600080fd5b806379cc6790116100bd57806379cc6790146102f45780637ecebe00146103075780638da5cb5b1461032757600080fd5b806340c10f19146102c157806370a08231146102d457600080fd5b8063313ce5671161012f578063355274ea11610114578063355274ea146102605780633644e5151461028757806339509351146102ae57600080fd5b8063313ce567146101fc57806331eecaf41461023557600080fd5b8063095ea7b311610160578063095ea7b3146101af57806318160ddd146101d257806323b872dd146101e957600080fd5b806306fdde031461017c57806308a1eee11461019a575b600080fd5b6101846103b9565b6040516101919190610e5d565b60405180910390f35b6101ad6101a8366004610e90565b610447565b005b6101c26101bd366004610ec5565b6104a8565b6040519015158152602001610191565b6101db60025481565b604051908152602001610191565b6101c26101f7366004610eef565b6104be565b6102237f000000000000000000000000000000000000000000000000000000000000000081565b60405160ff9091168152602001610191565b610248610243366004610e90565b610515565b6040516001600160a01b039091168152602001610191565b6101db7f000000000000000000000000000000000000000000000000000000000000000081565b6101db7f000000000000000000000000000000000000000000000000000000000000000081565b6101c26102bc366004610ec5565b61060f565b6101ad6102cf366004610ec5565b610646565b6101db6102e2366004610f2b565b60006020819052908152604090205481565b6101ad610302366004610ec5565b6106e7565b6101db610315366004610f2b565b60056020526000908152604090205481565b600654610248906001600160a01b031681565b610184610758565b6101c2610350366004610ec5565b610765565b6101c2610363366004610ec5565b61079c565b6101ad610376366004610f4d565b6107a9565b6101db610389366004610fc0565b600160209081526000928352604080842090915290825290205481565b6101ad6103b4366004610f2b565b610a6c565b600380546103c690610ff3565b80601f01602080910402602001604051908101604052809291908181526020018280546103f290610ff3565b801561043f5780601f106104145761010080835404028352916020019161043f565b820191906000526020600020905b81548152906001019060200180831161042257829003601f168201915b505050505081565b6006546001600160a01b03163314610472576040516330cd747160e01b815260040160405180910390fd5b600061047d82610515565b6001600160a01b0381166000908152602081905260409020549091506104a4908290610b4b565b5050565b60006104b5338484610bfe565b50600192915050565b6001600160a01b038316600090815260016020908152604080832033845290915281205460001981146104ff576104ff85336104fa8685611044565b610bfe565b61050a858585610c9b565b506001949350505050565b6006546040516000917fff00000000000000000000000000000000000000000000000000000000000000916001600160a01b0390911690849061055a60208201610e20565b601f1982820381018352601f90910116604081905261057c919060200161105b565b604051602081830303815290604052805190602001206040516020016105f194939291907fff0000000000000000000000000000000000000000000000000000000000000094909416845260609290921b6bffffffffffffffffffffffff191660018401526015830152603582015260550190565b60408051601f19818403018152919052805160209091012092915050565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916104b59185906104fa908690611077565b6006546001600160a01b03163314610671576040516330cd747160e01b815260040160405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000061069c8383610d77565b806106a657505050565b8060025411156106e2576040517fa4875a4900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050565b6006546001600160a01b03163314610712576040516330cd747160e01b815260040160405180910390fd5b6001600160a01b0382166000908152600160209081526040808320338452909152902054600019811461074e5761074e83336104fa8585611044565b6106e28383610b4b565b600480546103c690610ff3565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916104b59185906104fa908690611044565b60006104b5338484610c9b565b834211156107e3576040517f1a15a3cc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a081111561083d576040517f40c1e74800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8260ff16601b1415801561085557508260ff16601c14155b1561088c576040517f119bce3900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080518082018252600281527f19010000000000000000000000000000000000000000000000000000000000006020808301919091526001600160a01b038a166000908152600590915291822080547f0000000000000000000000000000000000000000000000000000000000000000917f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9918c918c918c91886109308361108f565b909155506040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810188905260e00160405160208183030381529060405280519060200120604051602001610994939291906110aa565b60408051601f198184030181528282528051602091820120600080855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa1580156109ff573d6000803e3d6000fd5b505050602060405103519050886001600160a01b0316816001600160a01b031614610a56576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610a61898989610bfe565b505050505050505050565b6006546001600160a01b03163314610a97576040516330cd747160e01b815260040160405180910390fd5b6001600160a01b038116610ad7576040517f49e27cff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6006546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600680547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b6001600160a01b038216610b7257604051630da30f6560e31b815260040160405180910390fd5b6001600160a01b03821660009081526020819052604081208054839290610b9a908490611044565b925050819055508060026000828254610bb39190611044565b90915550506040518181526000906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906020015b60405180910390a35050565b6001600160a01b0383161580610c1b57506001600160a01b038216155b15610c3957604051630da30f6560e31b815260040160405180910390fd5b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b0383161580610cb857506001600160a01b038216155b15610cd657604051630da30f6560e31b815260040160405180910390fd5b6001600160a01b03831660009081526020819052604081208054839290610cfe908490611044565b90915550506001600160a01b03821660009081526020819052604081208054839290610d2b908490611077565b92505081905550816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610c8e91815260200190565b6001600160a01b038216610d9e57604051630da30f6560e31b815260040160405180910390fd5b8060026000828254610db09190611077565b90915550506001600160a01b03821660009081526020819052604081208054839290610ddd908490611077565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90602001610bf2565b610349806110d283390190565b60005b83811015610e48578181015183820152602001610e30565b83811115610e57576000848401525b50505050565b6020815260008251806020840152610e7c816040850160208701610e2d565b601f01601f19169190910160400192915050565b600060208284031215610ea257600080fd5b5035919050565b80356001600160a01b0381168114610ec057600080fd5b919050565b60008060408385031215610ed857600080fd5b610ee183610ea9565b946020939093013593505050565b600080600060608486031215610f0457600080fd5b610f0d84610ea9565b9250610f1b60208501610ea9565b9150604084013590509250925092565b600060208284031215610f3d57600080fd5b610f4682610ea9565b9392505050565b600080600080600080600060e0888a031215610f6857600080fd5b610f7188610ea9565b9650610f7f60208901610ea9565b95506040880135945060608801359350608088013560ff81168114610fa357600080fd5b9699959850939692959460a0840135945060c09093013592915050565b60008060408385031215610fd357600080fd5b610fdc83610ea9565b9150610fea60208401610ea9565b90509250929050565b600181811c9082168061100757607f821691505b6020821081141561102857634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b6000828210156110565761105661102e565b500390565b6000825161106d818460208701610e2d565b9190910192915050565b6000821982111561108a5761108a61102e565b500190565b60006000198214156110a3576110a361102e565b5060010190565b600084516110bc818460208901610e2d565b9190910192835250602082015260400191905056fe6080604052600160005534801561001557600080fd5b50610324806100256000396000f3fe608060405234801561001057600080fd5b50600436106100355760003560e01c8062f55d9d1461003a5780631cff79cd1461004f575b600080fd5b61004d6100483660046101da565b610079565b005b61006261005d3660046101fc565b6100bb565b60405161007092919061027f565b60405180910390f35b6002600054141561009d5760405163caa30f5560e01b815260040160405180910390fd5b600260005573ffffffffffffffffffffffffffffffffffffffff8116ff5b60006060600260005414156100e35760405163caa30f5560e01b815260040160405180910390fd5b600260005573ffffffffffffffffffffffffffffffffffffffff85163b610136576040517f6f7c43f100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8473ffffffffffffffffffffffffffffffffffffffff16848460405161015d9291906102de565b6000604051808303816000865af19150503d806000811461019a576040519150601f19603f3d011682016040523d82523d6000602084013e61019f565b606091505b50600160005590969095509350505050565b803573ffffffffffffffffffffffffffffffffffffffff811681146101d557600080fd5b919050565b6000602082840312156101ec57600080fd5b6101f5826101b1565b9392505050565b60008060006040848603121561021157600080fd5b61021a846101b1565b9250602084013567ffffffffffffffff8082111561023757600080fd5b818601915086601f83011261024b57600080fd5b81358181111561025a57600080fd5b87602082850101111561026c57600080fd5b6020830194508093505050509250925092565b821515815260006020604081840152835180604085015260005b818110156102b557858101830151858201606001528201610299565b818111156102c7576000606083870101525b50601f01601f191692909201606001949350505050565b818382376000910190815291905056fea2646970667358221220dfb702492c35c6a884ac11997b483e3fee4ff8145c7abb0799d2a2fc8674c39364736f6c63430008090033a26469706673582212200c91fd2c0c0716a838a82654afcb7fba074539452c7c6cd867f9add7ce181d4a64736f6c63430008090033a2646970667358221220f353c41cd4ed6206c4282f2f493c7ccfaa3d7d29a1bafa7407ad53753f7d5de964736f6c63430008090033", "linkReferences": {}, "deployedLinkReferences": {} } diff --git a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/auth/AxelarAuthWeighted.sol/AxelarAuthWeighted.dbg.json b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/auth/AxelarAuthWeighted.sol/AxelarAuthWeighted.dbg.json new file mode 100644 index 00000000..34bc47b6 --- /dev/null +++ b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/auth/AxelarAuthWeighted.sol/AxelarAuthWeighted.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../../../build-info/3aa2fc6680ec7dd0d7e17835f8008fcc.json" +} diff --git a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/auth/AxelarAuthWeighted.sol/AxelarAuthWeighted.json b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/auth/AxelarAuthWeighted.sol/AxelarAuthWeighted.json new file mode 100644 index 00000000..0d3bdabe --- /dev/null +++ b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/auth/AxelarAuthWeighted.sol/AxelarAuthWeighted.json @@ -0,0 +1,240 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "AxelarAuthWeighted", + "sourceName": "@axelar-network/axelar-cgp-solidity/contracts/auth/AxelarAuthWeighted.sol", + "abi": [ + { + "inputs": [ + { + "internalType": "bytes[]", + "name": "recentOperators", + "type": "bytes[]" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "inputs": [], + "name": "DuplicateOperators", + "type": "error" + }, + { + "inputs": [], + "name": "InvalidOperators", + "type": "error" + }, + { + "inputs": [], + "name": "InvalidOwner", + "type": "error" + }, + { + "inputs": [], + "name": "InvalidS", + "type": "error" + }, + { + "inputs": [], + "name": "InvalidSignature", + "type": "error" + }, + { + "inputs": [], + "name": "InvalidSignatureLength", + "type": "error" + }, + { + "inputs": [], + "name": "InvalidThreshold", + "type": "error" + }, + { + "inputs": [], + "name": "InvalidV", + "type": "error" + }, + { + "inputs": [], + "name": "InvalidWeights", + "type": "error" + }, + { + "inputs": [], + "name": "LowSignaturesWeight", + "type": "error" + }, + { + "inputs": [], + "name": "MalformedSigners", + "type": "error" + }, + { + "inputs": [], + "name": "NotOwner", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address[]", + "name": "newOperators", + "type": "address[]" + }, + { + "indexed": false, + "internalType": "uint256[]", + "name": "newWeights", + "type": "uint256[]" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "newThreshold", + "type": "uint256" + } + ], + "name": "OperatorshipTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + { + "inputs": [], + "name": "currentEpoch", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "name": "epochForHash", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "hashForEpoch", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes", + "name": "params", + "type": "bytes" + } + ], + "name": "transferOperatorship", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "messageHash", + "type": "bytes32" + }, + { + "internalType": "bytes", + "name": "proof", + "type": "bytes" + } + ], + "name": "validateProof", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "bytecode": "0x60806040523480156200001157600080fd5b5060405162001693380380620016938339810160408190526200003491620003bf565b600080546001600160a01b0319163390811782556040519091907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a360005b8151811015620000c057620000ad828281518110620000995762000099620004fd565b6020026020010151620000c860201b60201c565b620000b88162000529565b905062000076565b505062000761565b600080600083806020019051810190620000e39190620005b4565b8251825193965091945092509081158062000106575062000104856200027e565b155b156200012557604051630849699d60e11b815260040160405180910390fd5b818114620001465760405163108cef9d60e31b815260040160405180910390fd5b6000805b828110156200019257858181518110620001685762000168620004fd565b6020026020010151826200017d91906200069b565b91506200018a8162000529565b90506200014a565b50831580620001a057508381105b15620001bf5760405163aabd5a0960e01b815260040160405180910390fd5b86516020808901919091206000818152600390925260409091205415620001f95760405163adda47f760e01b815260040160405180910390fd5b600060015460016200020c91906200069b565b60018190556000818152600260209081526040808320869055858352600390915290819020829055519091507f05b53362d4afea7533e835bd99f6c0f2c251e2f08b5c461734829516519dd5ac906200026b908a908a908a90620006b6565b60405180910390a1505050505050505050565b6000805b6001835162000292919062000747565b811015620003145782620002a88260016200069b565b81518110620002bb57620002bb620004fd565b60200260200101516001600160a01b0316838281518110620002e157620002e1620004fd565b60200260200101516001600160a01b031610620003015750600092915050565b6200030c8162000529565b905062000282565b5060006001600160a01b031682600081518110620003365762000336620004fd565b60200260200101516001600160a01b031614159050919050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b038111828210171562000391576200039162000350565b604052919050565b60006001600160401b03821115620003b557620003b562000350565b5060051b60200190565b60006020808385031215620003d357600080fd5b82516001600160401b0380821115620003eb57600080fd5b8185019150601f86818401126200040157600080fd5b825162000418620004128262000399565b62000366565b81815260059190911b840185019085810190898311156200043857600080fd5b8686015b83811015620004ef57805186811115620004565760008081fd5b8701603f81018c13620004695760008081fd5b888101518781111562000480576200048062000350565b62000493818801601f19168b0162000366565b81815260408e81848601011115620004ab5760008081fd5b60005b83811015620004cb578481018201518382018e01528c01620004ae565b83811115620004dd5760008d85850101525b5050855250509187019187016200043c565b509998505050505050505050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060001982141562000540576200054062000513565b5060010190565b600082601f8301126200055957600080fd5b815160206200056c620004128362000399565b82815260059290921b840181019181810190868411156200058c57600080fd5b8286015b84811015620005a9578051835291830191830162000590565b509695505050505050565b600080600060608486031215620005ca57600080fd5b83516001600160401b0380821115620005e257600080fd5b818601915086601f830112620005f757600080fd5b815160206200060a620004128362000399565b82815260059290921b8401810191818101908a8411156200062a57600080fd5b948201945b83861015620006615785516001600160a01b0381168114620006515760008081fd5b825294820194908201906200062f565b918901519197509093505050808211156200067b57600080fd5b506200068a8682870162000547565b925050604084015190509250925092565b60008219821115620006b157620006b162000513565b500190565b606080825284519082018190526000906020906080840190828801845b82811015620006fa5781516001600160a01b031684529284019290840190600101620006d3565b5050508381038285015285518082528683019183019060005b81811015620007315783518352928401929184019160010162000713565b5050809350505050826040830152949350505050565b6000828210156200075c576200075c62000513565b500390565b610f2280620007716000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c8063ba6742e51161005b578063ba6742e5146100ec578063d289d1cb1461010c578063f1501c8914610121578063f2fde38b1461014157600080fd5b806373e3d66a1461008257806376671808146100aa5780638da5cb5b146100c1575b600080fd5b610095610090366004610933565b610154565b60405190151581526020015b60405180910390f35b6100b360015481565b6040519081526020016100a1565b6000546100d4906001600160a01b031681565b6040516001600160a01b0390911681526020016100a1565b6100b36100fa36600461097f565b60026020526000908152604090205481565b61011f61011a366004610998565b610201565b005b6100b361012f36600461097f565b60036020526000908152604090205481565b61011f61014f3660046109f2565b61026f565b60008080808061016686880188610bd0565b9350935093509350600084848460405160200161018593929190610cc0565b60408051601f19818403018152918152815160209283012060008181526003909352912054600154919250908115806101c8575060106101c58383610d63565b10155b156101e657604051630849699d60e11b815260040160405180910390fd5b6101f38b8888888861034d565b149998505050505050505050565b6000546001600160a01b0316331461022c576040516330cd747160e01b815260040160405180910390fd5b61026b82828080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061049d92505050565b5050565b6000546001600160a01b0316331461029a576040516330cd747160e01b815260040160405180910390fd5b6001600160a01b0381166102da576040517f49e27cff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b8351600080805b84518110156104635760006103828a87848151811061037557610375610d7a565b6020026020010151610687565b90505b84841080156103bf57508884815181106103a1576103a1610d7a565b60200260200101516001600160a01b0316816001600160a01b031614155b156103d4576103cd84610d90565b9350610385565b8484141561040e576040517fc6fb539300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b87848151811061042057610420610d7a565b6020026020010151836104339190610dab565b9250868310610446575050505050610496565b61044f84610d90565b9350508061045c90610d90565b9050610354565b506040517f203b225800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050505050565b6000806000838060200190518101906104b69190610e1e565b825182519396509194509250908115806104d657506104d48561082a565b155b156104f457604051630849699d60e11b815260040160405180910390fd5b81811461052d576040517f84677ce800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000805b828110156105705785818151811061054b5761054b610d7a565b60200260200101518261055e9190610dab565b915061056981610d90565b9050610531565b5083158061057d57508381105b156105b4576040517faabd5a0900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b86516020808901919091206000818152600390925260409091205415610606576040517fadda47f700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060015460016106179190610dab565b60018190556000818152600260209081526040808320869055858352600390915290819020829055519091507f05b53362d4afea7533e835bd99f6c0f2c251e2f08b5c461734829516519dd5ac90610674908a908a908a90610cc0565b60405180910390a1505050505050505050565b600081516041146106c4576040517f4be6321b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60208201516040830151606084015160001a7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0821115610730576040517f40c1e74800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8060ff16601b1415801561074857508060ff16601c14155b1561077f576040517f119bce3900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040805160008082526020820180845289905260ff841692820192909252606081018590526080810184905260019060a0016020604051602081039080840390855afa1580156107d3573d6000803e3d6000fd5b505050602060405103519450846001600160a01b03161415610821576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50505092915050565b6000805b6001835161083c9190610d63565b8110156108b1578261084f826001610dab565b8151811061085f5761085f610d7a565b60200260200101516001600160a01b031683828151811061088257610882610d7a565b60200260200101516001600160a01b0316106108a15750600092915050565b6108aa81610d90565b905061082e565b5060006001600160a01b0316826000815181106108d0576108d0610d7a565b60200260200101516001600160a01b031614159050919050565b60008083601f8401126108fc57600080fd5b50813567ffffffffffffffff81111561091457600080fd5b60208301915083602082850101111561092c57600080fd5b9250929050565b60008060006040848603121561094857600080fd5b83359250602084013567ffffffffffffffff81111561096657600080fd5b610972868287016108ea565b9497909650939450505050565b60006020828403121561099157600080fd5b5035919050565b600080602083850312156109ab57600080fd5b823567ffffffffffffffff8111156109c257600080fd5b6109ce858286016108ea565b90969095509350505050565b6001600160a01b03811681146109ef57600080fd5b50565b600060208284031215610a0457600080fd5b8135610a0f816109da565b9392505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715610a5557610a55610a16565b604052919050565b600067ffffffffffffffff821115610a7757610a77610a16565b5060051b60200190565b600082601f830112610a9257600080fd5b81356020610aa7610aa283610a5d565b610a2c565b82815260059290921b84018101918181019086841115610ac657600080fd5b8286015b84811015610ae15780358352918301918301610aca565b509695505050505050565b6000601f8381840112610afe57600080fd5b82356020610b0e610aa283610a5d565b82815260059290921b85018101918181019087841115610b2d57600080fd5b8287015b84811015610bc457803567ffffffffffffffff80821115610b525760008081fd5b818a0191508a603f830112610b675760008081fd5b85820135604082821115610b7d57610b7d610a16565b610b8e828b01601f19168901610a2c565b92508183528c81838601011115610ba55760008081fd5b8181850189850137506000908201870152845250918301918301610b31565b50979650505050505050565b60008060008060808587031215610be657600080fd5b843567ffffffffffffffff80821115610bfe57600080fd5b818701915087601f830112610c1257600080fd5b81356020610c22610aa283610a5d565b82815260059290921b8401810191818101908b841115610c4157600080fd5b948201945b83861015610c68578535610c59816109da565b82529482019490820190610c46565b98505088013592505080821115610c7e57600080fd5b610c8a88838901610a81565b9450604087013593506060870135915080821115610ca757600080fd5b50610cb487828801610aec565b91505092959194509250565b606080825284519082018190526000906020906080840190828801845b82811015610d025781516001600160a01b031684529284019290840190600101610cdd565b5050508381038285015285518082528683019183019060005b81811015610d3757835183529284019291840191600101610d1b565b5050809350505050826040830152949350505050565b634e487b7160e01b600052601160045260246000fd5b600082821015610d7557610d75610d4d565b500390565b634e487b7160e01b600052603260045260246000fd5b6000600019821415610da457610da4610d4d565b5060010190565b60008219821115610dbe57610dbe610d4d565b500190565b600082601f830112610dd457600080fd5b81516020610de4610aa283610a5d565b82815260059290921b84018101918181019086841115610e0357600080fd5b8286015b84811015610ae15780518352918301918301610e07565b600080600060608486031215610e3357600080fd5b835167ffffffffffffffff80821115610e4b57600080fd5b818601915086601f830112610e5f57600080fd5b81516020610e6f610aa283610a5d565b82815260059290921b8401810191818101908a841115610e8e57600080fd5b948201945b83861015610eb5578551610ea6816109da565b82529482019490820190610e93565b91890151919750909350505080821115610ece57600080fd5b50610edb86828701610dc3565b92505060408401519050925092509256fea2646970667358221220b2b16cebc6a5c29962a37cc463b89f47fd536606cd0b85d6474a2fc4ad714c4d64736f6c63430008090033", + "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061007d5760003560e01c8063ba6742e51161005b578063ba6742e5146100ec578063d289d1cb1461010c578063f1501c8914610121578063f2fde38b1461014157600080fd5b806373e3d66a1461008257806376671808146100aa5780638da5cb5b146100c1575b600080fd5b610095610090366004610933565b610154565b60405190151581526020015b60405180910390f35b6100b360015481565b6040519081526020016100a1565b6000546100d4906001600160a01b031681565b6040516001600160a01b0390911681526020016100a1565b6100b36100fa36600461097f565b60026020526000908152604090205481565b61011f61011a366004610998565b610201565b005b6100b361012f36600461097f565b60036020526000908152604090205481565b61011f61014f3660046109f2565b61026f565b60008080808061016686880188610bd0565b9350935093509350600084848460405160200161018593929190610cc0565b60408051601f19818403018152918152815160209283012060008181526003909352912054600154919250908115806101c8575060106101c58383610d63565b10155b156101e657604051630849699d60e11b815260040160405180910390fd5b6101f38b8888888861034d565b149998505050505050505050565b6000546001600160a01b0316331461022c576040516330cd747160e01b815260040160405180910390fd5b61026b82828080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061049d92505050565b5050565b6000546001600160a01b0316331461029a576040516330cd747160e01b815260040160405180910390fd5b6001600160a01b0381166102da576040517f49e27cff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b8351600080805b84518110156104635760006103828a87848151811061037557610375610d7a565b6020026020010151610687565b90505b84841080156103bf57508884815181106103a1576103a1610d7a565b60200260200101516001600160a01b0316816001600160a01b031614155b156103d4576103cd84610d90565b9350610385565b8484141561040e576040517fc6fb539300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b87848151811061042057610420610d7a565b6020026020010151836104339190610dab565b9250868310610446575050505050610496565b61044f84610d90565b9350508061045c90610d90565b9050610354565b506040517f203b225800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050505050565b6000806000838060200190518101906104b69190610e1e565b825182519396509194509250908115806104d657506104d48561082a565b155b156104f457604051630849699d60e11b815260040160405180910390fd5b81811461052d576040517f84677ce800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000805b828110156105705785818151811061054b5761054b610d7a565b60200260200101518261055e9190610dab565b915061056981610d90565b9050610531565b5083158061057d57508381105b156105b4576040517faabd5a0900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b86516020808901919091206000818152600390925260409091205415610606576040517fadda47f700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060015460016106179190610dab565b60018190556000818152600260209081526040808320869055858352600390915290819020829055519091507f05b53362d4afea7533e835bd99f6c0f2c251e2f08b5c461734829516519dd5ac90610674908a908a908a90610cc0565b60405180910390a1505050505050505050565b600081516041146106c4576040517f4be6321b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60208201516040830151606084015160001a7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0821115610730576040517f40c1e74800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8060ff16601b1415801561074857508060ff16601c14155b1561077f576040517f119bce3900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040805160008082526020820180845289905260ff841692820192909252606081018590526080810184905260019060a0016020604051602081039080840390855afa1580156107d3573d6000803e3d6000fd5b505050602060405103519450846001600160a01b03161415610821576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50505092915050565b6000805b6001835161083c9190610d63565b8110156108b1578261084f826001610dab565b8151811061085f5761085f610d7a565b60200260200101516001600160a01b031683828151811061088257610882610d7a565b60200260200101516001600160a01b0316106108a15750600092915050565b6108aa81610d90565b905061082e565b5060006001600160a01b0316826000815181106108d0576108d0610d7a565b60200260200101516001600160a01b031614159050919050565b60008083601f8401126108fc57600080fd5b50813567ffffffffffffffff81111561091457600080fd5b60208301915083602082850101111561092c57600080fd5b9250929050565b60008060006040848603121561094857600080fd5b83359250602084013567ffffffffffffffff81111561096657600080fd5b610972868287016108ea565b9497909650939450505050565b60006020828403121561099157600080fd5b5035919050565b600080602083850312156109ab57600080fd5b823567ffffffffffffffff8111156109c257600080fd5b6109ce858286016108ea565b90969095509350505050565b6001600160a01b03811681146109ef57600080fd5b50565b600060208284031215610a0457600080fd5b8135610a0f816109da565b9392505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715610a5557610a55610a16565b604052919050565b600067ffffffffffffffff821115610a7757610a77610a16565b5060051b60200190565b600082601f830112610a9257600080fd5b81356020610aa7610aa283610a5d565b610a2c565b82815260059290921b84018101918181019086841115610ac657600080fd5b8286015b84811015610ae15780358352918301918301610aca565b509695505050505050565b6000601f8381840112610afe57600080fd5b82356020610b0e610aa283610a5d565b82815260059290921b85018101918181019087841115610b2d57600080fd5b8287015b84811015610bc457803567ffffffffffffffff80821115610b525760008081fd5b818a0191508a603f830112610b675760008081fd5b85820135604082821115610b7d57610b7d610a16565b610b8e828b01601f19168901610a2c565b92508183528c81838601011115610ba55760008081fd5b8181850189850137506000908201870152845250918301918301610b31565b50979650505050505050565b60008060008060808587031215610be657600080fd5b843567ffffffffffffffff80821115610bfe57600080fd5b818701915087601f830112610c1257600080fd5b81356020610c22610aa283610a5d565b82815260059290921b8401810191818101908b841115610c4157600080fd5b948201945b83861015610c68578535610c59816109da565b82529482019490820190610c46565b98505088013592505080821115610c7e57600080fd5b610c8a88838901610a81565b9450604087013593506060870135915080821115610ca757600080fd5b50610cb487828801610aec565b91505092959194509250565b606080825284519082018190526000906020906080840190828801845b82811015610d025781516001600160a01b031684529284019290840190600101610cdd565b5050508381038285015285518082528683019183019060005b81811015610d3757835183529284019291840191600101610d1b565b5050809350505050826040830152949350505050565b634e487b7160e01b600052601160045260246000fd5b600082821015610d7557610d75610d4d565b500390565b634e487b7160e01b600052603260045260246000fd5b6000600019821415610da457610da4610d4d565b5060010190565b60008219821115610dbe57610dbe610d4d565b500190565b600082601f830112610dd457600080fd5b81516020610de4610aa283610a5d565b82815260059290921b84018101918181019086841115610e0357600080fd5b8286015b84811015610ae15780518352918301918301610e07565b600080600060608486031215610e3357600080fd5b835167ffffffffffffffff80821115610e4b57600080fd5b818601915086601f830112610e5f57600080fd5b81516020610e6f610aa283610a5d565b82815260059290921b8401810191818101908a841115610e8e57600080fd5b948201945b83861015610eb5578551610ea6816109da565b82529482019490820190610e93565b91890151919750909350505080821115610ece57600080fd5b50610edb86828701610dc3565b92505060408401519050925092509256fea2646970667358221220b2b16cebc6a5c29962a37cc463b89f47fd536606cd0b85d6474a2fc4ad714c4d64736f6c63430008090033", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/gas-service/AxelarGasService.sol/AxelarGasService.dbg.json b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/gas-service/AxelarGasService.sol/AxelarGasService.dbg.json index 2b51bc62..34bc47b6 100644 --- a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/gas-service/AxelarGasService.sol/AxelarGasService.dbg.json +++ b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/gas-service/AxelarGasService.sol/AxelarGasService.dbg.json @@ -1,4 +1,4 @@ { "_format": "hh-sol-dbg-1", - "buildInfo": "../../../../../build-info/12c9a8f7cfdae039186ba7f422bc265d.json" + "buildInfo": "../../../../../build-info/3aa2fc6680ec7dd0d7e17835f8008fcc.json" } diff --git a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/gas-service/AxelarGasService.sol/AxelarGasService.json b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/gas-service/AxelarGasService.sol/AxelarGasService.json index 82cf8462..cea28d09 100644 --- a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/gas-service/AxelarGasService.sol/AxelarGasService.json +++ b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/gas-service/AxelarGasService.sol/AxelarGasService.json @@ -3,6 +3,11 @@ "contractName": "AxelarGasService", "sourceName": "@axelar-network/axelar-cgp-solidity/contracts/gas-service/AxelarGasService.sol", "abi": [ + { + "inputs": [], + "name": "InvalidAddress", + "type": "error" + }, { "inputs": [], "name": "InvalidCodeHash", @@ -703,8 +708,8 @@ "type": "function" } ], - "bytecode": "0x608060405234801561001057600080fd5b506117d5806100206000396000f3fe6080604052600436106100dd5760003560e01c8063ab1999ba1161007f578063da854d7511610059578063da854d7514610259578063edb6b3a514610279578063f2fde38b14610299578063fd09e3bd146102b957600080fd5b8063ab1999ba14610213578063c62c200214610233578063cd433ada1461024657600080fd5b806382ad6f35116100bb57806382ad6f351461017f5780638da5cb5b1461019f5780639ded06df146101d3578063a3499c73146101f357600080fd5b80630c93e3bb146100e25780635c60da1b146100f75780638291286c14610144575b600080fd5b6100f56100f0366004610e94565b6102d9565b005b34801561010357600080fd5b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc545b6040516001600160a01b0390911681526020015b60405180910390f35b34801561015057600080fd5b506040517ffaa2f015f2ce5aee225904728de2def86eb8837491efd21f1a04fc20d8e923f6815260200161013b565b34801561018b57600080fd5b506100f561019a366004610f54565b610364565b3480156101ab57600080fd5b507f02016836a56b71f0d02689e69e326f4f4c1b9057164ef592671cf0d37c8040c054610127565b3480156101df57600080fd5b506100f56101ee366004610f95565b61040e565b3480156101ff57600080fd5b506100f561020e366004610fd7565b61047d565b34801561021f57600080fd5b506100f561022e366004611033565b610794565b6100f5610241366004611089565b6107f4565b6100f561025436600461117c565b610888565b34801561026557600080fd5b506100f56102743660046111b5565b6108f0565b34801561028557600080fd5b506100f56102943660046112e0565b610a74565b3480156102a557600080fd5b506100f56102b43660046113fe565b610af6565b3480156102c557600080fd5b506100f56102d4366004611422565b610bde565b346102f75760405163b5c74a2760e01b815260040160405180910390fd5b82826040516103079291906114fa565b6040518091039020886001600160a01b03167f617332c1832058df6ee45fcbdf471251474c9945a8e5d229287a21a5f67ccf0a89898989348860405161035296959493929190611533565b60405180910390a35050505050505050565b3361038d7f02016836a56b71f0d02689e69e326f4f4c1b9057164ef592671cf0d37c8040c05490565b6001600160a01b0316146103b4576040516330cd747160e01b815260040160405180910390fd5b6001600160a01b0382166103fe576040516001600160a01b0384169082156108fc029083906000818181858888f193505050501580156103f8573d6000803e3d6000fd5b50505050565b610409828483610c5a565b505050565b60006104387f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b03161415610479576040517fbf10dd3a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b336104a67f02016836a56b71f0d02689e69e326f4f4c1b9057164ef592671cf0d37c8040c05490565b6001600160a01b0316146104cd576040516330cd747160e01b815260040160405180910390fd5b306001600160a01b0316638291286c6040518163ffffffff1660e01b815260040160206040518083038186803b15801561050657600080fd5b505afa15801561051a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061053e919061157d565b846001600160a01b0316638291286c6040518163ffffffff1660e01b815260040160206040518083038186803b15801561057757600080fd5b505afa15801561058b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105af919061157d565b146105e6576040517f68155f9a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b836001600160a01b03163f8314610629576040517f8f84fb2400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000846001600160a01b0316639ded06df60e01b8484604051602401610650929190611596565b60408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009094169390931790925290516106bb91906115de565b600060405180830381855af49150503d80600081146106f6576040519150601f19603f3d011682016040523d82523d6000602084013e6106fb565b606091505b5050905080610736576040517f97905dfb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040516001600160a01b038616907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a2847f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc555050505050565b61079f833384610dd1565b604080516001600160a01b038581168252602082018590528316818301529051859187917f2275e75614080f9782f72563c2c1688c901c5339c7f9f436d323f9386fed700a9181900360600190a35050505050565b346108125760405163b5c74a2760e01b815260040160405180910390fd5b85856040516108229291906114fa565b60405180910390208b6001600160a01b03167f999d431b58761213cf53af96262b67a069cbd963499fd8effd1e21556217b8418c8c8c8c8a8a8a348b604051610873999897969594939291906115fa565b60405180910390a35050505050505050505050565b346108a65760405163b5c74a2760e01b815260040160405180910390fd5b604080513481526001600160a01b0383166020820152839185917ffeb6b00343feee0f29a1a4345f8bf93ca1c73ee922248a4237a4e50d6447604e910160405180910390a3505050565b336109197f02016836a56b71f0d02689e69e326f4f4c1b9057164ef592671cf0d37c8040c05490565b6001600160a01b031614610940576040516330cd747160e01b815260040160405180910390fd5b60005b818110156103f857600083838381811061095f5761095f611661565b905060200201602081019061097491906113fe565b90506001600160a01b0381166109bf576040516001600160a01b038616904780156108fc02916000818181858888f193505050501580156109b9573d6000803e3d6000fd5b50610a61565b6040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526000906001600160a01b038316906370a082319060240160206040518083038186803b158015610a1a57600080fd5b505afa158015610a2e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a52919061157d565b9050610a5f828783610c5a565b505b5080610a6c81611677565b915050610943565b610a7f833384610dd1565b8686604051610a8f9291906114fa565b60405180910390208c6001600160a01b03167f8875f9764f28fa82d3e7ff1b80bd5c8f665e1f42fcd8c2faebc7c400a4ba1bbd8d8d8d8d8b8b8b8b8b604051610ae0999897969594939291906116a0565b60405180910390a3505050505050505050505050565b33610b1f7f02016836a56b71f0d02689e69e326f4f4c1b9057164ef592671cf0d37c8040c05490565b6001600160a01b031614610b46576040516330cd747160e01b815260040160405180910390fd5b6001600160a01b038116610b86576040517f49e27cff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040516001600160a01b038216907f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc68616390600090a27f02016836a56b71f0d02689e69e326f4f4c1b9057164ef592671cf0d37c8040c055565b610be9833384610dd1565b8484604051610bf99291906114fa565b60405180910390208a6001600160a01b03167f99206760f0be19dd093729bd35e5924daff5e217bcedc5223ed067b60008cf8a8b8b8b8b898989604051610c469796959493929190611729565b60405180910390a350505050505050505050565b6040516001600160a01b0383811660248301526044820183905260009182918616907fa9059cbb00000000000000000000000000000000000000000000000000000000906064015b60408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909416939093179092529051610d0d91906115de565b6000604051808303816000865af19150503d8060008114610d4a576040519150601f19603f3d011682016040523d82523d6000602084013e610d4f565b606091505b50915091506000828015610d7b575081511580610d7b575081806020019051810190610d7b919061177d565b9050801580610d9257506001600160a01b0386163b155b15610dc9576040517f90b8ec1800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050505050565b6040516001600160a01b0383811660248301523060448301526064820183905260009182918616907f23b872dd0000000000000000000000000000000000000000000000000000000090608401610ca2565b6001600160a01b0381168114610e3857600080fd5b50565b8035610e4681610e23565b919050565b60008083601f840112610e5d57600080fd5b50813567ffffffffffffffff811115610e7557600080fd5b602083019150836020828501011115610e8d57600080fd5b9250929050565b60008060008060008060008060a0898b031215610eb057600080fd5b8835610ebb81610e23565b9750602089013567ffffffffffffffff80821115610ed857600080fd5b610ee48c838d01610e4b565b909950975060408b0135915080821115610efd57600080fd5b610f098c838d01610e4b565b909750955060608b0135915080821115610f2257600080fd5b50610f2f8b828c01610e4b565b9094509250506080890135610f4381610e23565b809150509295985092959890939650565b600080600060608486031215610f6957600080fd5b8335610f7481610e23565b92506020840135610f8481610e23565b929592945050506040919091013590565b60008060208385031215610fa857600080fd5b823567ffffffffffffffff811115610fbf57600080fd5b610fcb85828601610e4b565b90969095509350505050565b60008060008060608587031215610fed57600080fd5b8435610ff881610e23565b935060208501359250604085013567ffffffffffffffff81111561101b57600080fd5b61102787828801610e4b565b95989497509550505050565b600080600080600060a0868803121561104b57600080fd5b8535945060208601359350604086013561106481610e23565b925060608601359150608086013561107b81610e23565b809150509295509295909350565b600080600080600080600080600080600060e08c8e0312156110aa57600080fd5b6110b38c610e3b565b9a5067ffffffffffffffff8060208e013511156110cf57600080fd5b6110df8e60208f01358f01610e4b565b909b50995060408d01358110156110f557600080fd5b6111058e60408f01358f01610e4b565b909950975060608d013581101561111b57600080fd5b61112b8e60608f01358f01610e4b565b909750955060808d013581101561114157600080fd5b506111528d60808e01358e01610e4b565b909450925060a08c0135915061116a60c08d01610e3b565b90509295989b509295989b9093969950565b60008060006060848603121561119157600080fd5b833592506020840135915060408401356111aa81610e23565b809150509250925092565b6000806000604084860312156111ca57600080fd5b83356111d581610e23565b9250602084013567ffffffffffffffff808211156111f257600080fd5b818601915086601f83011261120657600080fd5b81358181111561121557600080fd5b8760208260051b850101111561122a57600080fd5b6020830194508093505050509250925092565b634e487b7160e01b600052604160045260246000fd5b600082601f83011261126457600080fd5b813567ffffffffffffffff8082111561127f5761127f61123d565b604051601f8301601f19908116603f011681019082821181831017156112a7576112a761123d565b816040528381528660208588010111156112c057600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000806000806000806000806000806000806101208d8f03121561130357600080fd5b61130c8d610e3b565b9b5067ffffffffffffffff60208e0135111561132757600080fd5b6113378e60208f01358f01610e4b565b909b50995067ffffffffffffffff60408e0135111561135557600080fd5b6113658e60408f01358f01610e4b565b909950975067ffffffffffffffff60608e0135111561138357600080fd5b6113938e60608f01358f01610e4b565b909750955067ffffffffffffffff60808e013511156113b157600080fd5b6113c18e60808f01358f01611253565b945060a08d013593506113d660c08e01610e3b565b925060e08d013591506113ec6101008e01610e3b565b90509295989b509295989b509295989b565b60006020828403121561141057600080fd5b813561141b81610e23565b9392505050565b60008060008060008060008060008060e08b8d03121561144157600080fd5b8a3561144c81610e23565b995060208b013567ffffffffffffffff8082111561146957600080fd5b6114758e838f01610e4b565b909b50995060408d013591508082111561148e57600080fd5b61149a8e838f01610e4b565b909950975060608d01359150808211156114b357600080fd5b506114c08d828e01610e4b565b90965094505060808b01356114d481610e23565b925060a08b013591506114e960c08c01610e3b565b90509295989b9194979a5092959850565b8183823760009101908152919050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b60808152600061154760808301888a61150a565b828103602084015261155a81878961150a565b9150508360408301526001600160a01b0383166060830152979650505050505050565b60006020828403121561158f57600080fd5b5051919050565b6020815260006115aa60208301848661150a565b949350505050565b60005b838110156115cd5781810151838201526020016115b5565b838111156103f85750506000910152565b600082516115f08184602087016115b2565b9190910192915050565b60c08152600061160e60c083018b8d61150a565b8281036020840152611621818a8c61150a565b9050828103604084015261163681888a61150a565b6060840196909652505060808101929092526001600160a01b031660a0909101529695505050505050565b634e487b7160e01b600052603260045260246000fd5b600060001982141561169957634e487b7160e01b600052601160045260246000fd5b5060010190565b60e0815260006116b460e083018b8d61150a565b82810360208401526116c7818a8c61150a565b9050828103604084015287518082526116e7816020840160208c016115b2565b60608401979097526001600160a01b03958616608084015260a083019490945250921660c0909201919091526020601f909201601f1916010195945050505050565b60a08152600061173d60a08301898b61150a565b828103602084015261175081888a61150a565b6001600160a01b039687166040850152606084019590955250509216608090920191909152949350505050565b60006020828403121561178f57600080fd5b8151801515811461141b57600080fdfea264697066735822122027baf5e769b3c7053eec4b907b998aaefddb11d5478b92501b995ce70c9c27f264736f6c63430008090033", - "deployedBytecode": "0x6080604052600436106100dd5760003560e01c8063ab1999ba1161007f578063da854d7511610059578063da854d7514610259578063edb6b3a514610279578063f2fde38b14610299578063fd09e3bd146102b957600080fd5b8063ab1999ba14610213578063c62c200214610233578063cd433ada1461024657600080fd5b806382ad6f35116100bb57806382ad6f351461017f5780638da5cb5b1461019f5780639ded06df146101d3578063a3499c73146101f357600080fd5b80630c93e3bb146100e25780635c60da1b146100f75780638291286c14610144575b600080fd5b6100f56100f0366004610e94565b6102d9565b005b34801561010357600080fd5b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc545b6040516001600160a01b0390911681526020015b60405180910390f35b34801561015057600080fd5b506040517ffaa2f015f2ce5aee225904728de2def86eb8837491efd21f1a04fc20d8e923f6815260200161013b565b34801561018b57600080fd5b506100f561019a366004610f54565b610364565b3480156101ab57600080fd5b507f02016836a56b71f0d02689e69e326f4f4c1b9057164ef592671cf0d37c8040c054610127565b3480156101df57600080fd5b506100f56101ee366004610f95565b61040e565b3480156101ff57600080fd5b506100f561020e366004610fd7565b61047d565b34801561021f57600080fd5b506100f561022e366004611033565b610794565b6100f5610241366004611089565b6107f4565b6100f561025436600461117c565b610888565b34801561026557600080fd5b506100f56102743660046111b5565b6108f0565b34801561028557600080fd5b506100f56102943660046112e0565b610a74565b3480156102a557600080fd5b506100f56102b43660046113fe565b610af6565b3480156102c557600080fd5b506100f56102d4366004611422565b610bde565b346102f75760405163b5c74a2760e01b815260040160405180910390fd5b82826040516103079291906114fa565b6040518091039020886001600160a01b03167f617332c1832058df6ee45fcbdf471251474c9945a8e5d229287a21a5f67ccf0a89898989348860405161035296959493929190611533565b60405180910390a35050505050505050565b3361038d7f02016836a56b71f0d02689e69e326f4f4c1b9057164ef592671cf0d37c8040c05490565b6001600160a01b0316146103b4576040516330cd747160e01b815260040160405180910390fd5b6001600160a01b0382166103fe576040516001600160a01b0384169082156108fc029083906000818181858888f193505050501580156103f8573d6000803e3d6000fd5b50505050565b610409828483610c5a565b505050565b60006104387f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b03161415610479576040517fbf10dd3a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b336104a67f02016836a56b71f0d02689e69e326f4f4c1b9057164ef592671cf0d37c8040c05490565b6001600160a01b0316146104cd576040516330cd747160e01b815260040160405180910390fd5b306001600160a01b0316638291286c6040518163ffffffff1660e01b815260040160206040518083038186803b15801561050657600080fd5b505afa15801561051a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061053e919061157d565b846001600160a01b0316638291286c6040518163ffffffff1660e01b815260040160206040518083038186803b15801561057757600080fd5b505afa15801561058b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105af919061157d565b146105e6576040517f68155f9a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b836001600160a01b03163f8314610629576040517f8f84fb2400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000846001600160a01b0316639ded06df60e01b8484604051602401610650929190611596565b60408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009094169390931790925290516106bb91906115de565b600060405180830381855af49150503d80600081146106f6576040519150601f19603f3d011682016040523d82523d6000602084013e6106fb565b606091505b5050905080610736576040517f97905dfb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040516001600160a01b038616907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a2847f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc555050505050565b61079f833384610dd1565b604080516001600160a01b038581168252602082018590528316818301529051859187917f2275e75614080f9782f72563c2c1688c901c5339c7f9f436d323f9386fed700a9181900360600190a35050505050565b346108125760405163b5c74a2760e01b815260040160405180910390fd5b85856040516108229291906114fa565b60405180910390208b6001600160a01b03167f999d431b58761213cf53af96262b67a069cbd963499fd8effd1e21556217b8418c8c8c8c8a8a8a348b604051610873999897969594939291906115fa565b60405180910390a35050505050505050505050565b346108a65760405163b5c74a2760e01b815260040160405180910390fd5b604080513481526001600160a01b0383166020820152839185917ffeb6b00343feee0f29a1a4345f8bf93ca1c73ee922248a4237a4e50d6447604e910160405180910390a3505050565b336109197f02016836a56b71f0d02689e69e326f4f4c1b9057164ef592671cf0d37c8040c05490565b6001600160a01b031614610940576040516330cd747160e01b815260040160405180910390fd5b60005b818110156103f857600083838381811061095f5761095f611661565b905060200201602081019061097491906113fe565b90506001600160a01b0381166109bf576040516001600160a01b038616904780156108fc02916000818181858888f193505050501580156109b9573d6000803e3d6000fd5b50610a61565b6040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526000906001600160a01b038316906370a082319060240160206040518083038186803b158015610a1a57600080fd5b505afa158015610a2e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a52919061157d565b9050610a5f828783610c5a565b505b5080610a6c81611677565b915050610943565b610a7f833384610dd1565b8686604051610a8f9291906114fa565b60405180910390208c6001600160a01b03167f8875f9764f28fa82d3e7ff1b80bd5c8f665e1f42fcd8c2faebc7c400a4ba1bbd8d8d8d8d8b8b8b8b8b604051610ae0999897969594939291906116a0565b60405180910390a3505050505050505050505050565b33610b1f7f02016836a56b71f0d02689e69e326f4f4c1b9057164ef592671cf0d37c8040c05490565b6001600160a01b031614610b46576040516330cd747160e01b815260040160405180910390fd5b6001600160a01b038116610b86576040517f49e27cff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040516001600160a01b038216907f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc68616390600090a27f02016836a56b71f0d02689e69e326f4f4c1b9057164ef592671cf0d37c8040c055565b610be9833384610dd1565b8484604051610bf99291906114fa565b60405180910390208a6001600160a01b03167f99206760f0be19dd093729bd35e5924daff5e217bcedc5223ed067b60008cf8a8b8b8b8b898989604051610c469796959493929190611729565b60405180910390a350505050505050505050565b6040516001600160a01b0383811660248301526044820183905260009182918616907fa9059cbb00000000000000000000000000000000000000000000000000000000906064015b60408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909416939093179092529051610d0d91906115de565b6000604051808303816000865af19150503d8060008114610d4a576040519150601f19603f3d011682016040523d82523d6000602084013e610d4f565b606091505b50915091506000828015610d7b575081511580610d7b575081806020019051810190610d7b919061177d565b9050801580610d9257506001600160a01b0386163b155b15610dc9576040517f90b8ec1800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050505050565b6040516001600160a01b0383811660248301523060448301526064820183905260009182918616907f23b872dd0000000000000000000000000000000000000000000000000000000090608401610ca2565b6001600160a01b0381168114610e3857600080fd5b50565b8035610e4681610e23565b919050565b60008083601f840112610e5d57600080fd5b50813567ffffffffffffffff811115610e7557600080fd5b602083019150836020828501011115610e8d57600080fd5b9250929050565b60008060008060008060008060a0898b031215610eb057600080fd5b8835610ebb81610e23565b9750602089013567ffffffffffffffff80821115610ed857600080fd5b610ee48c838d01610e4b565b909950975060408b0135915080821115610efd57600080fd5b610f098c838d01610e4b565b909750955060608b0135915080821115610f2257600080fd5b50610f2f8b828c01610e4b565b9094509250506080890135610f4381610e23565b809150509295985092959890939650565b600080600060608486031215610f6957600080fd5b8335610f7481610e23565b92506020840135610f8481610e23565b929592945050506040919091013590565b60008060208385031215610fa857600080fd5b823567ffffffffffffffff811115610fbf57600080fd5b610fcb85828601610e4b565b90969095509350505050565b60008060008060608587031215610fed57600080fd5b8435610ff881610e23565b935060208501359250604085013567ffffffffffffffff81111561101b57600080fd5b61102787828801610e4b565b95989497509550505050565b600080600080600060a0868803121561104b57600080fd5b8535945060208601359350604086013561106481610e23565b925060608601359150608086013561107b81610e23565b809150509295509295909350565b600080600080600080600080600080600060e08c8e0312156110aa57600080fd5b6110b38c610e3b565b9a5067ffffffffffffffff8060208e013511156110cf57600080fd5b6110df8e60208f01358f01610e4b565b909b50995060408d01358110156110f557600080fd5b6111058e60408f01358f01610e4b565b909950975060608d013581101561111b57600080fd5b61112b8e60608f01358f01610e4b565b909750955060808d013581101561114157600080fd5b506111528d60808e01358e01610e4b565b909450925060a08c0135915061116a60c08d01610e3b565b90509295989b509295989b9093969950565b60008060006060848603121561119157600080fd5b833592506020840135915060408401356111aa81610e23565b809150509250925092565b6000806000604084860312156111ca57600080fd5b83356111d581610e23565b9250602084013567ffffffffffffffff808211156111f257600080fd5b818601915086601f83011261120657600080fd5b81358181111561121557600080fd5b8760208260051b850101111561122a57600080fd5b6020830194508093505050509250925092565b634e487b7160e01b600052604160045260246000fd5b600082601f83011261126457600080fd5b813567ffffffffffffffff8082111561127f5761127f61123d565b604051601f8301601f19908116603f011681019082821181831017156112a7576112a761123d565b816040528381528660208588010111156112c057600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000806000806000806000806000806000806101208d8f03121561130357600080fd5b61130c8d610e3b565b9b5067ffffffffffffffff60208e0135111561132757600080fd5b6113378e60208f01358f01610e4b565b909b50995067ffffffffffffffff60408e0135111561135557600080fd5b6113658e60408f01358f01610e4b565b909950975067ffffffffffffffff60608e0135111561138357600080fd5b6113938e60608f01358f01610e4b565b909750955067ffffffffffffffff60808e013511156113b157600080fd5b6113c18e60808f01358f01611253565b945060a08d013593506113d660c08e01610e3b565b925060e08d013591506113ec6101008e01610e3b565b90509295989b509295989b509295989b565b60006020828403121561141057600080fd5b813561141b81610e23565b9392505050565b60008060008060008060008060008060e08b8d03121561144157600080fd5b8a3561144c81610e23565b995060208b013567ffffffffffffffff8082111561146957600080fd5b6114758e838f01610e4b565b909b50995060408d013591508082111561148e57600080fd5b61149a8e838f01610e4b565b909950975060608d01359150808211156114b357600080fd5b506114c08d828e01610e4b565b90965094505060808b01356114d481610e23565b925060a08b013591506114e960c08c01610e3b565b90509295989b9194979a5092959850565b8183823760009101908152919050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b60808152600061154760808301888a61150a565b828103602084015261155a81878961150a565b9150508360408301526001600160a01b0383166060830152979650505050505050565b60006020828403121561158f57600080fd5b5051919050565b6020815260006115aa60208301848661150a565b949350505050565b60005b838110156115cd5781810151838201526020016115b5565b838111156103f85750506000910152565b600082516115f08184602087016115b2565b9190910192915050565b60c08152600061160e60c083018b8d61150a565b8281036020840152611621818a8c61150a565b9050828103604084015261163681888a61150a565b6060840196909652505060808101929092526001600160a01b031660a0909101529695505050505050565b634e487b7160e01b600052603260045260246000fd5b600060001982141561169957634e487b7160e01b600052601160045260246000fd5b5060010190565b60e0815260006116b460e083018b8d61150a565b82810360208401526116c7818a8c61150a565b9050828103604084015287518082526116e7816020840160208c016115b2565b60608401979097526001600160a01b03958616608084015260a083019490945250921660c0909201919091526020601f909201601f1916010195945050505050565b60a08152600061173d60a08301898b61150a565b828103602084015261175081888a61150a565b6001600160a01b039687166040850152606084019590955250509216608090920191909152949350505050565b60006020828403121561178f57600080fd5b8151801515811461141b57600080fdfea264697066735822122027baf5e769b3c7053eec4b907b998aaefddb11d5478b92501b995ce70c9c27f264736f6c63430008090033", + "bytecode": "0x608060405234801561001057600080fd5b50611874806100206000396000f3fe6080604052600436106100dd5760003560e01c8063ab1999ba1161007f578063da854d7511610059578063da854d7514610259578063edb6b3a514610279578063f2fde38b14610299578063fd09e3bd146102b957600080fd5b8063ab1999ba14610213578063c62c200214610233578063cd433ada1461024657600080fd5b806382ad6f35116100bb57806382ad6f351461017f5780638da5cb5b1461019f5780639ded06df146101d3578063a3499c73146101f357600080fd5b80630c93e3bb146100e25780635c60da1b146100f75780638291286c14610144575b600080fd5b6100f56100f0366004610f33565b6102d9565b005b34801561010357600080fd5b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc545b6040516001600160a01b0390911681526020015b60405180910390f35b34801561015057600080fd5b506040517ffaa2f015f2ce5aee225904728de2def86eb8837491efd21f1a04fc20d8e923f6815260200161013b565b34801561018b57600080fd5b506100f561019a366004610ff3565b610364565b3480156101ab57600080fd5b507f02016836a56b71f0d02689e69e326f4f4c1b9057164ef592671cf0d37c8040c054610127565b3480156101df57600080fd5b506100f56101ee366004611034565b610435565b3480156101ff57600080fd5b506100f561020e366004611076565b6104a4565b34801561021f57600080fd5b506100f561022e3660046110d2565b6107c0565b6100f5610241366004611128565b610820565b6100f561025436600461121b565b6108b4565b34801561026557600080fd5b506100f5610274366004611254565b61091c565b34801561028557600080fd5b506100f561029436600461137f565b610ad7565b3480156102a557600080fd5b506100f56102b436600461149d565b610b59565b3480156102c557600080fd5b506100f56102d43660046114c1565b610c41565b346102f75760405163b5c74a2760e01b815260040160405180910390fd5b8282604051610307929190611599565b6040518091039020886001600160a01b03167f617332c1832058df6ee45fcbdf471251474c9945a8e5d229287a21a5f67ccf0a898989893488604051610352969594939291906115d2565b60405180910390a35050505050505050565b3361038d7f02016836a56b71f0d02689e69e326f4f4c1b9057164ef592671cf0d37c8040c05490565b6001600160a01b0316146103b4576040516330cd747160e01b815260040160405180910390fd5b6001600160a01b0383166103db5760405163e6c4247b60e01b815260040160405180910390fd5b6001600160a01b038216610425576040516001600160a01b0384169082156108fc029083906000818181858888f1935050505015801561041f573d6000803e3d6000fd5b50505050565b610430828483610cbd565b505050565b600061045f7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b031614156104a0576040517fbf10dd3a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b336104cd7f02016836a56b71f0d02689e69e326f4f4c1b9057164ef592671cf0d37c8040c05490565b6001600160a01b0316146104f4576040516330cd747160e01b815260040160405180910390fd5b306001600160a01b0316638291286c6040518163ffffffff1660e01b815260040160206040518083038186803b15801561052d57600080fd5b505afa158015610541573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610565919061161c565b846001600160a01b0316638291286c6040518163ffffffff1660e01b815260040160206040518083038186803b15801561059e57600080fd5b505afa1580156105b2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105d6919061161c565b1461060d576040517f68155f9a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b836001600160a01b03163f8314610650576040517f8f84fb2400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8015610765576000846001600160a01b0316639ded06df60e01b848460405160240161067d929190611635565b60408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009094169390931790925290516106e8919061167d565b600060405180830381855af49150503d8060008114610723576040519150601f19603f3d011682016040523d82523d6000602084013e610728565b606091505b5050905080610763576040517f97905dfb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505b6040516001600160a01b038516907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a25050507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b6107cb833384610e52565b604080516001600160a01b038581168252602082018590528316818301529051859187917f2275e75614080f9782f72563c2c1688c901c5339c7f9f436d323f9386fed700a9181900360600190a35050505050565b3461083e5760405163b5c74a2760e01b815260040160405180910390fd5b858560405161084e929190611599565b60405180910390208b6001600160a01b03167f999d431b58761213cf53af96262b67a069cbd963499fd8effd1e21556217b8418c8c8c8c8a8a8a348b60405161089f99989796959493929190611699565b60405180910390a35050505050505050505050565b346108d25760405163b5c74a2760e01b815260040160405180910390fd5b604080513481526001600160a01b0383166020820152839185917ffeb6b00343feee0f29a1a4345f8bf93ca1c73ee922248a4237a4e50d6447604e910160405180910390a3505050565b336109457f02016836a56b71f0d02689e69e326f4f4c1b9057164ef592671cf0d37c8040c05490565b6001600160a01b03161461096c576040516330cd747160e01b815260040160405180910390fd5b6001600160a01b0383166109935760405163e6c4247b60e01b815260040160405180910390fd5b60005b8181101561041f5760008383838181106109b2576109b2611700565b90506020020160208101906109c7919061149d565b90506001600160a01b038116610a1c57478015610a16576040516001600160a01b0387169082156108fc029083906000818181858888f19350505050158015610a14573d6000803e3d6000fd5b505b50610ac4565b6040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526000906001600160a01b038316906370a082319060240160206040518083038186803b158015610a7757600080fd5b505afa158015610a8b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aaf919061161c565b90508015610ac257610ac2828783610cbd565b505b5080610acf81611716565b915050610996565b610ae2833384610e52565b8686604051610af2929190611599565b60405180910390208c6001600160a01b03167f8875f9764f28fa82d3e7ff1b80bd5c8f665e1f42fcd8c2faebc7c400a4ba1bbd8d8d8d8d8b8b8b8b8b604051610b439998979695949392919061173f565b60405180910390a3505050505050505050505050565b33610b827f02016836a56b71f0d02689e69e326f4f4c1b9057164ef592671cf0d37c8040c05490565b6001600160a01b031614610ba9576040516330cd747160e01b815260040160405180910390fd5b6001600160a01b038116610be9576040517f49e27cff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040516001600160a01b038216907f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc68616390600090a27f02016836a56b71f0d02689e69e326f4f4c1b9057164ef592671cf0d37c8040c055565b610c4c833384610e52565b8484604051610c5c929190611599565b60405180910390208a6001600160a01b03167f99206760f0be19dd093729bd35e5924daff5e217bcedc5223ed067b60008cf8a8b8b8b8b898989604051610ca997969594939291906117c8565b60405180910390a350505050505050505050565b80610cdb5760405163b5c74a2760e01b815260040160405180910390fd5b6040516001600160a01b0383811660248301526044820183905260009182918616907fa9059cbb00000000000000000000000000000000000000000000000000000000906064015b60408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909416939093179092529051610d8e919061167d565b6000604051808303816000865af19150503d8060008114610dcb576040519150601f19603f3d011682016040523d82523d6000602084013e610dd0565b606091505b50915091506000828015610dfc575081511580610dfc575081806020019051810190610dfc919061181c565b9050801580610e1357506001600160a01b0386163b155b15610e4a576040517f90b8ec1800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050505050565b80610e705760405163b5c74a2760e01b815260040160405180910390fd5b6040516001600160a01b0383811660248301523060448301526064820183905260009182918616907f23b872dd0000000000000000000000000000000000000000000000000000000090608401610d23565b6001600160a01b0381168114610ed757600080fd5b50565b8035610ee581610ec2565b919050565b60008083601f840112610efc57600080fd5b50813567ffffffffffffffff811115610f1457600080fd5b602083019150836020828501011115610f2c57600080fd5b9250929050565b60008060008060008060008060a0898b031215610f4f57600080fd5b8835610f5a81610ec2565b9750602089013567ffffffffffffffff80821115610f7757600080fd5b610f838c838d01610eea565b909950975060408b0135915080821115610f9c57600080fd5b610fa88c838d01610eea565b909750955060608b0135915080821115610fc157600080fd5b50610fce8b828c01610eea565b9094509250506080890135610fe281610ec2565b809150509295985092959890939650565b60008060006060848603121561100857600080fd5b833561101381610ec2565b9250602084013561102381610ec2565b929592945050506040919091013590565b6000806020838503121561104757600080fd5b823567ffffffffffffffff81111561105e57600080fd5b61106a85828601610eea565b90969095509350505050565b6000806000806060858703121561108c57600080fd5b843561109781610ec2565b935060208501359250604085013567ffffffffffffffff8111156110ba57600080fd5b6110c687828801610eea565b95989497509550505050565b600080600080600060a086880312156110ea57600080fd5b8535945060208601359350604086013561110381610ec2565b925060608601359150608086013561111a81610ec2565b809150509295509295909350565b600080600080600080600080600080600060e08c8e03121561114957600080fd5b6111528c610eda565b9a5067ffffffffffffffff8060208e0135111561116e57600080fd5b61117e8e60208f01358f01610eea565b909b50995060408d013581101561119457600080fd5b6111a48e60408f01358f01610eea565b909950975060608d01358110156111ba57600080fd5b6111ca8e60608f01358f01610eea565b909750955060808d01358110156111e057600080fd5b506111f18d60808e01358e01610eea565b909450925060a08c0135915061120960c08d01610eda565b90509295989b509295989b9093969950565b60008060006060848603121561123057600080fd5b8335925060208401359150604084013561124981610ec2565b809150509250925092565b60008060006040848603121561126957600080fd5b833561127481610ec2565b9250602084013567ffffffffffffffff8082111561129157600080fd5b818601915086601f8301126112a557600080fd5b8135818111156112b457600080fd5b8760208260051b85010111156112c957600080fd5b6020830194508093505050509250925092565b634e487b7160e01b600052604160045260246000fd5b600082601f83011261130357600080fd5b813567ffffffffffffffff8082111561131e5761131e6112dc565b604051601f8301601f19908116603f01168101908282118183101715611346576113466112dc565b8160405283815286602085880101111561135f57600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000806000806000806000806000806000806101208d8f0312156113a257600080fd5b6113ab8d610eda565b9b5067ffffffffffffffff60208e013511156113c657600080fd5b6113d68e60208f01358f01610eea565b909b50995067ffffffffffffffff60408e013511156113f457600080fd5b6114048e60408f01358f01610eea565b909950975067ffffffffffffffff60608e0135111561142257600080fd5b6114328e60608f01358f01610eea565b909750955067ffffffffffffffff60808e0135111561145057600080fd5b6114608e60808f01358f016112f2565b945060a08d0135935061147560c08e01610eda565b925060e08d0135915061148b6101008e01610eda565b90509295989b509295989b509295989b565b6000602082840312156114af57600080fd5b81356114ba81610ec2565b9392505050565b60008060008060008060008060008060e08b8d0312156114e057600080fd5b8a356114eb81610ec2565b995060208b013567ffffffffffffffff8082111561150857600080fd5b6115148e838f01610eea565b909b50995060408d013591508082111561152d57600080fd5b6115398e838f01610eea565b909950975060608d013591508082111561155257600080fd5b5061155f8d828e01610eea565b90965094505060808b013561157381610ec2565b925060a08b0135915061158860c08c01610eda565b90509295989b9194979a5092959850565b8183823760009101908152919050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6080815260006115e660808301888a6115a9565b82810360208401526115f98187896115a9565b9150508360408301526001600160a01b0383166060830152979650505050505050565b60006020828403121561162e57600080fd5b5051919050565b6020815260006116496020830184866115a9565b949350505050565b60005b8381101561166c578181015183820152602001611654565b8381111561041f5750506000910152565b6000825161168f818460208701611651565b9190910192915050565b60c0815260006116ad60c083018b8d6115a9565b82810360208401526116c0818a8c6115a9565b905082810360408401526116d581888a6115a9565b6060840196909652505060808101929092526001600160a01b031660a0909101529695505050505050565b634e487b7160e01b600052603260045260246000fd5b600060001982141561173857634e487b7160e01b600052601160045260246000fd5b5060010190565b60e08152600061175360e083018b8d6115a9565b8281036020840152611766818a8c6115a9565b905082810360408401528751808252611786816020840160208c01611651565b60608401979097526001600160a01b03958616608084015260a083019490945250921660c0909201919091526020601f909201601f1916010195945050505050565b60a0815260006117dc60a08301898b6115a9565b82810360208401526117ef81888a6115a9565b6001600160a01b039687166040850152606084019590955250509216608090920191909152949350505050565b60006020828403121561182e57600080fd5b815180151581146114ba57600080fdfea2646970667358221220ac57334720401ac9274c7c8abe4ce41af814847d9b2d6fdeb3d1832e5719fb8464736f6c63430008090033", + "deployedBytecode": "0x6080604052600436106100dd5760003560e01c8063ab1999ba1161007f578063da854d7511610059578063da854d7514610259578063edb6b3a514610279578063f2fde38b14610299578063fd09e3bd146102b957600080fd5b8063ab1999ba14610213578063c62c200214610233578063cd433ada1461024657600080fd5b806382ad6f35116100bb57806382ad6f351461017f5780638da5cb5b1461019f5780639ded06df146101d3578063a3499c73146101f357600080fd5b80630c93e3bb146100e25780635c60da1b146100f75780638291286c14610144575b600080fd5b6100f56100f0366004610f33565b6102d9565b005b34801561010357600080fd5b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc545b6040516001600160a01b0390911681526020015b60405180910390f35b34801561015057600080fd5b506040517ffaa2f015f2ce5aee225904728de2def86eb8837491efd21f1a04fc20d8e923f6815260200161013b565b34801561018b57600080fd5b506100f561019a366004610ff3565b610364565b3480156101ab57600080fd5b507f02016836a56b71f0d02689e69e326f4f4c1b9057164ef592671cf0d37c8040c054610127565b3480156101df57600080fd5b506100f56101ee366004611034565b610435565b3480156101ff57600080fd5b506100f561020e366004611076565b6104a4565b34801561021f57600080fd5b506100f561022e3660046110d2565b6107c0565b6100f5610241366004611128565b610820565b6100f561025436600461121b565b6108b4565b34801561026557600080fd5b506100f5610274366004611254565b61091c565b34801561028557600080fd5b506100f561029436600461137f565b610ad7565b3480156102a557600080fd5b506100f56102b436600461149d565b610b59565b3480156102c557600080fd5b506100f56102d43660046114c1565b610c41565b346102f75760405163b5c74a2760e01b815260040160405180910390fd5b8282604051610307929190611599565b6040518091039020886001600160a01b03167f617332c1832058df6ee45fcbdf471251474c9945a8e5d229287a21a5f67ccf0a898989893488604051610352969594939291906115d2565b60405180910390a35050505050505050565b3361038d7f02016836a56b71f0d02689e69e326f4f4c1b9057164ef592671cf0d37c8040c05490565b6001600160a01b0316146103b4576040516330cd747160e01b815260040160405180910390fd5b6001600160a01b0383166103db5760405163e6c4247b60e01b815260040160405180910390fd5b6001600160a01b038216610425576040516001600160a01b0384169082156108fc029083906000818181858888f1935050505015801561041f573d6000803e3d6000fd5b50505050565b610430828483610cbd565b505050565b600061045f7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b031614156104a0576040517fbf10dd3a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b336104cd7f02016836a56b71f0d02689e69e326f4f4c1b9057164ef592671cf0d37c8040c05490565b6001600160a01b0316146104f4576040516330cd747160e01b815260040160405180910390fd5b306001600160a01b0316638291286c6040518163ffffffff1660e01b815260040160206040518083038186803b15801561052d57600080fd5b505afa158015610541573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610565919061161c565b846001600160a01b0316638291286c6040518163ffffffff1660e01b815260040160206040518083038186803b15801561059e57600080fd5b505afa1580156105b2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105d6919061161c565b1461060d576040517f68155f9a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b836001600160a01b03163f8314610650576040517f8f84fb2400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8015610765576000846001600160a01b0316639ded06df60e01b848460405160240161067d929190611635565b60408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009094169390931790925290516106e8919061167d565b600060405180830381855af49150503d8060008114610723576040519150601f19603f3d011682016040523d82523d6000602084013e610728565b606091505b5050905080610763576040517f97905dfb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505b6040516001600160a01b038516907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a25050507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b6107cb833384610e52565b604080516001600160a01b038581168252602082018590528316818301529051859187917f2275e75614080f9782f72563c2c1688c901c5339c7f9f436d323f9386fed700a9181900360600190a35050505050565b3461083e5760405163b5c74a2760e01b815260040160405180910390fd5b858560405161084e929190611599565b60405180910390208b6001600160a01b03167f999d431b58761213cf53af96262b67a069cbd963499fd8effd1e21556217b8418c8c8c8c8a8a8a348b60405161089f99989796959493929190611699565b60405180910390a35050505050505050505050565b346108d25760405163b5c74a2760e01b815260040160405180910390fd5b604080513481526001600160a01b0383166020820152839185917ffeb6b00343feee0f29a1a4345f8bf93ca1c73ee922248a4237a4e50d6447604e910160405180910390a3505050565b336109457f02016836a56b71f0d02689e69e326f4f4c1b9057164ef592671cf0d37c8040c05490565b6001600160a01b03161461096c576040516330cd747160e01b815260040160405180910390fd5b6001600160a01b0383166109935760405163e6c4247b60e01b815260040160405180910390fd5b60005b8181101561041f5760008383838181106109b2576109b2611700565b90506020020160208101906109c7919061149d565b90506001600160a01b038116610a1c57478015610a16576040516001600160a01b0387169082156108fc029083906000818181858888f19350505050158015610a14573d6000803e3d6000fd5b505b50610ac4565b6040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526000906001600160a01b038316906370a082319060240160206040518083038186803b158015610a7757600080fd5b505afa158015610a8b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aaf919061161c565b90508015610ac257610ac2828783610cbd565b505b5080610acf81611716565b915050610996565b610ae2833384610e52565b8686604051610af2929190611599565b60405180910390208c6001600160a01b03167f8875f9764f28fa82d3e7ff1b80bd5c8f665e1f42fcd8c2faebc7c400a4ba1bbd8d8d8d8d8b8b8b8b8b604051610b439998979695949392919061173f565b60405180910390a3505050505050505050505050565b33610b827f02016836a56b71f0d02689e69e326f4f4c1b9057164ef592671cf0d37c8040c05490565b6001600160a01b031614610ba9576040516330cd747160e01b815260040160405180910390fd5b6001600160a01b038116610be9576040517f49e27cff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040516001600160a01b038216907f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc68616390600090a27f02016836a56b71f0d02689e69e326f4f4c1b9057164ef592671cf0d37c8040c055565b610c4c833384610e52565b8484604051610c5c929190611599565b60405180910390208a6001600160a01b03167f99206760f0be19dd093729bd35e5924daff5e217bcedc5223ed067b60008cf8a8b8b8b8b898989604051610ca997969594939291906117c8565b60405180910390a350505050505050505050565b80610cdb5760405163b5c74a2760e01b815260040160405180910390fd5b6040516001600160a01b0383811660248301526044820183905260009182918616907fa9059cbb00000000000000000000000000000000000000000000000000000000906064015b60408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909416939093179092529051610d8e919061167d565b6000604051808303816000865af19150503d8060008114610dcb576040519150601f19603f3d011682016040523d82523d6000602084013e610dd0565b606091505b50915091506000828015610dfc575081511580610dfc575081806020019051810190610dfc919061181c565b9050801580610e1357506001600160a01b0386163b155b15610e4a576040517f90b8ec1800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050505050565b80610e705760405163b5c74a2760e01b815260040160405180910390fd5b6040516001600160a01b0383811660248301523060448301526064820183905260009182918616907f23b872dd0000000000000000000000000000000000000000000000000000000090608401610d23565b6001600160a01b0381168114610ed757600080fd5b50565b8035610ee581610ec2565b919050565b60008083601f840112610efc57600080fd5b50813567ffffffffffffffff811115610f1457600080fd5b602083019150836020828501011115610f2c57600080fd5b9250929050565b60008060008060008060008060a0898b031215610f4f57600080fd5b8835610f5a81610ec2565b9750602089013567ffffffffffffffff80821115610f7757600080fd5b610f838c838d01610eea565b909950975060408b0135915080821115610f9c57600080fd5b610fa88c838d01610eea565b909750955060608b0135915080821115610fc157600080fd5b50610fce8b828c01610eea565b9094509250506080890135610fe281610ec2565b809150509295985092959890939650565b60008060006060848603121561100857600080fd5b833561101381610ec2565b9250602084013561102381610ec2565b929592945050506040919091013590565b6000806020838503121561104757600080fd5b823567ffffffffffffffff81111561105e57600080fd5b61106a85828601610eea565b90969095509350505050565b6000806000806060858703121561108c57600080fd5b843561109781610ec2565b935060208501359250604085013567ffffffffffffffff8111156110ba57600080fd5b6110c687828801610eea565b95989497509550505050565b600080600080600060a086880312156110ea57600080fd5b8535945060208601359350604086013561110381610ec2565b925060608601359150608086013561111a81610ec2565b809150509295509295909350565b600080600080600080600080600080600060e08c8e03121561114957600080fd5b6111528c610eda565b9a5067ffffffffffffffff8060208e0135111561116e57600080fd5b61117e8e60208f01358f01610eea565b909b50995060408d013581101561119457600080fd5b6111a48e60408f01358f01610eea565b909950975060608d01358110156111ba57600080fd5b6111ca8e60608f01358f01610eea565b909750955060808d01358110156111e057600080fd5b506111f18d60808e01358e01610eea565b909450925060a08c0135915061120960c08d01610eda565b90509295989b509295989b9093969950565b60008060006060848603121561123057600080fd5b8335925060208401359150604084013561124981610ec2565b809150509250925092565b60008060006040848603121561126957600080fd5b833561127481610ec2565b9250602084013567ffffffffffffffff8082111561129157600080fd5b818601915086601f8301126112a557600080fd5b8135818111156112b457600080fd5b8760208260051b85010111156112c957600080fd5b6020830194508093505050509250925092565b634e487b7160e01b600052604160045260246000fd5b600082601f83011261130357600080fd5b813567ffffffffffffffff8082111561131e5761131e6112dc565b604051601f8301601f19908116603f01168101908282118183101715611346576113466112dc565b8160405283815286602085880101111561135f57600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000806000806000806000806000806000806101208d8f0312156113a257600080fd5b6113ab8d610eda565b9b5067ffffffffffffffff60208e013511156113c657600080fd5b6113d68e60208f01358f01610eea565b909b50995067ffffffffffffffff60408e013511156113f457600080fd5b6114048e60408f01358f01610eea565b909950975067ffffffffffffffff60608e0135111561142257600080fd5b6114328e60608f01358f01610eea565b909750955067ffffffffffffffff60808e0135111561145057600080fd5b6114608e60808f01358f016112f2565b945060a08d0135935061147560c08e01610eda565b925060e08d0135915061148b6101008e01610eda565b90509295989b509295989b509295989b565b6000602082840312156114af57600080fd5b81356114ba81610ec2565b9392505050565b60008060008060008060008060008060e08b8d0312156114e057600080fd5b8a356114eb81610ec2565b995060208b013567ffffffffffffffff8082111561150857600080fd5b6115148e838f01610eea565b909b50995060408d013591508082111561152d57600080fd5b6115398e838f01610eea565b909950975060608d013591508082111561155257600080fd5b5061155f8d828e01610eea565b90965094505060808b013561157381610ec2565b925060a08b0135915061158860c08c01610eda565b90509295989b9194979a5092959850565b8183823760009101908152919050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6080815260006115e660808301888a6115a9565b82810360208401526115f98187896115a9565b9150508360408301526001600160a01b0383166060830152979650505050505050565b60006020828403121561162e57600080fd5b5051919050565b6020815260006116496020830184866115a9565b949350505050565b60005b8381101561166c578181015183820152602001611654565b8381111561041f5750506000910152565b6000825161168f818460208701611651565b9190910192915050565b60c0815260006116ad60c083018b8d6115a9565b82810360208401526116c0818a8c6115a9565b905082810360408401526116d581888a6115a9565b6060840196909652505060808101929092526001600160a01b031660a0909101529695505050505050565b634e487b7160e01b600052603260045260246000fd5b600060001982141561173857634e487b7160e01b600052601160045260246000fd5b5060010190565b60e08152600061175360e083018b8d6115a9565b8281036020840152611766818a8c6115a9565b905082810360408401528751808252611786816020840160208c01611651565b60608401979097526001600160a01b03958616608084015260a083019490945250921660c0909201919091526020601f909201601f1916010195945050505050565b60a0815260006117dc60a08301898b6115a9565b82810360208401526117ef81888a6115a9565b6001600160a01b039687166040850152606084019590955250509216608090920191909152949350505050565b60006020828403121561182e57600080fd5b815180151581146114ba57600080fdfea2646970667358221220ac57334720401ac9274c7c8abe4ce41af814847d9b2d6fdeb3d1832e5719fb8464736f6c63430008090033", "linkReferences": {}, "deployedLinkReferences": {} } diff --git a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/gas-service/AxelarGasServiceProxy.sol/AxelarGasServiceProxy.dbg.json b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/gas-service/AxelarGasServiceProxy.sol/AxelarGasServiceProxy.dbg.json index 2b51bc62..34bc47b6 100644 --- a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/gas-service/AxelarGasServiceProxy.sol/AxelarGasServiceProxy.dbg.json +++ b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/gas-service/AxelarGasServiceProxy.sol/AxelarGasServiceProxy.dbg.json @@ -1,4 +1,4 @@ { "_format": "hh-sol-dbg-1", - "buildInfo": "../../../../../build-info/12c9a8f7cfdae039186ba7f422bc265d.json" + "buildInfo": "../../../../../build-info/3aa2fc6680ec7dd0d7e17835f8008fcc.json" } diff --git a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/gas-service/AxelarGasServiceProxy.sol/AxelarGasServiceProxy.json b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/gas-service/AxelarGasServiceProxy.sol/AxelarGasServiceProxy.json index ad25d340..11381c99 100644 --- a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/gas-service/AxelarGasServiceProxy.sol/AxelarGasServiceProxy.json +++ b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/gas-service/AxelarGasServiceProxy.sol/AxelarGasServiceProxy.json @@ -4,20 +4,9 @@ "sourceName": "@axelar-network/axelar-cgp-solidity/contracts/gas-service/AxelarGasServiceProxy.sol", "abi": [ { - "inputs": [ - { - "internalType": "address", - "name": "implementationAddress", - "type": "address" - }, - { - "internalType": "bytes", - "name": "params", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" + "inputs": [], + "name": "AlreadyInitialized", + "type": "error" }, { "inputs": [], @@ -29,6 +18,11 @@ "name": "InvalidImplementation", "type": "error" }, + { + "inputs": [], + "name": "NotOwner", + "type": "error" + }, { "inputs": [], "name": "SetupFailed", @@ -51,6 +45,29 @@ "stateMutability": "view", "type": "function" }, + { + "inputs": [ + { + "internalType": "address", + "name": "implementationAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "newOwner", + "type": "address" + }, + { + "internalType": "bytes", + "name": "params", + "type": "bytes" + } + ], + "name": "init", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, { "inputs": [ { @@ -69,8 +86,8 @@ "type": "receive" } ], - "bytecode": "0x608060405234801561001057600080fd5b5060405161054e38038061054e83398101604081905261002f91610234565b8181817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55337f02016836a56b71f0d02689e69e326f4f4c1b9057164ef592671cf0d37c8040c0556000826001600160a01b0316639ded06df836040516024016100999190610302565b6040516020818303038152906040529060e01b6020820180516001600160e01b0383818316178352505050506040516100d29190610335565b600060405180830381855af49150503d806000811461010d576040519150601f19603f3d011682016040523d82523d6000602084013e610112565b606091505b5050905080610134576040516397905dfb60e01b815260040160405180910390fd5b5050507ffaa2f015f2ce5aee225904728de2def86eb8837491efd21f1a04fc20d8e923f6826001600160a01b0316638291286c6040518163ffffffff1660e01b815260040160206040518083038186803b15801561019157600080fd5b505afa1580156101a5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101c99190610351565b146101e75760405163340aafcd60e11b815260040160405180910390fd5b505061036a565b634e487b7160e01b600052604160045260246000fd5b60005b8381101561021f578181015183820152602001610207565b8381111561022e576000848401525b50505050565b6000806040838503121561024757600080fd5b82516001600160a01b038116811461025e57600080fd5b60208401519092506001600160401b038082111561027b57600080fd5b818501915085601f83011261028f57600080fd5b8151818111156102a1576102a16101ee565b604051601f8201601f19908116603f011681019083821181831017156102c9576102c96101ee565b816040528281528860208487010111156102e257600080fd5b6102f3836020830160208801610204565b80955050505050509250929050565b6020815260008251806020840152610321816040850160208701610204565b601f01601f19169190910160400192915050565b60008251610347818460208701610204565b9190910192915050565b60006020828403121561036357600080fd5b5051919050565b6101d5806103796000396000f3fe60806040526004361061002d5760003560e01c80635c60da1b146100b45780639ded06df1461010c57610064565b36610064576040517f3733483400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600061008e7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b90503660008037600080366000845af43d6000803e8080156100af573d6000f35b3d6000fd5b3480156100c057600080fd5b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5460405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b34801561011857600080fd5b5061012b61012736600461012d565b5050565b005b6000806020838503121561014057600080fd5b823567ffffffffffffffff8082111561015857600080fd5b818501915085601f83011261016c57600080fd5b81358181111561017b57600080fd5b86602082850101111561018d57600080fd5b6020929092019691955090935050505056fea2646970667358221220facda001717d5fbfadf676f64c894d3384f01561c382842ff2efc0bbc1c224df64736f6c63430008090033", - "deployedBytecode": "0x60806040526004361061002d5760003560e01c80635c60da1b146100b45780639ded06df1461010c57610064565b36610064576040517f3733483400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600061008e7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b90503660008037600080366000845af43d6000803e8080156100af573d6000f35b3d6000fd5b3480156100c057600080fd5b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5460405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b34801561011857600080fd5b5061012b61012736600461012d565b5050565b005b6000806020838503121561014057600080fd5b823567ffffffffffffffff8082111561015857600080fd5b818501915085601f83011261016c57600080fd5b81358181111561017b57600080fd5b86602082850101111561018d57600080fd5b6020929092019691955090935050505056fea2646970667358221220facda001717d5fbfadf676f64c894d3384f01561c382842ff2efc0bbc1c224df64736f6c63430008090033", + "bytecode": "0x608060405234801561001057600080fd5b50337f02016836a56b71f0d02689e69e326f4f4c1b9057164ef592671cf0d37c8040c055610677806100436000396000f3fe6080604052600436106100385760003560e01c8063378dfd8e146100bf5780635c60da1b146100e15780639ded06df1461012c5761006f565b3661006f576040517f3733483400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006100997f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b90503660008037600080366000845af43d6000803e8080156100ba573d6000f35b3d6000fd5b3480156100cb57600080fd5b506100df6100da366004610465565b61014b565b005b3480156100ed57600080fd5b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546040516001600160a01b03909116815260200160405180910390f35b34801561013857600080fd5b506100df610147366004610537565b5050565b7f02016836a56b71f0d02689e69e326f4f4c1b9057164ef592671cf0d37c8040c054336001600160a01b038216146101af576040517f30cd747100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006101d97f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b031614610219576040517f0dc149f000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7ffaa2f015f2ce5aee225904728de2def86eb8837491efd21f1a04fc20d8e923f6846001600160a01b0316638291286c6040518163ffffffff1660e01b815260040160206040518083038186803b15801561027357600080fd5b505afa158015610287573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102ab91906105a9565b146102e2576040517f68155f9a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b837f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55827f02016836a56b71f0d02689e69e326f4f4c1b9057164ef592671cf0d37c8040c0556000846001600160a01b0316639ded06df8460405160240161034a91906105f2565b6040516020818303038152906040529060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516103989190610625565b600060405180830381855af49150503d80600081146103d3576040519150601f19603f3d011682016040523d82523d6000602084013e6103d8565b606091505b5050905080610413576040517f97905dfb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050505050565b80356001600160a01b038116811461043157600080fd5b919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60008060006060848603121561047a57600080fd5b6104838461041a565b92506104916020850161041a565b9150604084013567ffffffffffffffff808211156104ae57600080fd5b818601915086601f8301126104c257600080fd5b8135818111156104d4576104d4610436565b604051601f8201601f19908116603f011681019083821181831017156104fc576104fc610436565b8160405282815289602084870101111561051557600080fd5b8260208601602083013760006020848301015280955050505050509250925092565b6000806020838503121561054a57600080fd5b823567ffffffffffffffff8082111561056257600080fd5b818501915085601f83011261057657600080fd5b81358181111561058557600080fd5b86602082850101111561059757600080fd5b60209290920196919550909350505050565b6000602082840312156105bb57600080fd5b5051919050565b60005b838110156105dd5781810151838201526020016105c5565b838111156105ec576000848401525b50505050565b60208152600082518060208401526106118160408501602087016105c2565b601f01601f19169190910160400192915050565b600082516106378184602087016105c2565b919091019291505056fea264697066735822122044deadf3bb8d86bf5b45e8cceb5d28e1df8037df43d4e7d18bb3b5e963bee29a64736f6c63430008090033", + "deployedBytecode": "0x6080604052600436106100385760003560e01c8063378dfd8e146100bf5780635c60da1b146100e15780639ded06df1461012c5761006f565b3661006f576040517f3733483400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006100997f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b90503660008037600080366000845af43d6000803e8080156100ba573d6000f35b3d6000fd5b3480156100cb57600080fd5b506100df6100da366004610465565b61014b565b005b3480156100ed57600080fd5b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546040516001600160a01b03909116815260200160405180910390f35b34801561013857600080fd5b506100df610147366004610537565b5050565b7f02016836a56b71f0d02689e69e326f4f4c1b9057164ef592671cf0d37c8040c054336001600160a01b038216146101af576040517f30cd747100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006101d97f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b031614610219576040517f0dc149f000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7ffaa2f015f2ce5aee225904728de2def86eb8837491efd21f1a04fc20d8e923f6846001600160a01b0316638291286c6040518163ffffffff1660e01b815260040160206040518083038186803b15801561027357600080fd5b505afa158015610287573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102ab91906105a9565b146102e2576040517f68155f9a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b837f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55827f02016836a56b71f0d02689e69e326f4f4c1b9057164ef592671cf0d37c8040c0556000846001600160a01b0316639ded06df8460405160240161034a91906105f2565b6040516020818303038152906040529060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516103989190610625565b600060405180830381855af49150503d80600081146103d3576040519150601f19603f3d011682016040523d82523d6000602084013e6103d8565b606091505b5050905080610413576040517f97905dfb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050505050565b80356001600160a01b038116811461043157600080fd5b919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60008060006060848603121561047a57600080fd5b6104838461041a565b92506104916020850161041a565b9150604084013567ffffffffffffffff808211156104ae57600080fd5b818601915086601f8301126104c257600080fd5b8135818111156104d4576104d4610436565b604051601f8201601f19908116603f011681019083821181831017156104fc576104fc610436565b8160405282815289602084870101111561051557600080fd5b8260208601602083013760006020848301015280955050505050509250925092565b6000806020838503121561054a57600080fd5b823567ffffffffffffffff8082111561056257600080fd5b818501915085601f83011261057657600080fd5b81358181111561058557600080fd5b86602082850101111561059757600080fd5b60209290920196919550909350505050565b6000602082840312156105bb57600080fd5b5051919050565b60005b838110156105dd5781810151838201526020016105c5565b838111156105ec576000848401525b50505050565b60208152600082518060208401526106118160408501602087016105c2565b601f01601f19169190910160400192915050565b600082516106378184602087016105c2565b919091019291505056fea264697066735822122044deadf3bb8d86bf5b45e8cceb5d28e1df8037df43d4e7d18bb3b5e963bee29a64736f6c63430008090033", "linkReferences": {}, "deployedLinkReferences": {} } diff --git a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarAuth.sol/IAxelarAuth.dbg.json b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarAuth.sol/IAxelarAuth.dbg.json index 2b51bc62..34bc47b6 100644 --- a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarAuth.sol/IAxelarAuth.dbg.json +++ b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarAuth.sol/IAxelarAuth.dbg.json @@ -1,4 +1,4 @@ { "_format": "hh-sol-dbg-1", - "buildInfo": "../../../../../build-info/12c9a8f7cfdae039186ba7f422bc265d.json" + "buildInfo": "../../../../../build-info/3aa2fc6680ec7dd0d7e17835f8008fcc.json" } diff --git a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarAuthMultisig.sol/IAxelarAuthMultisig.dbg.json b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarAuthMultisig.sol/IAxelarAuthMultisig.dbg.json deleted file mode 100644 index 2b51bc62..00000000 --- a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarAuthMultisig.sol/IAxelarAuthMultisig.dbg.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "_format": "hh-sol-dbg-1", - "buildInfo": "../../../../../build-info/12c9a8f7cfdae039186ba7f422bc265d.json" -} diff --git a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarAuthWeighted.sol/IAxelarAuthWeighted.dbg.json b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarAuthWeighted.sol/IAxelarAuthWeighted.dbg.json new file mode 100644 index 00000000..34bc47b6 --- /dev/null +++ b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarAuthWeighted.sol/IAxelarAuthWeighted.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../../../build-info/3aa2fc6680ec7dd0d7e17835f8008fcc.json" +} diff --git a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarAuthMultisig.sol/IAxelarAuthMultisig.json b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarAuthWeighted.sol/IAxelarAuthWeighted.json similarity index 82% rename from artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarAuthMultisig.sol/IAxelarAuthMultisig.json rename to artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarAuthWeighted.sol/IAxelarAuthWeighted.json index 6329f77f..d0ec72e5 100644 --- a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarAuthMultisig.sol/IAxelarAuthMultisig.json +++ b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarAuthWeighted.sol/IAxelarAuthWeighted.json @@ -1,13 +1,43 @@ { "_format": "hh-sol-artifact-1", - "contractName": "IAxelarAuthMultisig", - "sourceName": "@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarAuthMultisig.sol", + "contractName": "IAxelarAuthWeighted", + "sourceName": "@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarAuthWeighted.sol", "abi": [ + { + "inputs": [], + "name": "DuplicateOperators", + "type": "error" + }, + { + "inputs": [], + "name": "InvalidOperators", + "type": "error" + }, { "inputs": [], "name": "InvalidOwner", "type": "error" }, + { + "inputs": [], + "name": "InvalidThreshold", + "type": "error" + }, + { + "inputs": [], + "name": "InvalidWeights", + "type": "error" + }, + { + "inputs": [], + "name": "LowSignaturesWeight", + "type": "error" + }, + { + "inputs": [], + "name": "MalformedSigners", + "type": "error" + }, { "inputs": [], "name": "NotOwner", @@ -22,6 +52,12 @@ "name": "newOperators", "type": "address[]" }, + { + "indexed": false, + "internalType": "uint256[]", + "name": "newWeights", + "type": "uint256[]" + }, { "indexed": false, "internalType": "uint256", diff --git a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarExecutable.sol/IAxelarExecutable.dbg.json b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarExecutable.sol/IAxelarExecutable.dbg.json index 2b51bc62..34bc47b6 100644 --- a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarExecutable.sol/IAxelarExecutable.dbg.json +++ b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarExecutable.sol/IAxelarExecutable.dbg.json @@ -1,4 +1,4 @@ { "_format": "hh-sol-dbg-1", - "buildInfo": "../../../../../build-info/12c9a8f7cfdae039186ba7f422bc265d.json" + "buildInfo": "../../../../../build-info/3aa2fc6680ec7dd0d7e17835f8008fcc.json" } diff --git a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarGasService.sol/IAxelarGasService.dbg.json b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarGasService.sol/IAxelarGasService.dbg.json index 2b51bc62..34bc47b6 100644 --- a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarGasService.sol/IAxelarGasService.dbg.json +++ b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarGasService.sol/IAxelarGasService.dbg.json @@ -1,4 +1,4 @@ { "_format": "hh-sol-dbg-1", - "buildInfo": "../../../../../build-info/12c9a8f7cfdae039186ba7f422bc265d.json" + "buildInfo": "../../../../../build-info/3aa2fc6680ec7dd0d7e17835f8008fcc.json" } diff --git a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarGasService.sol/IAxelarGasService.json b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarGasService.sol/IAxelarGasService.json index 1d2663e2..a7320c96 100644 --- a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarGasService.sol/IAxelarGasService.json +++ b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarGasService.sol/IAxelarGasService.json @@ -3,6 +3,11 @@ "contractName": "IAxelarGasService", "sourceName": "@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarGasService.sol", "abi": [ + { + "inputs": [], + "name": "InvalidAddress", + "type": "error" + }, { "inputs": [], "name": "InvalidCodeHash", @@ -429,6 +434,19 @@ "type": "bytes32" } ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [], + "name": "implementation", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], "stateMutability": "view", "type": "function" }, diff --git a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarGateway.sol/IAxelarGateway.dbg.json b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarGateway.sol/IAxelarGateway.dbg.json index 2b51bc62..34bc47b6 100644 --- a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarGateway.sol/IAxelarGateway.dbg.json +++ b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarGateway.sol/IAxelarGateway.dbg.json @@ -1,4 +1,4 @@ { "_format": "hh-sol-dbg-1", - "buildInfo": "../../../../../build-info/12c9a8f7cfdae039186ba7f422bc265d.json" + "buildInfo": "../../../../../build-info/3aa2fc6680ec7dd0d7e17835f8008fcc.json" } diff --git a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarGateway.sol/IAxelarGateway.json b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarGateway.sol/IAxelarGateway.json index 1688933b..d414ccbd 100644 --- a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarGateway.sol/IAxelarGateway.json +++ b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarGateway.sol/IAxelarGateway.json @@ -22,7 +22,7 @@ "type": "string" } ], - "name": "ExceedDailyMintLimit", + "name": "ExceedMintLimit", "type": "error" }, { @@ -52,7 +52,7 @@ }, { "inputs": [], - "name": "InvalidSetDailyMintLimitsParams", + "name": "InvalidSetMintLimitsParams", "type": "error" }, { @@ -363,12 +363,12 @@ }, { "indexed": false, - "internalType": "uint256", - "name": "limit", - "type": "uint256" + "internalType": "address", + "name": "tokenAddresses", + "type": "address" } ], - "name": "TokenDailyMintLimitUpdated", + "name": "TokenDeployed", "type": "event" }, { @@ -382,12 +382,12 @@ }, { "indexed": false, - "internalType": "address", - "name": "tokenAddresses", - "type": "address" + "internalType": "uint256", + "name": "limit", + "type": "uint256" } ], - "name": "TokenDeployed", + "name": "TokenMintLimitUpdated", "type": "event" }, { @@ -504,6 +504,19 @@ "stateMutability": "view", "type": "function" }, + { + "inputs": [], + "name": "authModule", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, { "inputs": [ { @@ -734,7 +747,7 @@ "type": "uint256[]" } ], - "name": "setTokenDailyMintLimits", + "name": "setTokenMintLimits", "outputs": [], "stateMutability": "nonpayable", "type": "function" @@ -771,6 +784,19 @@ "stateMutability": "view", "type": "function" }, + { + "inputs": [], + "name": "tokenDeployer", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, { "inputs": [ { @@ -779,12 +805,12 @@ "type": "string" } ], - "name": "tokenDailyMintAmount", + "name": "tokenFrozen", "outputs": [ { - "internalType": "uint256", + "internalType": "bool", "name": "", - "type": "uint256" + "type": "bool" } ], "stateMutability": "view", @@ -798,7 +824,7 @@ "type": "string" } ], - "name": "tokenDailyMintLimit", + "name": "tokenMintAmount", "outputs": [ { "internalType": "uint256", @@ -817,12 +843,12 @@ "type": "string" } ], - "name": "tokenFrozen", + "name": "tokenMintLimit", "outputs": [ { - "internalType": "bool", + "internalType": "uint256", "name": "", - "type": "bool" + "type": "uint256" } ], "stateMutability": "view", diff --git a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IBurnableMintableCappedERC20.sol/IBurnableMintableCappedERC20.dbg.json b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IBurnableMintableCappedERC20.sol/IBurnableMintableCappedERC20.dbg.json index 2b51bc62..34bc47b6 100644 --- a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IBurnableMintableCappedERC20.sol/IBurnableMintableCappedERC20.dbg.json +++ b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IBurnableMintableCappedERC20.sol/IBurnableMintableCappedERC20.dbg.json @@ -1,4 +1,4 @@ { "_format": "hh-sol-dbg-1", - "buildInfo": "../../../../../build-info/12c9a8f7cfdae039186ba7f422bc265d.json" + "buildInfo": "../../../../../build-info/3aa2fc6680ec7dd0d7e17835f8008fcc.json" } diff --git a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IERC20.sol/IERC20.dbg.json b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IERC20.sol/IERC20.dbg.json index 2b51bc62..34bc47b6 100644 --- a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IERC20.sol/IERC20.dbg.json +++ b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IERC20.sol/IERC20.dbg.json @@ -1,4 +1,4 @@ { "_format": "hh-sol-dbg-1", - "buildInfo": "../../../../../build-info/12c9a8f7cfdae039186ba7f422bc265d.json" + "buildInfo": "../../../../../build-info/3aa2fc6680ec7dd0d7e17835f8008fcc.json" } diff --git a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IERC20Burn.sol/IERC20Burn.dbg.json b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IERC20Burn.sol/IERC20Burn.dbg.json index 2b51bc62..34bc47b6 100644 --- a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IERC20Burn.sol/IERC20Burn.dbg.json +++ b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IERC20Burn.sol/IERC20Burn.dbg.json @@ -1,4 +1,4 @@ { "_format": "hh-sol-dbg-1", - "buildInfo": "../../../../../build-info/12c9a8f7cfdae039186ba7f422bc265d.json" + "buildInfo": "../../../../../build-info/3aa2fc6680ec7dd0d7e17835f8008fcc.json" } diff --git a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IERC20BurnFrom.sol/IERC20BurnFrom.dbg.json b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IERC20BurnFrom.sol/IERC20BurnFrom.dbg.json index 2b51bc62..34bc47b6 100644 --- a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IERC20BurnFrom.sol/IERC20BurnFrom.dbg.json +++ b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IERC20BurnFrom.sol/IERC20BurnFrom.dbg.json @@ -1,4 +1,4 @@ { "_format": "hh-sol-dbg-1", - "buildInfo": "../../../../../build-info/12c9a8f7cfdae039186ba7f422bc265d.json" + "buildInfo": "../../../../../build-info/3aa2fc6680ec7dd0d7e17835f8008fcc.json" } diff --git a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IERC20Permit.sol/IERC20Permit.dbg.json b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IERC20Permit.sol/IERC20Permit.dbg.json index 2b51bc62..34bc47b6 100644 --- a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IERC20Permit.sol/IERC20Permit.dbg.json +++ b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IERC20Permit.sol/IERC20Permit.dbg.json @@ -1,4 +1,4 @@ { "_format": "hh-sol-dbg-1", - "buildInfo": "../../../../../build-info/12c9a8f7cfdae039186ba7f422bc265d.json" + "buildInfo": "../../../../../build-info/3aa2fc6680ec7dd0d7e17835f8008fcc.json" } diff --git a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IMintableCappedERC20.sol/IMintableCappedERC20.dbg.json b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IMintableCappedERC20.sol/IMintableCappedERC20.dbg.json index 2b51bc62..34bc47b6 100644 --- a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IMintableCappedERC20.sol/IMintableCappedERC20.dbg.json +++ b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IMintableCappedERC20.sol/IMintableCappedERC20.dbg.json @@ -1,4 +1,4 @@ { "_format": "hh-sol-dbg-1", - "buildInfo": "../../../../../build-info/12c9a8f7cfdae039186ba7f422bc265d.json" + "buildInfo": "../../../../../build-info/3aa2fc6680ec7dd0d7e17835f8008fcc.json" } diff --git a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IOwnable.sol/IOwnable.dbg.json b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IOwnable.sol/IOwnable.dbg.json index 2b51bc62..34bc47b6 100644 --- a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IOwnable.sol/IOwnable.dbg.json +++ b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IOwnable.sol/IOwnable.dbg.json @@ -1,4 +1,4 @@ { "_format": "hh-sol-dbg-1", - "buildInfo": "../../../../../build-info/12c9a8f7cfdae039186ba7f422bc265d.json" + "buildInfo": "../../../../../build-info/3aa2fc6680ec7dd0d7e17835f8008fcc.json" } diff --git a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/ITokenDeployer.sol/ITokenDeployer.dbg.json b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/ITokenDeployer.sol/ITokenDeployer.dbg.json index 2b51bc62..34bc47b6 100644 --- a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/ITokenDeployer.sol/ITokenDeployer.dbg.json +++ b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/ITokenDeployer.sol/ITokenDeployer.dbg.json @@ -1,4 +1,4 @@ { "_format": "hh-sol-dbg-1", - "buildInfo": "../../../../../build-info/12c9a8f7cfdae039186ba7f422bc265d.json" + "buildInfo": "../../../../../build-info/3aa2fc6680ec7dd0d7e17835f8008fcc.json" } diff --git a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IUpgradable.sol/IUpgradable.dbg.json b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IUpgradable.sol/IUpgradable.dbg.json index 2b51bc62..34bc47b6 100644 --- a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IUpgradable.sol/IUpgradable.dbg.json +++ b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IUpgradable.sol/IUpgradable.dbg.json @@ -1,4 +1,4 @@ { "_format": "hh-sol-dbg-1", - "buildInfo": "../../../../../build-info/12c9a8f7cfdae039186ba7f422bc265d.json" + "buildInfo": "../../../../../build-info/3aa2fc6680ec7dd0d7e17835f8008fcc.json" } diff --git a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IUpgradable.sol/IUpgradable.json b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IUpgradable.sol/IUpgradable.json index 4ba0a9b3..9d354759 100644 --- a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IUpgradable.sol/IUpgradable.json +++ b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IUpgradable.sol/IUpgradable.json @@ -69,6 +69,19 @@ "type": "bytes32" } ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [], + "name": "implementation", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], "stateMutability": "view", "type": "function" }, diff --git a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/util/Proxy.sol/Proxy.dbg.json b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/util/Proxy.sol/Proxy.dbg.json index 2b51bc62..34bc47b6 100644 --- a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/util/Proxy.sol/Proxy.dbg.json +++ b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/util/Proxy.sol/Proxy.dbg.json @@ -1,4 +1,4 @@ { "_format": "hh-sol-dbg-1", - "buildInfo": "../../../../../build-info/12c9a8f7cfdae039186ba7f422bc265d.json" + "buildInfo": "../../../../../build-info/3aa2fc6680ec7dd0d7e17835f8008fcc.json" } diff --git a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/util/Proxy.sol/Proxy.json b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/util/Proxy.sol/Proxy.json index 61186c39..589ae5a6 100644 --- a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/util/Proxy.sol/Proxy.json +++ b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/util/Proxy.sol/Proxy.json @@ -4,21 +4,15 @@ "sourceName": "@axelar-network/axelar-cgp-solidity/contracts/util/Proxy.sol", "abi": [ { - "inputs": [ - { - "internalType": "address", - "name": "implementationAddress", - "type": "address" - }, - { - "internalType": "bytes", - "name": "params", - "type": "bytes" - } - ], + "inputs": [], "stateMutability": "nonpayable", "type": "constructor" }, + { + "inputs": [], + "name": "AlreadyInitialized", + "type": "error" + }, { "inputs": [], "name": "EtherNotAccepted", @@ -29,6 +23,11 @@ "name": "InvalidImplementation", "type": "error" }, + { + "inputs": [], + "name": "NotOwner", + "type": "error" + }, { "inputs": [], "name": "SetupFailed", @@ -51,6 +50,29 @@ "stateMutability": "view", "type": "function" }, + { + "inputs": [ + { + "internalType": "address", + "name": "implementationAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "newOwner", + "type": "address" + }, + { + "internalType": "bytes", + "name": "params", + "type": "bytes" + } + ], + "name": "init", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, { "inputs": [ { @@ -69,8 +91,8 @@ "type": "receive" } ], - "bytecode": "0x608060405234801561001057600080fd5b5060405161048138038061048183398101604081905261002f91610180565b817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55337f02016836a56b71f0d02689e69e326f4f4c1b9057164ef592671cf0d37c8040c0556000826001600160a01b0316639ded06df83604051602401610097919061024e565b6040516020818303038152906040529060e01b6020820180516001600160e01b0383818316178352505050506040516100d09190610281565b600060405180830381855af49150503d806000811461010b576040519150601f19603f3d011682016040523d82523d6000602084013e610110565b606091505b5050905080610132576040516397905dfb60e01b815260040160405180910390fd5b50505061029d565b634e487b7160e01b600052604160045260246000fd5b60005b8381101561016b578181015183820152602001610153565b8381111561017a576000848401525b50505050565b6000806040838503121561019357600080fd5b82516001600160a01b03811681146101aa57600080fd5b60208401519092506001600160401b03808211156101c757600080fd5b818501915085601f8301126101db57600080fd5b8151818111156101ed576101ed61013a565b604051601f8201601f19908116603f011681019083821181831017156102155761021561013a565b8160405282815288602084870101111561022e57600080fd5b61023f836020830160208801610150565b80955050505050509250929050565b602081526000825180602084015261026d816040850160208701610150565b601f01601f19169190910160400192915050565b60008251610293818460208701610150565b9190910192915050565b6101d5806102ac6000396000f3fe60806040526004361061002d5760003560e01c80635c60da1b146100b45780639ded06df1461010c57610064565b36610064576040517f3733483400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600061008e7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b90503660008037600080366000845af43d6000803e8080156100af573d6000f35b3d6000fd5b3480156100c057600080fd5b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5460405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b34801561011857600080fd5b5061012b61012736600461012d565b5050565b005b6000806020838503121561014057600080fd5b823567ffffffffffffffff8082111561015857600080fd5b818501915085601f83011261016c57600080fd5b81358181111561017b57600080fd5b86602082850101111561018d57600080fd5b6020929092019691955090935050505056fea264697066735822122003ed79fc7504e8100bd273d31dd8dada1c0185fdd9aa3470c7317725fbd18cc164736f6c63430008090033", - "deployedBytecode": "0x60806040526004361061002d5760003560e01c80635c60da1b146100b45780639ded06df1461010c57610064565b36610064576040517f3733483400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600061008e7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b90503660008037600080366000845af43d6000803e8080156100af573d6000f35b3d6000fd5b3480156100c057600080fd5b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5460405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b34801561011857600080fd5b5061012b61012736600461012d565b5050565b005b6000806020838503121561014057600080fd5b823567ffffffffffffffff8082111561015857600080fd5b818501915085601f83011261016c57600080fd5b81358181111561017b57600080fd5b86602082850101111561018d57600080fd5b6020929092019691955090935050505056fea264697066735822122003ed79fc7504e8100bd273d31dd8dada1c0185fdd9aa3470c7317725fbd18cc164736f6c63430008090033", + "bytecode": "0x608060405234801561001057600080fd5b50337f02016836a56b71f0d02689e69e326f4f4c1b9057164ef592671cf0d37c8040c055610658806100436000396000f3fe6080604052600436106100385760003560e01c8063378dfd8e146100bf5780635c60da1b146100e15780639ded06df1461012c5761006f565b3661006f576040517f3733483400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006100997f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b90503660008037600080366000845af43d6000803e8080156100ba573d6000f35b3d6000fd5b3480156100cb57600080fd5b506100df6100da366004610446565b61014b565b005b3480156100ed57600080fd5b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546040516001600160a01b03909116815260200160405180910390f35b34801561013857600080fd5b506100df610147366004610518565b5050565b7f02016836a56b71f0d02689e69e326f4f4c1b9057164ef592671cf0d37c8040c054336001600160a01b038216146101af576040517f30cd747100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006101d97f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b031614610219576040517f0dc149f000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000846001600160a01b0316638291286c6040518163ffffffff1660e01b815260040160206040518083038186803b15801561025457600080fd5b505afa158015610268573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061028c919061058a565b146102c3576040517f68155f9a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b837f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55827f02016836a56b71f0d02689e69e326f4f4c1b9057164ef592671cf0d37c8040c0556000846001600160a01b0316639ded06df8460405160240161032b91906105d3565b6040516020818303038152906040529060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516103799190610606565b600060405180830381855af49150503d80600081146103b4576040519150601f19603f3d011682016040523d82523d6000602084013e6103b9565b606091505b50509050806103f4576040517f97905dfb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050505050565b80356001600160a01b038116811461041257600080fd5b919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60008060006060848603121561045b57600080fd5b610464846103fb565b9250610472602085016103fb565b9150604084013567ffffffffffffffff8082111561048f57600080fd5b818601915086601f8301126104a357600080fd5b8135818111156104b5576104b5610417565b604051601f8201601f19908116603f011681019083821181831017156104dd576104dd610417565b816040528281528960208487010111156104f657600080fd5b8260208601602083013760006020848301015280955050505050509250925092565b6000806020838503121561052b57600080fd5b823567ffffffffffffffff8082111561054357600080fd5b818501915085601f83011261055757600080fd5b81358181111561056657600080fd5b86602082850101111561057857600080fd5b60209290920196919550909350505050565b60006020828403121561059c57600080fd5b5051919050565b60005b838110156105be5781810151838201526020016105a6565b838111156105cd576000848401525b50505050565b60208152600082518060208401526105f28160408501602087016105a3565b601f01601f19169190910160400192915050565b600082516106188184602087016105a3565b919091019291505056fea2646970667358221220f77d06bae4cbd25746f7c4cdc696db888684d20a0f35dadaa25576ee374de77364736f6c63430008090033", + "deployedBytecode": "0x6080604052600436106100385760003560e01c8063378dfd8e146100bf5780635c60da1b146100e15780639ded06df1461012c5761006f565b3661006f576040517f3733483400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006100997f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b90503660008037600080366000845af43d6000803e8080156100ba573d6000f35b3d6000fd5b3480156100cb57600080fd5b506100df6100da366004610446565b61014b565b005b3480156100ed57600080fd5b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546040516001600160a01b03909116815260200160405180910390f35b34801561013857600080fd5b506100df610147366004610518565b5050565b7f02016836a56b71f0d02689e69e326f4f4c1b9057164ef592671cf0d37c8040c054336001600160a01b038216146101af576040517f30cd747100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006101d97f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b031614610219576040517f0dc149f000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000846001600160a01b0316638291286c6040518163ffffffff1660e01b815260040160206040518083038186803b15801561025457600080fd5b505afa158015610268573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061028c919061058a565b146102c3576040517f68155f9a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b837f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55827f02016836a56b71f0d02689e69e326f4f4c1b9057164ef592671cf0d37c8040c0556000846001600160a01b0316639ded06df8460405160240161032b91906105d3565b6040516020818303038152906040529060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516103799190610606565b600060405180830381855af49150503d80600081146103b4576040519150601f19603f3d011682016040523d82523d6000602084013e6103b9565b606091505b50509050806103f4576040517f97905dfb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050505050565b80356001600160a01b038116811461041257600080fd5b919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60008060006060848603121561045b57600080fd5b610464846103fb565b9250610472602085016103fb565b9150604084013567ffffffffffffffff8082111561048f57600080fd5b818601915086601f8301126104a357600080fd5b8135818111156104b5576104b5610417565b604051601f8201601f19908116603f011681019083821181831017156104dd576104dd610417565b816040528281528960208487010111156104f657600080fd5b8260208601602083013760006020848301015280955050505050509250925092565b6000806020838503121561052b57600080fd5b823567ffffffffffffffff8082111561054357600080fd5b818501915085601f83011261055757600080fd5b81358181111561056657600080fd5b86602082850101111561057857600080fd5b60209290920196919550909350505050565b60006020828403121561059c57600080fd5b5051919050565b60005b838110156105be5781810151838201526020016105a6565b838111156105cd576000848401525b50505050565b60208152600082518060208401526105f28160408501602087016105a3565b601f01601f19169190910160400192915050565b600082516106188184602087016105a3565b919091019291505056fea2646970667358221220f77d06bae4cbd25746f7c4cdc696db888684d20a0f35dadaa25576ee374de77364736f6c63430008090033", "linkReferences": {}, "deployedLinkReferences": {} } diff --git a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/util/Upgradable.sol/Upgradable.dbg.json b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/util/Upgradable.sol/Upgradable.dbg.json index 2b51bc62..34bc47b6 100644 --- a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/util/Upgradable.sol/Upgradable.dbg.json +++ b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/util/Upgradable.sol/Upgradable.dbg.json @@ -1,4 +1,4 @@ { "_format": "hh-sol-dbg-1", - "buildInfo": "../../../../../build-info/12c9a8f7cfdae039186ba7f422bc265d.json" + "buildInfo": "../../../../../build-info/3aa2fc6680ec7dd0d7e17835f8008fcc.json" } diff --git a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/util/Upgradable.sol/Upgradable.json b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/util/Upgradable.sol/Upgradable.json index db4385a5..be89faf3 100644 --- a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/util/Upgradable.sol/Upgradable.json +++ b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/util/Upgradable.sol/Upgradable.json @@ -69,7 +69,7 @@ "type": "bytes32" } ], - "stateMutability": "view", + "stateMutability": "pure", "type": "function" }, { diff --git a/artifacts/build-info/12c9a8f7cfdae039186ba7f422bc265d.json b/artifacts/build-info/12c9a8f7cfdae039186ba7f422bc265d.json deleted file mode 100644 index b53ace2c..00000000 --- a/artifacts/build-info/12c9a8f7cfdae039186ba7f422bc265d.json +++ /dev/null @@ -1,208992 +0,0 @@ -{ - "id": "12c9a8f7cfdae039186ba7f422bc265d", - "_format": "hh-sol-build-info-1", - "solcVersion": "0.8.9", - "solcLongVersion": "0.8.9+commit.e5eed63a", - "input": { - "language": "Solidity", - "sources": { - "src/contracts/Gateway.sol": { - "content": "// SPDX-License-Identifier: MIT\n\npragma solidity 0.8.9;\n\nimport { TokenDeployer } from '@axelar-network/axelar-cgp-solidity/contracts/TokenDeployer.sol';\nimport { AxelarGateway } from '@axelar-network/axelar-cgp-solidity/contracts/AxelarGateway.sol';\nimport { AxelarAuthMultisig } from '@axelar-network/axelar-cgp-solidity/contracts/AxelarAuthMultisig.sol';\nimport { AxelarGatewayProxy } from '@axelar-network/axelar-cgp-solidity/contracts/AxelarGatewayProxy.sol';\nimport { AxelarGasService } from '@axelar-network/axelar-cgp-solidity/contracts/gas-service/AxelarGasService.sol';\nimport { IAxelarExecutable } from '@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarExecutable.sol';\nimport { AxelarGasServiceProxy } from '@axelar-network/axelar-cgp-solidity/contracts/gas-service/AxelarGasServiceProxy.sol';\n" - }, - "@axelar-network/axelar-cgp-solidity/contracts/TokenDeployer.sol": { - "content": "// SPDX-License-Identifier: MIT\n\npragma solidity 0.8.9;\n\nimport { ITokenDeployer } from './interfaces/ITokenDeployer.sol';\n\nimport { BurnableMintableCappedERC20 } from './BurnableMintableCappedERC20.sol';\n\ncontract TokenDeployer is ITokenDeployer {\n function deployToken(\n string calldata name,\n string calldata symbol,\n uint8 decimals,\n uint256 cap,\n bytes32 salt\n ) external returns (address tokenAddress) {\n tokenAddress = address(new BurnableMintableCappedERC20{ salt: salt }(name, symbol, decimals, cap));\n }\n}\n" - }, - "@axelar-network/axelar-cgp-solidity/contracts/AxelarGateway.sol": { - "content": "// SPDX-License-Identifier: MIT\n\npragma solidity 0.8.9;\n\nimport { IAxelarGateway } from './interfaces/IAxelarGateway.sol';\nimport { IAxelarAuth } from './interfaces/IAxelarAuth.sol';\nimport { IERC20 } from './interfaces/IERC20.sol';\nimport { IBurnableMintableCappedERC20 } from './interfaces/IBurnableMintableCappedERC20.sol';\nimport { ITokenDeployer } from './interfaces/ITokenDeployer.sol';\n\nimport { ECDSA } from './ECDSA.sol';\nimport { DepositHandler } from './DepositHandler.sol';\nimport { AdminMultisigBase } from './AdminMultisigBase.sol';\n\ncontract AxelarGateway is IAxelarGateway, AdminMultisigBase {\n enum TokenType {\n InternalBurnable,\n InternalBurnableFrom,\n External\n }\n\n /// @dev Removed slots; Should avoid re-using\n // bytes32 internal constant KEY_ALL_TOKENS_FROZEN = keccak256('all-tokens-frozen');\n // bytes32 internal constant PREFIX_TOKEN_FROZEN = keccak256('token-frozen');\n\n /// @dev Storage slot with the address of the current factory. `keccak256('eip1967.proxy.implementation') - 1`.\n bytes32 internal constant KEY_IMPLEMENTATION = bytes32(0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc);\n\n // AUDIT: slot names should be prefixed with some standard string\n bytes32 internal constant PREFIX_COMMAND_EXECUTED = keccak256('command-executed');\n bytes32 internal constant PREFIX_TOKEN_ADDRESS = keccak256('token-address');\n bytes32 internal constant PREFIX_TOKEN_TYPE = keccak256('token-type');\n bytes32 internal constant PREFIX_CONTRACT_CALL_APPROVED = keccak256('contract-call-approved');\n bytes32 internal constant PREFIX_CONTRACT_CALL_APPROVED_WITH_MINT = keccak256('contract-call-approved-with-mint');\n bytes32 internal constant PREFIX_TOKEN_DAILY_MINT_LIMIT = keccak256('token-daily-mint-limit');\n bytes32 internal constant PREFIX_TOKEN_DAILY_MINT_AMOUNT = keccak256('token-daily-mint-amount');\n\n bytes32 internal constant SELECTOR_BURN_TOKEN = keccak256('burnToken');\n bytes32 internal constant SELECTOR_DEPLOY_TOKEN = keccak256('deployToken');\n bytes32 internal constant SELECTOR_MINT_TOKEN = keccak256('mintToken');\n bytes32 internal constant SELECTOR_APPROVE_CONTRACT_CALL = keccak256('approveContractCall');\n bytes32 internal constant SELECTOR_APPROVE_CONTRACT_CALL_WITH_MINT = keccak256('approveContractCallWithMint');\n bytes32 internal constant SELECTOR_TRANSFER_OPERATORSHIP = keccak256('transferOperatorship');\n\n address internal immutable AUTH_MODULE;\n address internal immutable TOKEN_DEPLOYER_IMPLEMENTATION;\n\n constructor(address authModule, address tokenDeployerImplementation) {\n if (authModule.code.length == 0) revert InvalidAuthModule();\n if (tokenDeployerImplementation.code.length == 0) revert InvalidTokenDeployer();\n\n AUTH_MODULE = authModule;\n TOKEN_DEPLOYER_IMPLEMENTATION = tokenDeployerImplementation;\n }\n\n modifier onlySelf() {\n if (msg.sender != address(this)) revert NotSelf();\n\n _;\n }\n\n /******************\\\n |* Public Methods *|\n \\******************/\n\n function sendToken(\n string calldata destinationChain,\n string calldata destinationAddress,\n string calldata symbol,\n uint256 amount\n ) external {\n _burnTokenFrom(msg.sender, symbol, amount);\n emit TokenSent(msg.sender, destinationChain, destinationAddress, symbol, amount);\n }\n\n function callContract(\n string calldata destinationChain,\n string calldata destinationContractAddress,\n bytes calldata payload\n ) external {\n emit ContractCall(msg.sender, destinationChain, destinationContractAddress, keccak256(payload), payload);\n }\n\n function callContractWithToken(\n string calldata destinationChain,\n string calldata destinationContractAddress,\n bytes calldata payload,\n string calldata symbol,\n uint256 amount\n ) external {\n _burnTokenFrom(msg.sender, symbol, amount);\n emit ContractCallWithToken(msg.sender, destinationChain, destinationContractAddress, keccak256(payload), payload, symbol, amount);\n }\n\n function isContractCallApproved(\n bytes32 commandId,\n string calldata sourceChain,\n string calldata sourceAddress,\n address contractAddress,\n bytes32 payloadHash\n ) external view override returns (bool) {\n return getBool(_getIsContractCallApprovedKey(commandId, sourceChain, sourceAddress, contractAddress, payloadHash));\n }\n\n function isContractCallAndMintApproved(\n bytes32 commandId,\n string calldata sourceChain,\n string calldata sourceAddress,\n address contractAddress,\n bytes32 payloadHash,\n string calldata symbol,\n uint256 amount\n ) external view override returns (bool) {\n return\n getBool(\n _getIsContractCallApprovedWithMintKey(commandId, sourceChain, sourceAddress, contractAddress, payloadHash, symbol, amount)\n );\n }\n\n function validateContractCall(\n bytes32 commandId,\n string calldata sourceChain,\n string calldata sourceAddress,\n bytes32 payloadHash\n ) external override returns (bool valid) {\n bytes32 key = _getIsContractCallApprovedKey(commandId, sourceChain, sourceAddress, msg.sender, payloadHash);\n valid = getBool(key);\n if (valid) _setBool(key, false);\n }\n\n function validateContractCallAndMint(\n bytes32 commandId,\n string calldata sourceChain,\n string calldata sourceAddress,\n bytes32 payloadHash,\n string calldata symbol,\n uint256 amount\n ) external override returns (bool valid) {\n bytes32 key = _getIsContractCallApprovedWithMintKey(commandId, sourceChain, sourceAddress, msg.sender, payloadHash, symbol, amount);\n valid = getBool(key);\n if (valid) {\n // Prevent re-entrancy\n _setBool(key, false);\n _mintToken(symbol, msg.sender, amount);\n }\n }\n\n /***********\\\n |* Getters *|\n \\***********/\n\n function tokenDailyMintLimit(string memory symbol) public view override returns (uint256) {\n return getUint(_getTokenDailyMintLimitKey(symbol));\n }\n\n function tokenDailyMintAmount(string memory symbol) public view override returns (uint256) {\n return getUint(_getTokenDailyMintAmountKey(symbol, block.timestamp / 1 days));\n }\n\n function allTokensFrozen() external pure override returns (bool) {\n return false;\n }\n\n function implementation() public view override returns (address) {\n return getAddress(KEY_IMPLEMENTATION);\n }\n\n function tokenAddresses(string memory symbol) public view override returns (address) {\n return getAddress(_getTokenAddressKey(symbol));\n }\n\n function tokenFrozen(string memory) external pure override returns (bool) {\n return false;\n }\n\n function isCommandExecuted(bytes32 commandId) public view override returns (bool) {\n return getBool(_getIsCommandExecutedKey(commandId));\n }\n\n /// @dev Returns the current `adminEpoch`.\n function adminEpoch() external view override returns (uint256) {\n return _adminEpoch();\n }\n\n /// @dev Returns the admin threshold for a given `adminEpoch`.\n function adminThreshold(uint256 epoch) external view override returns (uint256) {\n return _getAdminThreshold(epoch);\n }\n\n /// @dev Returns the array of admins within a given `adminEpoch`.\n function admins(uint256 epoch) external view override returns (address[] memory results) {\n uint256 adminCount = _getAdminCount(epoch);\n results = new address[](adminCount);\n\n for (uint256 i; i < adminCount; ++i) {\n results[i] = _getAdmin(epoch, i);\n }\n }\n\n /*******************\\\n |* Admin Functions *|\n \\*******************/\n\n function setTokenDailyMintLimits(string[] calldata symbols, uint256[] calldata limits) external override onlyAdmin {\n if (symbols.length != limits.length) revert InvalidSetDailyMintLimitsParams();\n\n for (uint256 i = 0; i < symbols.length; i++) {\n string memory symbol = symbols[i];\n uint256 limit = limits[i];\n\n if (tokenAddresses(symbol) == address(0)) revert TokenDoesNotExist(symbol);\n\n _setTokenDailyMintLimit(symbol, limit);\n }\n }\n\n function upgrade(\n address newImplementation,\n bytes32 newImplementationCodeHash,\n bytes calldata setupParams\n ) external override onlyAdmin {\n if (newImplementationCodeHash != newImplementation.codehash) revert InvalidCodeHash();\n\n emit Upgraded(newImplementation);\n\n // AUDIT: If `newImplementation.setup` performs `selfdestruct`, it will result in the loss of _this_ implementation (thereby losing the gateway)\n // if `upgrade` is entered within the context of _this_ implementation itself.\n if (setupParams.length != 0) {\n (bool success, ) = newImplementation.delegatecall(abi.encodeWithSelector(IAxelarGateway.setup.selector, setupParams));\n\n if (!success) revert SetupFailed();\n }\n\n _setImplementation(newImplementation);\n }\n\n /**********************\\\n |* External Functions *|\n \\**********************/\n\n function setup(bytes calldata params) external override {\n // Prevent setup from being called on a non-proxy (the implementation).\n if (implementation() == address(0)) revert NotProxy();\n\n (address[] memory adminAddresses, uint256 newAdminThreshold, bytes memory newOperatorsData) = abi.decode(\n params,\n (address[], uint256, bytes)\n );\n\n // NOTE: Admin epoch is incremented to easily invalidate current admin-related state.\n uint256 newAdminEpoch = _adminEpoch() + uint256(1);\n _setAdminEpoch(newAdminEpoch);\n _setAdmins(newAdminEpoch, adminAddresses, newAdminThreshold);\n\n if (newOperatorsData.length > 0) {\n IAxelarAuth(AUTH_MODULE).transferOperatorship(newOperatorsData);\n\n emit OperatorshipTransferred(newOperatorsData);\n }\n }\n\n function execute(bytes calldata input) external override {\n (bytes memory data, bytes memory proof) = abi.decode(input, (bytes, bytes));\n\n bytes32 messageHash = ECDSA.toEthSignedMessageHash(keccak256(data));\n\n // TEST auth and getaway separately\n bool currentOperators = IAxelarAuth(AUTH_MODULE).validateProof(messageHash, proof);\n\n uint256 chainId;\n bytes32[] memory commandIds;\n string[] memory commands;\n bytes[] memory params;\n\n try AxelarGateway(this)._unpackLegacyCommands(data) returns (\n uint256 chainId_,\n bytes32[] memory commandIds_,\n string[] memory commands_,\n bytes[] memory params_\n ) {\n (chainId, commandIds, commands, params) = (chainId_, commandIds_, commands_, params_);\n } catch {\n (chainId, commandIds, commands, params) = abi.decode(data, (uint256, bytes32[], string[], bytes[]));\n }\n\n if (chainId != block.chainid) revert InvalidChainId();\n\n uint256 commandsLength = commandIds.length;\n\n if (commandsLength != commands.length || commandsLength != params.length) revert InvalidCommands();\n\n for (uint256 i; i < commandsLength; ++i) {\n bytes32 commandId = commandIds[i];\n\n if (isCommandExecuted(commandId)) continue; /* Ignore if duplicate commandId received */\n\n bytes4 commandSelector;\n bytes32 commandHash = keccak256(abi.encodePacked(commands[i]));\n\n if (commandHash == SELECTOR_DEPLOY_TOKEN) {\n commandSelector = AxelarGateway.deployToken.selector;\n } else if (commandHash == SELECTOR_MINT_TOKEN) {\n commandSelector = AxelarGateway.mintToken.selector;\n } else if (commandHash == SELECTOR_APPROVE_CONTRACT_CALL) {\n commandSelector = AxelarGateway.approveContractCall.selector;\n } else if (commandHash == SELECTOR_APPROVE_CONTRACT_CALL_WITH_MINT) {\n commandSelector = AxelarGateway.approveContractCallWithMint.selector;\n } else if (commandHash == SELECTOR_BURN_TOKEN) {\n commandSelector = AxelarGateway.burnToken.selector;\n } else if (commandHash == SELECTOR_TRANSFER_OPERATORSHIP) {\n if (!currentOperators) continue;\n\n commandSelector = AxelarGateway.transferOperatorship.selector;\n } else {\n continue; /* Ignore if unknown command received */\n }\n\n // Prevent a re-entrancy from executing this command before it can be marked as successful.\n _setCommandExecuted(commandId, true);\n (bool success, ) = address(this).call(abi.encodeWithSelector(commandSelector, params[i], commandId));\n\n if (success) emit Executed(commandId);\n else _setCommandExecuted(commandId, false);\n }\n }\n\n /******************\\\n |* Self Functions *|\n \\******************/\n\n function deployToken(bytes calldata params, bytes32) external onlySelf {\n (string memory name, string memory symbol, uint8 decimals, uint256 cap, address tokenAddress, uint256 dailyMintLimit) = abi.decode(\n params,\n (string, string, uint8, uint256, address, uint256)\n );\n\n // Ensure that this symbol has not been taken.\n if (tokenAddresses(symbol) != address(0)) revert TokenAlreadyExists(symbol);\n\n if (tokenAddress == address(0)) {\n // If token address is no specified, it indicates a request to deploy one.\n bytes32 salt = keccak256(abi.encodePacked(symbol));\n\n (bool success, bytes memory data) = TOKEN_DEPLOYER_IMPLEMENTATION.delegatecall(\n abi.encodeWithSelector(ITokenDeployer.deployToken.selector, name, symbol, decimals, cap, salt)\n );\n\n if (!success) revert TokenDeployFailed(symbol);\n\n tokenAddress = abi.decode(data, (address));\n\n _setTokenType(symbol, TokenType.InternalBurnableFrom);\n } else {\n // If token address is specified, ensure that there is a contact at the specified address.\n if (tokenAddress.code.length == uint256(0)) revert TokenContractDoesNotExist(tokenAddress);\n\n // Mark that this symbol is an external token, which is needed to differentiate between operations on mint and burn.\n _setTokenType(symbol, TokenType.External);\n }\n\n _setTokenAddress(symbol, tokenAddress);\n _setTokenDailyMintLimit(symbol, dailyMintLimit);\n\n emit TokenDeployed(symbol, tokenAddress);\n }\n\n function mintToken(bytes calldata params, bytes32) external onlySelf {\n (string memory symbol, address account, uint256 amount) = abi.decode(params, (string, address, uint256));\n\n _mintToken(symbol, account, amount);\n }\n\n function burnToken(bytes calldata params, bytes32) external onlySelf {\n (string memory symbol, bytes32 salt) = abi.decode(params, (string, bytes32));\n\n address tokenAddress = tokenAddresses(symbol);\n\n if (tokenAddress == address(0)) revert TokenDoesNotExist(symbol);\n\n if (_getTokenType(symbol) == TokenType.External) {\n DepositHandler depositHandler = new DepositHandler{ salt: salt }();\n\n (bool success, bytes memory returnData) = depositHandler.execute(\n tokenAddress,\n abi.encodeWithSelector(IERC20.transfer.selector, address(this), IERC20(tokenAddress).balanceOf(address(depositHandler)))\n );\n\n if (!success || (returnData.length != uint256(0) && !abi.decode(returnData, (bool)))) revert BurnFailed(symbol);\n\n // NOTE: `depositHandler` must always be destroyed in the same runtime context that it is deployed.\n depositHandler.destroy(address(this));\n } else {\n IBurnableMintableCappedERC20(tokenAddress).burn(salt);\n }\n }\n\n function approveContractCall(bytes calldata params, bytes32 commandId) external onlySelf {\n (\n string memory sourceChain,\n string memory sourceAddress,\n address contractAddress,\n bytes32 payloadHash,\n bytes32 sourceTxHash,\n uint256 sourceEventIndex\n ) = abi.decode(params, (string, string, address, bytes32, bytes32, uint256));\n\n _setContractCallApproved(commandId, sourceChain, sourceAddress, contractAddress, payloadHash);\n emit ContractCallApproved(commandId, sourceChain, sourceAddress, contractAddress, payloadHash, sourceTxHash, sourceEventIndex);\n }\n\n function approveContractCallWithMint(bytes calldata params, bytes32 commandId) external onlySelf {\n (\n string memory sourceChain,\n string memory sourceAddress,\n address contractAddress,\n bytes32 payloadHash,\n string memory symbol,\n uint256 amount,\n bytes32 sourceTxHash,\n uint256 sourceEventIndex\n ) = abi.decode(params, (string, string, address, bytes32, string, uint256, bytes32, uint256));\n\n _setContractCallApprovedWithMint(commandId, sourceChain, sourceAddress, contractAddress, payloadHash, symbol, amount);\n emit ContractCallApprovedWithMint(\n commandId,\n sourceChain,\n sourceAddress,\n contractAddress,\n payloadHash,\n symbol,\n amount,\n sourceTxHash,\n sourceEventIndex\n );\n }\n\n function transferOperatorship(bytes calldata newOperatorsData, bytes32) external onlySelf {\n IAxelarAuth(AUTH_MODULE).transferOperatorship(newOperatorsData);\n\n emit OperatorshipTransferred(newOperatorsData);\n }\n\n /********************\\\n |* Internal Methods *|\n \\********************/\n\n function _unpackLegacyCommands(bytes memory executeData)\n external\n pure\n returns (\n uint256 chainId,\n bytes32[] memory commandIds,\n string[] memory commands,\n bytes[] memory params\n )\n {\n (chainId, , commandIds, commands, params) = abi.decode(executeData, (uint256, uint256, bytes32[], string[], bytes[]));\n }\n\n function _callERC20Token(address tokenAddress, bytes memory callData) internal returns (bool) {\n (bool success, bytes memory returnData) = tokenAddress.call(callData);\n return success && (returnData.length == uint256(0) || abi.decode(returnData, (bool)));\n }\n\n function _mintToken(\n string memory symbol,\n address account,\n uint256 amount\n ) internal {\n address tokenAddress = tokenAddresses(symbol);\n\n if (tokenAddress == address(0)) revert TokenDoesNotExist(symbol);\n\n _setTokenDailyMintAmount(symbol, tokenDailyMintAmount(symbol) + amount);\n\n if (_getTokenType(symbol) == TokenType.External) {\n bool success = _callERC20Token(tokenAddress, abi.encodeWithSelector(IERC20.transfer.selector, account, amount));\n\n if (!success) revert MintFailed(symbol);\n } else {\n IBurnableMintableCappedERC20(tokenAddress).mint(account, amount);\n }\n }\n\n function _burnTokenFrom(\n address sender,\n string memory symbol,\n uint256 amount\n ) internal {\n address tokenAddress = tokenAddresses(symbol);\n\n if (tokenAddress == address(0)) revert TokenDoesNotExist(symbol);\n if (amount == 0) revert InvalidAmount();\n\n TokenType tokenType = _getTokenType(symbol);\n bool burnSuccess;\n\n if (tokenType == TokenType.External) {\n burnSuccess = _callERC20Token(\n tokenAddress,\n abi.encodeWithSelector(IERC20.transferFrom.selector, sender, address(this), amount)\n );\n\n if (!burnSuccess) revert BurnFailed(symbol);\n\n return;\n }\n\n if (tokenType == TokenType.InternalBurnableFrom) {\n burnSuccess = _callERC20Token(\n tokenAddress,\n abi.encodeWithSelector(IBurnableMintableCappedERC20.burnFrom.selector, sender, amount)\n );\n\n if (!burnSuccess) revert BurnFailed(symbol);\n\n return;\n }\n\n burnSuccess = _callERC20Token(\n tokenAddress,\n abi.encodeWithSelector(\n IERC20.transferFrom.selector,\n sender,\n IBurnableMintableCappedERC20(tokenAddress).depositAddress(bytes32(0)),\n amount\n )\n );\n\n if (!burnSuccess) revert BurnFailed(symbol);\n\n IBurnableMintableCappedERC20(tokenAddress).burn(bytes32(0));\n }\n\n /********************\\\n |* Pure Key Getters *|\n \\********************/\n\n function _getTokenDailyMintLimitKey(string memory symbol) internal pure returns (bytes32) {\n return keccak256(abi.encodePacked(PREFIX_TOKEN_DAILY_MINT_LIMIT, symbol));\n }\n\n function _getTokenDailyMintAmountKey(string memory symbol, uint256 day) internal pure returns (bytes32) {\n return keccak256(abi.encodePacked(PREFIX_TOKEN_DAILY_MINT_AMOUNT, symbol, day));\n }\n\n function _getTokenTypeKey(string memory symbol) internal pure returns (bytes32) {\n return keccak256(abi.encodePacked(PREFIX_TOKEN_TYPE, symbol));\n }\n\n function _getTokenAddressKey(string memory symbol) internal pure returns (bytes32) {\n return keccak256(abi.encodePacked(PREFIX_TOKEN_ADDRESS, symbol));\n }\n\n function _getIsCommandExecutedKey(bytes32 commandId) internal pure returns (bytes32) {\n return keccak256(abi.encodePacked(PREFIX_COMMAND_EXECUTED, commandId));\n }\n\n function _getIsContractCallApprovedKey(\n bytes32 commandId,\n string memory sourceChain,\n string memory sourceAddress,\n address contractAddress,\n bytes32 payloadHash\n ) internal pure returns (bytes32) {\n return keccak256(abi.encode(PREFIX_CONTRACT_CALL_APPROVED, commandId, sourceChain, sourceAddress, contractAddress, payloadHash));\n }\n\n function _getIsContractCallApprovedWithMintKey(\n bytes32 commandId,\n string memory sourceChain,\n string memory sourceAddress,\n address contractAddress,\n bytes32 payloadHash,\n string memory symbol,\n uint256 amount\n ) internal pure returns (bytes32) {\n return\n keccak256(\n abi.encode(\n PREFIX_CONTRACT_CALL_APPROVED_WITH_MINT,\n commandId,\n sourceChain,\n sourceAddress,\n contractAddress,\n payloadHash,\n symbol,\n amount\n )\n );\n }\n\n /********************\\\n |* Internal Getters *|\n \\********************/\n\n function _getTokenType(string memory symbol) internal view returns (TokenType) {\n return TokenType(getUint(_getTokenTypeKey(symbol)));\n }\n\n /********************\\\n |* Internal Setters *|\n \\********************/\n\n function _setTokenDailyMintLimit(string memory symbol, uint256 limit) internal {\n _setUint(_getTokenDailyMintLimitKey(symbol), limit);\n\n emit TokenDailyMintLimitUpdated(symbol, limit);\n }\n\n function _setTokenDailyMintAmount(string memory symbol, uint256 amount) internal {\n uint256 limit = tokenDailyMintLimit(symbol);\n if (limit > 0 && amount > limit) revert ExceedDailyMintLimit(symbol);\n\n _setUint(_getTokenDailyMintAmountKey(symbol, block.timestamp / 1 days), amount);\n }\n\n function _setTokenType(string memory symbol, TokenType tokenType) internal {\n _setUint(_getTokenTypeKey(symbol), uint256(tokenType));\n }\n\n function _setTokenAddress(string memory symbol, address tokenAddress) internal {\n _setAddress(_getTokenAddressKey(symbol), tokenAddress);\n }\n\n function _setCommandExecuted(bytes32 commandId, bool executed) internal {\n _setBool(_getIsCommandExecutedKey(commandId), executed);\n }\n\n function _setContractCallApproved(\n bytes32 commandId,\n string memory sourceChain,\n string memory sourceAddress,\n address contractAddress,\n bytes32 payloadHash\n ) internal {\n _setBool(_getIsContractCallApprovedKey(commandId, sourceChain, sourceAddress, contractAddress, payloadHash), true);\n }\n\n function _setContractCallApprovedWithMint(\n bytes32 commandId,\n string memory sourceChain,\n string memory sourceAddress,\n address contractAddress,\n bytes32 payloadHash,\n string memory symbol,\n uint256 amount\n ) internal {\n _setBool(\n _getIsContractCallApprovedWithMintKey(commandId, sourceChain, sourceAddress, contractAddress, payloadHash, symbol, amount),\n true\n );\n }\n\n function _setImplementation(address newImplementation) internal {\n _setAddress(KEY_IMPLEMENTATION, newImplementation);\n }\n}\n" - }, - "@axelar-network/axelar-cgp-solidity/contracts/AxelarAuthMultisig.sol": { - "content": "// SPDX-License-Identifier: MIT\n\npragma solidity 0.8.9;\n\nimport { ECDSA } from './ECDSA.sol';\nimport { IAxelarAuthMultisig } from './interfaces/IAxelarAuthMultisig.sol';\nimport { Ownable } from './Ownable.sol';\n\ncontract AxelarAuthMultisig is Ownable, IAxelarAuthMultisig {\n error InvalidOperators();\n error InvalidThreshold();\n error SameOperators();\n error MalformedSigners();\n\n uint256 public currentEpoch;\n mapping(uint256 => bytes32) public hashForEpoch;\n mapping(bytes32 => uint256) public epochForHash;\n\n uint8 internal constant OLD_KEY_RETENTION = 16;\n\n constructor(bytes[] memory recentOperators) {\n for (uint256 i; i < recentOperators.length; ++i) {\n _transferOperatorship(recentOperators[i]);\n }\n }\n\n /**************************\\\n |* External Functionality *|\n \\**************************/\n\n function validateProof(bytes32 messageHash, bytes calldata proof) external view returns (bool currentOperators) {\n (address[] memory operators, bytes[] memory signatures) = abi.decode(proof, (address[], bytes[]));\n\n bytes32 operatorsHash = keccak256(abi.encode(operators, signatures.length));\n uint256 operatorsEpoch = epochForHash[operatorsHash];\n uint256 epoch = currentEpoch;\n\n if (operatorsEpoch == 0 || epoch - operatorsEpoch >= OLD_KEY_RETENTION) revert InvalidOperators();\n\n _validateSignatures(messageHash, operators, signatures);\n\n currentOperators = operatorsEpoch == epoch;\n }\n\n /***********************\\\n |* Owner Functionality *|\n \\***********************/\n\n function transferOperatorship(bytes calldata params) external onlyOwner {\n _transferOperatorship(params);\n }\n\n /**************************\\\n |* Internal Functionality *|\n \\**************************/\n\n function _transferOperatorship(bytes memory params) internal {\n (address[] memory newOperators, uint256 newThreshold) = abi.decode(params, (address[], uint256));\n uint256 operatorsLength = newOperators.length;\n\n if (operatorsLength == 0 || !_isSortedAscAndContainsNoDuplicate(newOperators)) revert InvalidOperators();\n\n if (newThreshold == 0 || operatorsLength < newThreshold) revert InvalidThreshold();\n\n bytes32 newOperatorsHash = keccak256(params);\n\n if (epochForHash[newOperatorsHash] > 0) revert SameOperators();\n\n uint256 epoch = currentEpoch + 1;\n currentEpoch = epoch;\n hashForEpoch[epoch] = newOperatorsHash;\n epochForHash[newOperatorsHash] = epoch;\n\n emit OperatorshipTransferred(newOperators, newThreshold);\n }\n\n function _validateSignatures(\n bytes32 messageHash,\n address[] memory operators,\n bytes[] memory signatures\n ) internal pure {\n uint256 j = 0;\n // looking for signers within operators\n // assuming that both operators and signatures are sorted\n for (uint256 i = 0; i < signatures.length; ++i) {\n address signer = ECDSA.recover(messageHash, signatures[i]);\n // looping through remaining operators to find a match\n for (; j < operators.length && signer != operators[j]; ++j) {}\n if (j == operators.length) revert MalformedSigners();\n // increasing operators index if match was found\n ++j;\n }\n }\n\n function _isSortedAscAndContainsNoDuplicate(address[] memory accounts) internal pure returns (bool) {\n for (uint256 i; i < accounts.length - 1; ++i) {\n if (accounts[i] >= accounts[i + 1] || accounts[i + 1] == address(0)) {\n return false;\n }\n }\n\n return accounts[0] != address(0);\n }\n}\n" - }, - "@axelar-network/axelar-cgp-solidity/contracts/AxelarGatewayProxy.sol": { - "content": "// SPDX-License-Identifier: MIT\n\npragma solidity 0.8.9;\n\nimport { IAxelarGateway } from './interfaces/IAxelarGateway.sol';\n\nimport { EternalStorage } from './EternalStorage.sol';\n\ncontract AxelarGatewayProxy is EternalStorage {\n error InvalidImplementation();\n error SetupFailed();\n\n /// @dev Storage slot with the address of the current factory. `keccak256('eip1967.proxy.implementation') - 1`.\n bytes32 internal constant KEY_IMPLEMENTATION = bytes32(0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc);\n\n constructor(address gatewayImplementation, bytes memory params) {\n _setAddress(KEY_IMPLEMENTATION, gatewayImplementation);\n\n if (gatewayImplementation.code.length == 0) revert InvalidImplementation();\n\n (bool success, ) = gatewayImplementation.delegatecall(abi.encodeWithSelector(IAxelarGateway.setup.selector, params));\n\n if (!success) revert SetupFailed();\n }\n\n function setup(bytes calldata params) external {}\n\n fallback() external payable {\n address implementation = getAddress(KEY_IMPLEMENTATION);\n\n assembly {\n calldatacopy(0, 0, calldatasize())\n\n let result := delegatecall(gas(), implementation, 0, calldatasize(), 0, 0)\n\n returndatacopy(0, 0, returndatasize())\n\n switch result\n case 0 {\n revert(0, returndatasize())\n }\n default {\n return(0, returndatasize())\n }\n }\n }\n\n receive() external payable {\n revert('NO_ETHER');\n }\n}\n" - }, - "@axelar-network/axelar-cgp-solidity/contracts/gas-service/AxelarGasService.sol": { - "content": "// SPDX-License-Identifier: MIT\n\npragma solidity 0.8.9;\n\nimport { IAxelarGasService } from '../interfaces/IAxelarGasService.sol';\nimport { IERC20 } from '../interfaces/IERC20.sol';\nimport '../util/Upgradable.sol';\n\n// This should be owned by the microservice that is paying for gas.\ncontract AxelarGasService is Upgradable, IAxelarGasService {\n // This is called on the source chain before calling the gateway to execute a remote contract.\n function payGasForContractCall(\n address sender,\n string calldata destinationChain,\n string calldata destinationAddress,\n bytes calldata payload,\n address gasToken,\n uint256 gasFeeAmount,\n address refundAddress\n ) external override {\n _safeTransferFrom(gasToken, msg.sender, gasFeeAmount);\n\n emit GasPaidForContractCall(\n sender,\n destinationChain,\n destinationAddress,\n keccak256(payload),\n gasToken,\n gasFeeAmount,\n refundAddress\n );\n }\n\n // This is called on the source chain before calling the gateway to execute a remote contract.\n function payGasForContractCallWithToken(\n address sender,\n string calldata destinationChain,\n string calldata destinationAddress,\n bytes calldata payload,\n string memory symbol,\n uint256 amount,\n address gasToken,\n uint256 gasFeeAmount,\n address refundAddress\n ) external override {\n {\n _safeTransferFrom(gasToken, msg.sender, gasFeeAmount);\n }\n\n emit GasPaidForContractCallWithToken(\n sender,\n destinationChain,\n destinationAddress,\n keccak256(payload),\n symbol,\n amount,\n gasToken,\n gasFeeAmount,\n refundAddress\n );\n }\n\n // This is called on the source chain before calling the gateway to execute a remote contract.\n function payNativeGasForContractCall(\n address sender,\n string calldata destinationChain,\n string calldata destinationAddress,\n bytes calldata payload,\n address refundAddress\n ) external payable override {\n if (msg.value == 0) revert NothingReceived();\n\n emit NativeGasPaidForContractCall(sender, destinationChain, destinationAddress, keccak256(payload), msg.value, refundAddress);\n }\n\n // This is called on the source chain before calling the gateway to execute a remote contract.\n function payNativeGasForContractCallWithToken(\n address sender,\n string calldata destinationChain,\n string calldata destinationAddress,\n bytes calldata payload,\n string calldata symbol,\n uint256 amount,\n address refundAddress\n ) external payable override {\n if (msg.value == 0) revert NothingReceived();\n\n emit NativeGasPaidForContractCallWithToken(\n sender,\n destinationChain,\n destinationAddress,\n keccak256(payload),\n symbol,\n amount,\n msg.value,\n refundAddress\n );\n }\n\n function addGas(\n bytes32 txHash,\n uint256 logIndex,\n address gasToken,\n uint256 gasFeeAmount,\n address refundAddress\n ) external override {\n _safeTransferFrom(gasToken, msg.sender, gasFeeAmount);\n\n emit GasAdded(txHash, logIndex, gasToken, gasFeeAmount, refundAddress);\n }\n\n function addNativeGas(\n bytes32 txHash,\n uint256 logIndex,\n address refundAddress\n ) external payable override {\n if (msg.value == 0) revert NothingReceived();\n\n emit NativeGasAdded(txHash, logIndex, msg.value, refundAddress);\n }\n\n function collectFees(address payable receiver, address[] calldata tokens) external onlyOwner {\n for (uint256 i; i < tokens.length; i++) {\n address token = tokens[i];\n\n if (token == address(0)) {\n receiver.transfer(address(this).balance);\n } else {\n uint256 amount = IERC20(token).balanceOf(address(this));\n _safeTransfer(token, receiver, amount);\n }\n }\n }\n\n function refund(\n address payable receiver,\n address token,\n uint256 amount\n ) external onlyOwner {\n if (token == address(0)) {\n receiver.transfer(amount);\n } else {\n _safeTransfer(token, receiver, amount);\n }\n }\n\n function _safeTransfer(\n address tokenAddress,\n address receiver,\n uint256 amount\n ) internal {\n (bool success, bytes memory returnData) = tokenAddress.call(abi.encodeWithSelector(IERC20.transfer.selector, receiver, amount));\n bool transferred = success && (returnData.length == uint256(0) || abi.decode(returnData, (bool)));\n\n if (!transferred || tokenAddress.code.length == 0) revert TransferFailed();\n }\n\n function _safeTransferFrom(\n address tokenAddress,\n address from,\n uint256 amount\n ) internal {\n (bool success, bytes memory returnData) = tokenAddress.call(\n abi.encodeWithSelector(IERC20.transferFrom.selector, from, address(this), amount)\n );\n bool transferred = success && (returnData.length == uint256(0) || abi.decode(returnData, (bool)));\n\n if (!transferred || tokenAddress.code.length == 0) revert TransferFailed();\n }\n\n function contractId() public pure returns (bytes32) {\n return keccak256('axelar-gas-service');\n }\n}\n" - }, - "@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarExecutable.sol": { - "content": "// SPDX-License-Identifier: MIT\n\npragma solidity 0.8.9;\n\nimport { IAxelarGateway } from './IAxelarGateway.sol';\n\nabstract contract IAxelarExecutable {\n error NotApprovedByGateway();\n\n IAxelarGateway public gateway;\n\n constructor(address gateway_) {\n gateway = IAxelarGateway(gateway_);\n }\n\n function execute(\n bytes32 commandId,\n string calldata sourceChain,\n string calldata sourceAddress,\n bytes calldata payload\n ) external {\n bytes32 payloadHash = keccak256(payload);\n if (!gateway.validateContractCall(commandId, sourceChain, sourceAddress, payloadHash)) revert NotApprovedByGateway();\n _execute(sourceChain, sourceAddress, payload);\n }\n\n function executeWithToken(\n bytes32 commandId,\n string calldata sourceChain,\n string calldata sourceAddress,\n bytes calldata payload,\n string calldata tokenSymbol,\n uint256 amount\n ) external {\n bytes32 payloadHash = keccak256(payload);\n if (!gateway.validateContractCallAndMint(commandId, sourceChain, sourceAddress, payloadHash, tokenSymbol, amount))\n revert NotApprovedByGateway();\n\n _executeWithToken(sourceChain, sourceAddress, payload, tokenSymbol, amount);\n }\n\n function _execute(\n string memory sourceChain,\n string memory sourceAddress,\n bytes calldata payload\n ) internal virtual {}\n\n function _executeWithToken(\n string memory sourceChain,\n string memory sourceAddress,\n bytes calldata payload,\n string memory tokenSymbol,\n uint256 amount\n ) internal virtual {}\n}\n" - }, - "@axelar-network/axelar-cgp-solidity/contracts/gas-service/AxelarGasServiceProxy.sol": { - "content": "// SPDX-License-Identifier: MIT\n\npragma solidity 0.8.9;\n\nimport { Proxy } from '../util/Proxy.sol';\nimport { IUpgradable } from '../interfaces/IUpgradable.sol';\n\ncontract AxelarGasServiceProxy is Proxy {\n constructor(address implementationAddress, bytes memory params) Proxy(implementationAddress, params) {\n if (IUpgradable(implementationAddress).contractId() != keccak256('axelar-gas-service')) revert InvalidImplementation();\n }\n}\n" - }, - "@axelar-network/axelar-cgp-solidity/contracts/interfaces/ITokenDeployer.sol": { - "content": "// SPDX-License-Identifier: MIT\n\npragma solidity 0.8.9;\n\ninterface ITokenDeployer {\n function deployToken(\n string calldata name,\n string calldata symbol,\n uint8 decimals,\n uint256 cap,\n bytes32 salt\n ) external returns (address tokenAddress);\n}\n" - }, - "@axelar-network/axelar-cgp-solidity/contracts/BurnableMintableCappedERC20.sol": { - "content": "// SPDX-License-Identifier: MIT\n\npragma solidity 0.8.9;\n\nimport { IAxelarGateway } from './interfaces/IAxelarGateway.sol';\nimport { IBurnableMintableCappedERC20 } from './interfaces/IBurnableMintableCappedERC20.sol';\n\nimport { MintableCappedERC20 } from './MintableCappedERC20.sol';\nimport { DepositHandler } from './DepositHandler.sol';\n\ncontract BurnableMintableCappedERC20 is IBurnableMintableCappedERC20, MintableCappedERC20 {\n constructor(\n string memory name,\n string memory symbol,\n uint8 decimals,\n uint256 capacity\n ) MintableCappedERC20(name, symbol, decimals, capacity) {}\n\n function depositAddress(bytes32 salt) public view returns (address) {\n /* Convert a hash which is bytes32 to an address which is 20-byte long\n according to https://docs.soliditylang.org/en/v0.8.1/control-structures.html?highlight=create2#salted-contract-creations-create2 */\n return\n address(\n uint160(\n uint256(\n keccak256(\n abi.encodePacked(bytes1(0xff), owner, salt, keccak256(abi.encodePacked(type(DepositHandler).creationCode)))\n )\n )\n )\n );\n }\n\n function burn(bytes32 salt) external onlyOwner {\n address account = depositAddress(salt);\n _burn(account, balanceOf[account]);\n }\n\n function burnFrom(address account, uint256 amount) external onlyOwner {\n uint256 _allowance = allowance[account][msg.sender];\n if (_allowance != type(uint256).max) {\n _approve(account, msg.sender, _allowance - amount);\n }\n _burn(account, amount);\n }\n}\n" - }, - "@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarGateway.sol": { - "content": "// SPDX-License-Identifier: MIT\n\npragma solidity 0.8.9;\n\ninterface IAxelarGateway {\n /**********\\\n |* Errors *|\n \\**********/\n\n error NotSelf();\n error NotProxy();\n error InvalidCodeHash();\n error SetupFailed();\n error InvalidAuthModule();\n error InvalidTokenDeployer();\n error InvalidAmount();\n error InvalidChainId();\n error InvalidCommands();\n error TokenDoesNotExist(string symbol);\n error TokenAlreadyExists(string symbol);\n error TokenDeployFailed(string symbol);\n error TokenContractDoesNotExist(address token);\n error BurnFailed(string symbol);\n error MintFailed(string symbol);\n error InvalidSetDailyMintLimitsParams();\n error ExceedDailyMintLimit(string symbol);\n\n /**********\\\n |* Events *|\n \\**********/\n\n event TokenSent(address indexed sender, string destinationChain, string destinationAddress, string symbol, uint256 amount);\n\n event ContractCall(\n address indexed sender,\n string destinationChain,\n string destinationContractAddress,\n bytes32 indexed payloadHash,\n bytes payload\n );\n\n event ContractCallWithToken(\n address indexed sender,\n string destinationChain,\n string destinationContractAddress,\n bytes32 indexed payloadHash,\n bytes payload,\n string symbol,\n uint256 amount\n );\n\n event Executed(bytes32 indexed commandId);\n\n event TokenDeployed(string symbol, address tokenAddresses);\n\n event ContractCallApproved(\n bytes32 indexed commandId,\n string sourceChain,\n string sourceAddress,\n address indexed contractAddress,\n bytes32 indexed payloadHash,\n bytes32 sourceTxHash,\n uint256 sourceEventIndex\n );\n\n event ContractCallApprovedWithMint(\n bytes32 indexed commandId,\n string sourceChain,\n string sourceAddress,\n address indexed contractAddress,\n bytes32 indexed payloadHash,\n string symbol,\n uint256 amount,\n bytes32 sourceTxHash,\n uint256 sourceEventIndex\n );\n\n event TokenDailyMintLimitUpdated(string symbol, uint256 limit);\n\n event OperatorshipTransferred(bytes newOperatorsData);\n\n event Upgraded(address indexed implementation);\n\n /********************\\\n |* Public Functions *|\n \\********************/\n\n function sendToken(\n string calldata destinationChain,\n string calldata destinationAddress,\n string calldata symbol,\n uint256 amount\n ) external;\n\n function callContract(\n string calldata destinationChain,\n string calldata contractAddress,\n bytes calldata payload\n ) external;\n\n function callContractWithToken(\n string calldata destinationChain,\n string calldata contractAddress,\n bytes calldata payload,\n string calldata symbol,\n uint256 amount\n ) external;\n\n function isContractCallApproved(\n bytes32 commandId,\n string calldata sourceChain,\n string calldata sourceAddress,\n address contractAddress,\n bytes32 payloadHash\n ) external view returns (bool);\n\n function isContractCallAndMintApproved(\n bytes32 commandId,\n string calldata sourceChain,\n string calldata sourceAddress,\n address contractAddress,\n bytes32 payloadHash,\n string calldata symbol,\n uint256 amount\n ) external view returns (bool);\n\n function validateContractCall(\n bytes32 commandId,\n string calldata sourceChain,\n string calldata sourceAddress,\n bytes32 payloadHash\n ) external returns (bool);\n\n function validateContractCallAndMint(\n bytes32 commandId,\n string calldata sourceChain,\n string calldata sourceAddress,\n bytes32 payloadHash,\n string calldata symbol,\n uint256 amount\n ) external returns (bool);\n\n /***********\\\n |* Getters *|\n \\***********/\n\n function tokenDailyMintLimit(string memory symbol) external view returns (uint256);\n\n function tokenDailyMintAmount(string memory symbol) external view returns (uint256);\n\n function allTokensFrozen() external view returns (bool);\n\n function implementation() external view returns (address);\n\n function tokenAddresses(string memory symbol) external view returns (address);\n\n function tokenFrozen(string memory symbol) external view returns (bool);\n\n function isCommandExecuted(bytes32 commandId) external view returns (bool);\n\n function adminEpoch() external view returns (uint256);\n\n function adminThreshold(uint256 epoch) external view returns (uint256);\n\n function admins(uint256 epoch) external view returns (address[] memory);\n\n /*******************\\\n |* Admin Functions *|\n \\*******************/\n\n function setTokenDailyMintLimits(string[] calldata symbols, uint256[] calldata limits) external;\n\n function upgrade(\n address newImplementation,\n bytes32 newImplementationCodeHash,\n bytes calldata setupParams\n ) external;\n\n /**********************\\\n |* External Functions *|\n \\**********************/\n\n function setup(bytes calldata params) external;\n\n function execute(bytes calldata input) external;\n}\n" - }, - "@axelar-network/axelar-cgp-solidity/contracts/interfaces/IBurnableMintableCappedERC20.sol": { - "content": "// SPDX-License-Identifier: MIT\n\npragma solidity 0.8.9;\n\nimport { IERC20Burn } from './IERC20Burn.sol';\nimport { IERC20BurnFrom } from './IERC20BurnFrom.sol';\nimport { IMintableCappedERC20 } from './IMintableCappedERC20.sol';\n\ninterface IBurnableMintableCappedERC20 is IERC20Burn, IERC20BurnFrom, IMintableCappedERC20 {\n function depositAddress(bytes32 salt) external view returns (address);\n\n function burn(bytes32 salt) external;\n\n function burnFrom(address account, uint256 amount) external;\n}\n" - }, - "@axelar-network/axelar-cgp-solidity/contracts/MintableCappedERC20.sol": { - "content": "// SPDX-License-Identifier: MIT\n\npragma solidity 0.8.9;\n\nimport { IMintableCappedERC20 } from './interfaces/IMintableCappedERC20.sol';\n\nimport { ERC20 } from './ERC20.sol';\nimport { ERC20Permit } from './ERC20Permit.sol';\nimport { Ownable } from './Ownable.sol';\n\ncontract MintableCappedERC20 is IMintableCappedERC20, ERC20, ERC20Permit, Ownable {\n uint256 public immutable cap;\n\n constructor(\n string memory name,\n string memory symbol,\n uint8 decimals,\n uint256 capacity\n ) ERC20(name, symbol, decimals) ERC20Permit(name) Ownable() {\n cap = capacity;\n }\n\n function mint(address account, uint256 amount) external onlyOwner {\n uint256 capacity = cap;\n\n _mint(account, amount);\n\n if (capacity == 0) return;\n\n if (totalSupply > capacity) revert CapExceeded();\n }\n}\n" - }, - "@axelar-network/axelar-cgp-solidity/contracts/DepositHandler.sol": { - "content": "// SPDX-License-Identifier: MIT\n\npragma solidity 0.8.9;\n\ncontract DepositHandler {\n error IsLocked();\n error NotContract();\n\n uint256 internal constant IS_NOT_LOCKED = uint256(1);\n uint256 internal constant IS_LOCKED = uint256(2);\n\n uint256 internal _lockedStatus = IS_NOT_LOCKED;\n\n modifier noReenter() {\n if (_lockedStatus == IS_LOCKED) revert IsLocked();\n\n _lockedStatus = IS_LOCKED;\n _;\n _lockedStatus = IS_NOT_LOCKED;\n }\n\n function execute(address callee, bytes calldata data) external noReenter returns (bool success, bytes memory returnData) {\n if (callee.code.length == 0) revert NotContract();\n (success, returnData) = callee.call(data);\n }\n\n // NOTE: The gateway should always destroy the `DepositHandler` in the same runtime context that deploys it.\n function destroy(address etherDestination) external noReenter {\n selfdestruct(payable(etherDestination));\n }\n}\n" - }, - "@axelar-network/axelar-cgp-solidity/contracts/interfaces/IERC20Burn.sol": { - "content": "// SPDX-License-Identifier: MIT\n\npragma solidity 0.8.9;\n\ninterface IERC20Burn {\n function burn(bytes32 salt) external;\n}\n" - }, - "@axelar-network/axelar-cgp-solidity/contracts/interfaces/IERC20BurnFrom.sol": { - "content": "// SPDX-License-Identifier: MIT\n\npragma solidity 0.8.9;\n\ninterface IERC20BurnFrom {\n function burnFrom(address account, uint256 amount) external;\n}\n" - }, - "@axelar-network/axelar-cgp-solidity/contracts/interfaces/IMintableCappedERC20.sol": { - "content": "// SPDX-License-Identifier: MIT\n\npragma solidity 0.8.9;\n\nimport { IERC20 } from './IERC20.sol';\nimport { IERC20Permit } from './IERC20Permit.sol';\nimport { IOwnable } from './IOwnable.sol';\n\ninterface IMintableCappedERC20 is IERC20, IERC20Permit, IOwnable {\n error CapExceeded();\n\n function cap() external view returns (uint256);\n\n function mint(address account, uint256 amount) external;\n}\n" - }, - "@axelar-network/axelar-cgp-solidity/contracts/interfaces/IERC20.sol": { - "content": "// SPDX-License-Identifier: MIT\n\npragma solidity 0.8.9;\n\n/**\n * @dev Interface of the ERC20 standard as defined in the EIP.\n */\ninterface IERC20 {\n error InvalidAccount();\n\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(\n address sender,\n address recipient,\n uint256 amount\n ) 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" - }, - "@axelar-network/axelar-cgp-solidity/contracts/interfaces/IERC20Permit.sol": { - "content": "// SPDX-License-Identifier: MIT\n\npragma solidity 0.8.9;\n\ninterface IERC20Permit {\n function DOMAIN_SEPARATOR() external view returns (bytes32);\n\n function nonces(address account) external view returns (uint256);\n\n function permit(\n address issuer,\n address spender,\n uint256 value,\n uint256 deadline,\n uint8 v,\n bytes32 r,\n bytes32 s\n ) external;\n}\n" - }, - "@axelar-network/axelar-cgp-solidity/contracts/interfaces/IOwnable.sol": { - "content": "// SPDX-License-Identifier: MIT\n\npragma solidity 0.8.9;\n\ninterface IOwnable {\n error NotOwner();\n error InvalidOwner();\n\n event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);\n\n function owner() external view returns (address);\n\n function transferOwnership(address newOwner) external;\n}\n" - }, - "@axelar-network/axelar-cgp-solidity/contracts/ERC20.sol": { - "content": "// SPDX-License-Identifier: MIT\n\npragma solidity 0.8.9;\n\nimport { IERC20 } from './interfaces/IERC20.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 IERC20 {\n mapping(address => uint256) public override balanceOf;\n\n mapping(address => mapping(address => uint256)) public override allowance;\n\n uint256 public override totalSupply;\n\n string public name;\n string public symbol;\n\n uint8 public immutable decimals;\n\n /**\n * @dev Sets the values for {name}, {symbol}, and {decimals}.\n */\n constructor(\n string memory name_,\n string memory symbol_,\n uint8 decimals_\n ) {\n name = name_;\n symbol = symbol_;\n decimals = decimals_;\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) external virtual override returns (bool) {\n _transfer(msg.sender, recipient, amount);\n return true;\n }\n\n /**\n * @dev See {IERC20-approve}.\n *\n * NOTE: If `amount` is the maximum `uint256`, the allowance is not updated on\n * `transferFrom`. This is semantically equivalent to an infinite approval.\n *\n * Requirements:\n *\n * - `spender` cannot be the zero address.\n */\n function approve(address spender, uint256 amount) external virtual override returns (bool) {\n _approve(msg.sender, 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(\n address sender,\n address recipient,\n uint256 amount\n ) external virtual override returns (bool) {\n uint256 _allowance = allowance[sender][msg.sender];\n\n if (_allowance != type(uint256).max) {\n _approve(sender, msg.sender, _allowance - amount);\n }\n\n _transfer(sender, recipient, 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) external virtual returns (bool) {\n _approve(msg.sender, spender, allowance[msg.sender][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) external virtual returns (bool) {\n _approve(msg.sender, spender, allowance[msg.sender][spender] - subtractedValue);\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(\n address sender,\n address recipient,\n uint256 amount\n ) internal virtual {\n if (sender == address(0) || recipient == address(0)) revert InvalidAccount();\n\n _beforeTokenTransfer(sender, recipient, amount);\n\n balanceOf[sender] -= amount;\n balanceOf[recipient] += amount;\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 if (account == address(0)) revert InvalidAccount();\n\n _beforeTokenTransfer(address(0), account, amount);\n\n totalSupply += amount;\n balanceOf[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 if (account == address(0)) revert InvalidAccount();\n\n _beforeTokenTransfer(account, address(0), amount);\n\n balanceOf[account] -= amount;\n totalSupply -= amount;\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(\n address owner,\n address spender,\n uint256 amount\n ) internal virtual {\n if (owner == address(0) || spender == address(0)) revert InvalidAccount();\n\n allowance[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(\n address from,\n address to,\n uint256 amount\n ) internal virtual {}\n}\n" - }, - "@axelar-network/axelar-cgp-solidity/contracts/ERC20Permit.sol": { - "content": "// SPDX-License-Identifier: MIT\n\npragma solidity 0.8.9;\n\nimport { IERC20 } from './interfaces/IERC20.sol';\nimport { IERC20Permit } from './interfaces/IERC20Permit.sol';\n\nimport { ERC20 } from './ERC20.sol';\n\nabstract contract ERC20Permit is IERC20, IERC20Permit, ERC20 {\n error PermitExpired();\n error InvalidS();\n error InvalidV();\n error InvalidSignature();\n\n bytes32 public immutable DOMAIN_SEPARATOR;\n\n string private constant EIP191_PREFIX_FOR_EIP712_STRUCTURED_DATA = '\\x19\\x01';\n\n // keccak256('EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)')\n bytes32 private constant DOMAIN_TYPE_SIGNATURE_HASH = bytes32(0x8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f);\n\n // keccak256('Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)')\n bytes32 private constant PERMIT_SIGNATURE_HASH = bytes32(0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9);\n\n mapping(address => uint256) public nonces;\n\n constructor(string memory name) {\n DOMAIN_SEPARATOR = keccak256(\n abi.encode(DOMAIN_TYPE_SIGNATURE_HASH, keccak256(bytes(name)), keccak256(bytes('1')), block.chainid, address(this))\n );\n }\n\n function permit(\n address issuer,\n address spender,\n uint256 value,\n uint256 deadline,\n uint8 v,\n bytes32 r,\n bytes32 s\n ) external {\n if (block.timestamp > deadline) revert PermitExpired();\n\n if (uint256(s) > 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5D576E7357A4501DDFE92F46681B20A0) revert InvalidS();\n\n if (v != 27 && v != 28) revert InvalidV();\n\n bytes32 digest = keccak256(\n abi.encodePacked(\n EIP191_PREFIX_FOR_EIP712_STRUCTURED_DATA,\n DOMAIN_SEPARATOR,\n keccak256(abi.encode(PERMIT_SIGNATURE_HASH, issuer, spender, value, nonces[issuer]++, deadline))\n )\n );\n\n address recoveredAddress = ecrecover(digest, v, r, s);\n\n if (recoveredAddress != issuer) revert InvalidSignature();\n\n // _approve will revert if issuer is address(0x0)\n _approve(issuer, spender, value);\n }\n}\n" - }, - "@axelar-network/axelar-cgp-solidity/contracts/Ownable.sol": { - "content": "// SPDX-License-Identifier: MIT\n\npragma solidity 0.8.9;\n\nimport { IOwnable } from './interfaces/IOwnable.sol';\n\nabstract contract Ownable is IOwnable {\n address public owner;\n\n constructor() {\n owner = msg.sender;\n emit OwnershipTransferred(address(0), msg.sender);\n }\n\n modifier onlyOwner() {\n if (owner != msg.sender) revert NotOwner();\n\n _;\n }\n\n function transferOwnership(address newOwner) external virtual onlyOwner {\n if (newOwner == address(0)) revert InvalidOwner();\n\n emit OwnershipTransferred(owner, newOwner);\n owner = newOwner;\n }\n}\n" - }, - "@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarAuth.sol": { - "content": "// SPDX-License-Identifier: MIT\n\npragma solidity 0.8.9;\n\nimport { IOwnable } from './IOwnable.sol';\n\ninterface IAxelarAuth is IOwnable {\n function validateProof(bytes32 messageHash, bytes calldata proof) external returns (bool currentOperators);\n\n function transferOperatorship(bytes calldata params) external;\n}\n" - }, - "@axelar-network/axelar-cgp-solidity/contracts/ECDSA.sol": { - "content": "// SPDX-License-Identifier: MIT\n\npragma solidity 0.8.9;\n\n/**\n * @dev Elliptic Curve Digital Signature Algorithm (ECDSA) operations.\n *\n * These functions can be used to verify that a message was signed by the holder\n * of the private keys of a given address.\n */\nlibrary ECDSA {\n error InvalidSignatureLength();\n error InvalidS();\n error InvalidV();\n error InvalidSignature();\n\n /**\n * @dev Returns the address that signed a hashed message (`hash`) with\n * `signature`. This address can then be used for verification purposes.\n *\n * The `ecrecover` EVM opcode allows for malleable (non-unique) signatures:\n * this function rejects them by requiring the `s` value to be in the lower\n * half order, and the `v` value to be either 27 or 28.\n *\n * IMPORTANT: `hash` _must_ be the result of a hash operation for the\n * verification to be secure: it is possible to craft signatures that\n * recover to arbitrary addresses for non-hashed data. A safe way to ensure\n * this is by receiving a hash of the original message (which may otherwise\n * be too long), and then calling {toEthSignedMessageHash} on it.\n */\n function recover(bytes32 hash, bytes memory signature) internal pure returns (address signer) {\n // Check the signature length\n if (signature.length != 65) revert InvalidSignatureLength();\n\n // Divide the signature in r, s and v variables\n bytes32 r;\n bytes32 s;\n uint8 v;\n\n // ecrecover takes the signature parameters, and the only way to get them\n // currently is to use assembly.\n // solhint-disable-next-line no-inline-assembly\n assembly {\n r := mload(add(signature, 0x20))\n s := mload(add(signature, 0x40))\n v := byte(0, mload(add(signature, 0x60)))\n }\n\n // EIP-2 still allows signature malleability for ecrecover(). Remove this possibility and make the signature\n // unique. Appendix F in the Ethereum Yellow paper (https://ethereum.github.io/yellowpaper/paper.pdf), defines\n // the valid range for s in (281): 0 < s < secp256k1n ÷ 2 + 1, and for v in (282): v ∈ {27, 28}. Most\n // signatures from current libraries generate a unique signature with an s-value in the lower half order.\n //\n // If your library generates malleable signatures, such as s-values in the upper range, calculate a new s-value\n // with 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364141 - s1 and flip v from 27 to 28 or\n // vice versa. If your library also generates signatures with 0/1 for v instead 27/28, add 27 to v to accept\n // these malleable signatures as well.\n if (uint256(s) > 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5D576E7357A4501DDFE92F46681B20A0) revert InvalidS();\n\n if (v != 27 && v != 28) revert InvalidV();\n\n // If the signature is valid (and not malleable), return the signer address\n if ((signer = ecrecover(hash, v, r, s)) == address(0)) revert InvalidSignature();\n }\n\n /**\n * @dev Returns an Ethereum Signed Message, created from a `hash`. This\n * replicates the behavior of the\n * https://github.com/ethereum/wiki/wiki/JSON-RPC#eth_sign[`eth_sign`]\n * JSON-RPC method.\n *\n * See {recover}.\n */\n function toEthSignedMessageHash(bytes32 hash) internal pure returns (bytes32) {\n // 32 is the length in bytes of hash,\n // enforced by the type signature above\n return keccak256(abi.encodePacked('\\x19Ethereum Signed Message:\\n32', hash));\n }\n}\n" - }, - "@axelar-network/axelar-cgp-solidity/contracts/AdminMultisigBase.sol": { - "content": "// SPDX-License-Identifier: MIT\n\npragma solidity 0.8.9;\n\nimport { EternalStorage } from './EternalStorage.sol';\n\ncontract AdminMultisigBase is EternalStorage {\n error NotAdmin();\n error AlreadyVoted();\n error InvalidAdmins();\n error InvalidAdminThreshold();\n error DuplicateAdmin(address admin);\n\n // AUDIT: slot names should be prefixed with some standard string\n bytes32 internal constant KEY_ADMIN_EPOCH = keccak256('admin-epoch');\n\n bytes32 internal constant PREFIX_ADMIN = keccak256('admin');\n bytes32 internal constant PREFIX_ADMIN_COUNT = keccak256('admin-count');\n bytes32 internal constant PREFIX_ADMIN_THRESHOLD = keccak256('admin-threshold');\n bytes32 internal constant PREFIX_ADMIN_VOTE_COUNTS = keccak256('admin-vote-counts');\n bytes32 internal constant PREFIX_ADMIN_VOTED = keccak256('admin-voted');\n bytes32 internal constant PREFIX_IS_ADMIN = keccak256('is-admin');\n\n // NOTE: Given the early void return, this modifier should be used with care on functions that return data.\n modifier onlyAdmin() {\n uint256 adminEpoch = _adminEpoch();\n\n if (!_isAdmin(adminEpoch, msg.sender)) revert NotAdmin();\n\n bytes32 topic = keccak256(msg.data);\n\n // Check that admin has not voted, then record that they have voted.\n if (_hasVoted(adminEpoch, topic, msg.sender)) revert AlreadyVoted();\n\n _setHasVoted(adminEpoch, topic, msg.sender, true);\n\n // Determine the new vote count and update it.\n uint256 adminVoteCount = _getVoteCount(adminEpoch, topic) + uint256(1);\n _setVoteCount(adminEpoch, topic, adminVoteCount);\n\n // Do not proceed with operation execution if insufficient votes.\n if (adminVoteCount < _getAdminThreshold(adminEpoch)) return;\n\n _;\n\n // Clear vote count and voted booleans.\n _setVoteCount(adminEpoch, topic, uint256(0));\n\n uint256 adminCount = _getAdminCount(adminEpoch);\n\n for (uint256 i; i < adminCount; ++i) {\n _setHasVoted(adminEpoch, topic, _getAdmin(adminEpoch, i), false);\n }\n }\n\n /********************\\\n |* Pure Key Getters *|\n \\********************/\n\n function _getAdminKey(uint256 adminEpoch, uint256 index) internal pure returns (bytes32) {\n return keccak256(abi.encodePacked(PREFIX_ADMIN, adminEpoch, index));\n }\n\n function _getAdminCountKey(uint256 adminEpoch) internal pure returns (bytes32) {\n return keccak256(abi.encodePacked(PREFIX_ADMIN_COUNT, adminEpoch));\n }\n\n function _getAdminThresholdKey(uint256 adminEpoch) internal pure returns (bytes32) {\n return keccak256(abi.encodePacked(PREFIX_ADMIN_THRESHOLD, adminEpoch));\n }\n\n function _getAdminVoteCountsKey(uint256 adminEpoch, bytes32 topic) internal pure returns (bytes32) {\n return keccak256(abi.encodePacked(PREFIX_ADMIN_VOTE_COUNTS, adminEpoch, topic));\n }\n\n function _getAdminVotedKey(\n uint256 adminEpoch,\n bytes32 topic,\n address account\n ) internal pure returns (bytes32) {\n return keccak256(abi.encodePacked(PREFIX_ADMIN_VOTED, adminEpoch, topic, account));\n }\n\n function _getIsAdminKey(uint256 adminEpoch, address account) internal pure returns (bytes32) {\n return keccak256(abi.encodePacked(PREFIX_IS_ADMIN, adminEpoch, account));\n }\n\n /***********\\\n |* Getters *|\n \\***********/\n\n function _adminEpoch() internal view returns (uint256) {\n return getUint(KEY_ADMIN_EPOCH);\n }\n\n function _getAdmin(uint256 adminEpoch, uint256 index) internal view returns (address) {\n return getAddress(_getAdminKey(adminEpoch, index));\n }\n\n function _getAdminCount(uint256 adminEpoch) internal view returns (uint256) {\n return getUint(_getAdminCountKey(adminEpoch));\n }\n\n function _getAdminThreshold(uint256 adminEpoch) internal view returns (uint256) {\n return getUint(_getAdminThresholdKey(adminEpoch));\n }\n\n function _getVoteCount(uint256 adminEpoch, bytes32 topic) internal view returns (uint256) {\n return getUint(_getAdminVoteCountsKey(adminEpoch, topic));\n }\n\n function _hasVoted(\n uint256 adminEpoch,\n bytes32 topic,\n address account\n ) internal view returns (bool) {\n return getBool(_getAdminVotedKey(adminEpoch, topic, account));\n }\n\n function _isAdmin(uint256 adminEpoch, address account) internal view returns (bool) {\n return getBool(_getIsAdminKey(adminEpoch, account));\n }\n\n /***********\\\n |* Setters *|\n \\***********/\n\n function _setAdminEpoch(uint256 adminEpoch) internal {\n _setUint(KEY_ADMIN_EPOCH, adminEpoch);\n }\n\n function _setAdmin(\n uint256 adminEpoch,\n uint256 index,\n address account\n ) internal {\n _setAddress(_getAdminKey(adminEpoch, index), account);\n }\n\n function _setAdminCount(uint256 adminEpoch, uint256 adminCount) internal {\n _setUint(_getAdminCountKey(adminEpoch), adminCount);\n }\n\n function _setAdmins(\n uint256 adminEpoch,\n address[] memory accounts,\n uint256 threshold\n ) internal {\n uint256 adminLength = accounts.length;\n\n if (adminLength < threshold) revert InvalidAdmins();\n\n if (threshold == uint256(0)) revert InvalidAdminThreshold();\n\n _setAdminThreshold(adminEpoch, threshold);\n _setAdminCount(adminEpoch, adminLength);\n\n for (uint256 i; i < adminLength; ++i) {\n address account = accounts[i];\n\n // Check that the account wasn't already set as an admin for this epoch.\n if (_isAdmin(adminEpoch, account)) revert DuplicateAdmin(account);\n\n if (account == address(0)) revert InvalidAdmins();\n\n // Set this account as the i-th admin in this epoch (needed to we can clear topic votes in `onlyAdmin`).\n _setAdmin(adminEpoch, i, account);\n _setIsAdmin(adminEpoch, account, true);\n }\n }\n\n function _setAdminThreshold(uint256 adminEpoch, uint256 adminThreshold) internal {\n _setUint(_getAdminThresholdKey(adminEpoch), adminThreshold);\n }\n\n function _setVoteCount(\n uint256 adminEpoch,\n bytes32 topic,\n uint256 voteCount\n ) internal {\n _setUint(_getAdminVoteCountsKey(adminEpoch, topic), voteCount);\n }\n\n function _setHasVoted(\n uint256 adminEpoch,\n bytes32 topic,\n address account,\n bool voted\n ) internal {\n _setBool(_getAdminVotedKey(adminEpoch, topic, account), voted);\n }\n\n function _setIsAdmin(\n uint256 adminEpoch,\n address account,\n bool isAdmin\n ) internal {\n _setBool(_getIsAdminKey(adminEpoch, account), isAdmin);\n }\n}\n" - }, - "@axelar-network/axelar-cgp-solidity/contracts/EternalStorage.sol": { - "content": "// SPDX-License-Identifier: MIT\n\npragma solidity 0.8.9;\n\n/**\n * @title EternalStorage\n * @dev This contract holds all the necessary state variables to carry out the storage of any contract.\n */\ncontract EternalStorage {\n mapping(bytes32 => uint256) private _uintStorage;\n mapping(bytes32 => string) private _stringStorage;\n mapping(bytes32 => address) private _addressStorage;\n mapping(bytes32 => bytes) private _bytesStorage;\n mapping(bytes32 => bool) private _boolStorage;\n mapping(bytes32 => int256) private _intStorage;\n\n // *** Getter Methods ***\n function getUint(bytes32 key) public view returns (uint256) {\n return _uintStorage[key];\n }\n\n function getString(bytes32 key) public view returns (string memory) {\n return _stringStorage[key];\n }\n\n function getAddress(bytes32 key) public view returns (address) {\n return _addressStorage[key];\n }\n\n function getBytes(bytes32 key) public view returns (bytes memory) {\n return _bytesStorage[key];\n }\n\n function getBool(bytes32 key) public view returns (bool) {\n return _boolStorage[key];\n }\n\n function getInt(bytes32 key) public view returns (int256) {\n return _intStorage[key];\n }\n\n // *** Setter Methods ***\n function _setUint(bytes32 key, uint256 value) internal {\n _uintStorage[key] = value;\n }\n\n function _setString(bytes32 key, string memory value) internal {\n _stringStorage[key] = value;\n }\n\n function _setAddress(bytes32 key, address value) internal {\n _addressStorage[key] = value;\n }\n\n function _setBytes(bytes32 key, bytes memory value) internal {\n _bytesStorage[key] = value;\n }\n\n function _setBool(bytes32 key, bool value) internal {\n _boolStorage[key] = value;\n }\n\n function _setInt(bytes32 key, int256 value) internal {\n _intStorage[key] = value;\n }\n\n // *** Delete Methods ***\n function _deleteUint(bytes32 key) internal {\n delete _uintStorage[key];\n }\n\n function _deleteString(bytes32 key) internal {\n delete _stringStorage[key];\n }\n\n function _deleteAddress(bytes32 key) internal {\n delete _addressStorage[key];\n }\n\n function _deleteBytes(bytes32 key) internal {\n delete _bytesStorage[key];\n }\n\n function _deleteBool(bytes32 key) internal {\n delete _boolStorage[key];\n }\n\n function _deleteInt(bytes32 key) internal {\n delete _intStorage[key];\n }\n}\n" - }, - "@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarAuthMultisig.sol": { - "content": "// SPDX-License-Identifier: MIT\n\npragma solidity 0.8.9;\n\nimport { IAxelarAuth } from './IAxelarAuth.sol';\n\ninterface IAxelarAuthMultisig is IAxelarAuth {\n event OperatorshipTransferred(address[] newOperators, uint256 newThreshold);\n\n function currentEpoch() external view returns (uint256);\n\n function hashForEpoch(uint256 epoch) external view returns (bytes32);\n\n function epochForHash(bytes32 hash) external view returns (uint256);\n}\n" - }, - "@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarGasService.sol": { - "content": "// SPDX-License-Identifier: MIT\n\npragma solidity 0.8.9;\n\nimport './IUpgradable.sol';\n\n// This should be owned by the microservice that is paying for gas.\ninterface IAxelarGasService is IUpgradable {\n error NothingReceived();\n error TransferFailed();\n\n event GasPaidForContractCall(\n address indexed sourceAddress,\n string destinationChain,\n string destinationAddress,\n bytes32 indexed payloadHash,\n address gasToken,\n uint256 gasFeeAmount,\n address refundAddress\n );\n\n event GasPaidForContractCallWithToken(\n address indexed sourceAddress,\n string destinationChain,\n string destinationAddress,\n bytes32 indexed payloadHash,\n string symbol,\n uint256 amount,\n address gasToken,\n uint256 gasFeeAmount,\n address refundAddress\n );\n\n event NativeGasPaidForContractCall(\n address indexed sourceAddress,\n string destinationChain,\n string destinationAddress,\n bytes32 indexed payloadHash,\n uint256 gasFeeAmount,\n address refundAddress\n );\n\n event NativeGasPaidForContractCallWithToken(\n address indexed sourceAddress,\n string destinationChain,\n string destinationAddress,\n bytes32 indexed payloadHash,\n string symbol,\n uint256 amount,\n uint256 gasFeeAmount,\n address refundAddress\n );\n\n event GasAdded(bytes32 indexed txHash, uint256 indexed logIndex, address gasToken, uint256 gasFeeAmount, address refundAddress);\n\n event NativeGasAdded(bytes32 indexed txHash, uint256 indexed logIndex, uint256 gasFeeAmount, address refundAddress);\n\n // This is called on the source chain before calling the gateway to execute a remote contract.\n function payGasForContractCall(\n address sender,\n string calldata destinationChain,\n string calldata destinationAddress,\n bytes calldata payload,\n address gasToken,\n uint256 gasFeeAmount,\n address refundAddress\n ) external;\n\n // This is called on the source chain before calling the gateway to execute a remote contract.\n function payGasForContractCallWithToken(\n address sender,\n string calldata destinationChain,\n string calldata destinationAddress,\n bytes calldata payload,\n string calldata symbol,\n uint256 amount,\n address gasToken,\n uint256 gasFeeAmount,\n address refundAddress\n ) external;\n\n // This is called on the source chain before calling the gateway to execute a remote contract.\n function payNativeGasForContractCall(\n address sender,\n string calldata destinationChain,\n string calldata destinationAddress,\n bytes calldata payload,\n address refundAddress\n ) external payable;\n\n // This is called on the source chain before calling the gateway to execute a remote contract.\n function payNativeGasForContractCallWithToken(\n address sender,\n string calldata destinationChain,\n string calldata destinationAddress,\n bytes calldata payload,\n string calldata symbol,\n uint256 amount,\n address refundAddress\n ) external payable;\n\n function addGas(\n bytes32 txHash,\n uint256 txIndex,\n address gasToken,\n uint256 gasFeeAmount,\n address refundAddress\n ) external;\n\n function addNativeGas(\n bytes32 txHash,\n uint256 logIndex,\n address refundAddress\n ) external payable;\n\n function collectFees(address payable receiver, address[] calldata tokens) external;\n\n function refund(\n address payable receiver,\n address token,\n uint256 amount\n ) external;\n}\n" - }, - "@axelar-network/axelar-cgp-solidity/contracts/util/Upgradable.sol": { - "content": "// SPDX-License-Identifier: MIT\n\npragma solidity 0.8.9;\n\nimport '../interfaces/IUpgradable.sol';\n\nabstract contract Upgradable is IUpgradable {\n // bytes32(uint256(keccak256('eip1967.proxy.implementation')) - 1)\n bytes32 internal constant _IMPLEMENTATION_SLOT = 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc;\n // keccak256('owner')\n bytes32 internal constant _OWNER_SLOT = 0x02016836a56b71f0d02689e69e326f4f4c1b9057164ef592671cf0d37c8040c0;\n\n modifier onlyOwner() {\n if (owner() != msg.sender) revert NotOwner();\n _;\n }\n\n function owner() public view returns (address owner_) {\n // solhint-disable-next-line no-inline-assembly\n assembly {\n owner_ := sload(_OWNER_SLOT)\n }\n }\n\n function transferOwnership(address newOwner) external virtual onlyOwner {\n if (newOwner == address(0)) revert InvalidOwner();\n\n emit OwnershipTransferred(newOwner);\n assembly {\n sstore(_OWNER_SLOT, newOwner)\n }\n }\n\n function implementation() public view returns (address implementation_) {\n // solhint-disable-next-line no-inline-assembly\n assembly {\n implementation_ := sload(_IMPLEMENTATION_SLOT)\n }\n }\n\n function upgrade(\n address newImplementation,\n bytes32 newImplementationCodeHash,\n bytes calldata params\n ) external override onlyOwner {\n if (IUpgradable(newImplementation).contractId() != IUpgradable(this).contractId()) revert InvalidImplementation();\n if (newImplementationCodeHash != newImplementation.codehash) revert InvalidCodeHash();\n\n // solhint-disable-next-line avoid-low-level-calls\n (bool success, ) = newImplementation.delegatecall(abi.encodeWithSelector(this.setup.selector, params));\n\n if (!success) revert SetupFailed();\n\n emit Upgraded(newImplementation);\n // solhint-disable-next-line no-inline-assembly\n assembly {\n sstore(_IMPLEMENTATION_SLOT, newImplementation)\n }\n }\n\n function setup(bytes calldata data) external override {\n // Prevent setup from being called on the implementation\n if (implementation() == address(0)) revert NotProxy();\n\n _setup(data);\n }\n\n function _setup(bytes calldata data) internal virtual {}\n}\n" - }, - "@axelar-network/axelar-cgp-solidity/contracts/interfaces/IUpgradable.sol": { - "content": "// SPDX-License-Identifier: MIT\n\npragma solidity 0.8.9;\n\n// General interface for upgradable contracts\ninterface IUpgradable {\n error NotOwner();\n error InvalidOwner();\n error InvalidCodeHash();\n error InvalidImplementation();\n error SetupFailed();\n error NotProxy();\n\n event Upgraded(address indexed newImplementation);\n event OwnershipTransferred(address indexed newOwner);\n\n // Get current owner\n function owner() external view returns (address);\n\n function contractId() external view returns (bytes32);\n\n function upgrade(\n address newImplementation,\n bytes32 newImplementationCodeHash,\n bytes calldata params\n ) external;\n\n function setup(bytes calldata data) external;\n}\n" - }, - "@axelar-network/axelar-cgp-solidity/contracts/util/Proxy.sol": { - "content": "// SPDX-License-Identifier: MIT\n\npragma solidity 0.8.9;\n\ncontract Proxy {\n error InvalidImplementation();\n error SetupFailed();\n error EtherNotAccepted();\n\n // bytes32(uint256(keccak256('eip1967.proxy.implementation')) - 1)\n bytes32 internal constant _IMPLEMENTATION_SLOT = 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc;\n // keccak256('owner');\n bytes32 internal constant _OWNER_SLOT = 0x02016836a56b71f0d02689e69e326f4f4c1b9057164ef592671cf0d37c8040c0;\n\n constructor(address implementationAddress, bytes memory params) {\n // solhint-disable-next-line no-inline-assembly\n assembly {\n sstore(_IMPLEMENTATION_SLOT, implementationAddress)\n sstore(_OWNER_SLOT, caller())\n }\n // solhint-disable-next-line avoid-low-level-calls\n (bool success, ) = implementationAddress.delegatecall(\n //0x9ded06df is the setup selector.\n abi.encodeWithSelector(0x9ded06df, params)\n );\n\n if (!success) revert SetupFailed();\n }\n\n function implementation() public view returns (address implementation_) {\n // solhint-disable-next-line no-inline-assembly\n assembly {\n implementation_ := sload(_IMPLEMENTATION_SLOT)\n }\n }\n\n // solhint-disable-next-line no-empty-blocks\n function setup(bytes calldata data) public {}\n\n // solhint-disable-next-line no-complex-fallback\n fallback() external payable {\n address implementaion_ = implementation();\n // solhint-disable-next-line no-inline-assembly\n assembly {\n calldatacopy(0, 0, calldatasize())\n\n let result := delegatecall(gas(), implementaion_, 0, calldatasize(), 0, 0)\n returndatacopy(0, 0, returndatasize())\n\n switch result\n case 0 {\n revert(0, returndatasize())\n }\n default {\n return(0, returndatasize())\n }\n }\n }\n\n receive() external payable virtual {\n revert EtherNotAccepted();\n }\n}\n" - }, - "src/contracts/test/ExecutableWithToken.sol": { - "content": "// SPDX-License-Identifier: MIT\n\npragma solidity 0.8.9;\n\nimport { IAxelarExecutable } from '@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarExecutable.sol';\nimport { IAxelarGasService } from '@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarGasService.sol';\nimport { IERC20 } from '@axelar-network/axelar-cgp-solidity/contracts/interfaces/IERC20.sol';\n\ncontract ExecutableWithToken is IAxelarExecutable {\n string public value;\n string public sourceChain;\n string public sourceAddress;\n IAxelarGasService public gasReceiver;\n mapping(string => string) public siblings;\n\n constructor(address gateway_, address gasReceiver_) IAxelarExecutable(gateway_) {\n gasReceiver = IAxelarGasService(gasReceiver_);\n }\n\n //Call this function on setup to tell this contract who it's sibling contracts are.\n function addSibling(string calldata chain_, string calldata address_) external {\n siblings[chain_] = address_;\n }\n\n //Call this function to update the value of this contract along with all its siblings'.\n function setAndSend(\n string memory chain,\n string calldata value_,\n address destinationAddress,\n string memory symbol,\n uint256 amount\n ) external payable {\n value = value_;\n bytes memory payload = abi.encode(value_, destinationAddress);\n if (msg.value > 0) {\n gasReceiver.payNativeGasForContractCallWithToken{ value: msg.value }(\n address(this),\n chain,\n siblings[chain],\n payload,\n symbol,\n amount,\n msg.sender\n );\n }\n address token = gateway.tokenAddresses(symbol);\n IERC20(token).transferFrom(msg.sender, address(this), amount);\n IERC20(token).approve(address(gateway), amount);\n gateway.callContractWithToken(chain, siblings[chain], payload, symbol, amount);\n }\n\n /*Handles calls created by setAndSend. Updates this contract's value \n and gives the token received to the destination specified at the source chain. */\n function _executeWithToken(\n string memory sourceChain_,\n string memory sourceAddress_,\n bytes calldata payload_,\n string memory symbol,\n uint256 amount\n ) internal override {\n address destinationAddress;\n (value, destinationAddress) = abi.decode(payload_, (string, address));\n sourceChain = sourceChain_;\n sourceAddress = sourceAddress_;\n address token = gateway.tokenAddresses(symbol);\n IERC20(token).transfer(destinationAddress, amount);\n }\n}\n" - }, - "src/contracts/test/Executable.sol": { - "content": "// SPDX-License-Identifier: MIT\n\npragma solidity 0.8.9;\n\nimport { IAxelarExecutable } from '@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarExecutable.sol';\nimport { IAxelarGasService } from '@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarGasService.sol';\n\ncontract Executable is IAxelarExecutable {\n string public value;\n string public sourceChain;\n string public sourceAddress;\n IAxelarGasService public gasReceiver;\n mapping(string => string) public siblings;\n\n constructor(address gateway_, address gasReceiver_) IAxelarExecutable(gateway_) {\n gasReceiver = IAxelarGasService(gasReceiver_);\n }\n\n //Call this function on setup to tell this contract who it's sibling contracts are.\n function addSibling(string calldata chain_, string calldata address_) external {\n siblings[chain_] = address_;\n }\n\n //Call this function to update the value of this contract along with all its siblings'.\n function set(string memory chain, string calldata value_) external payable {\n value = value_;\n bytes memory payload = abi.encode(value_);\n if (msg.value > 0) {\n gasReceiver.payNativeGasForContractCall{ value: msg.value }(address(this), chain, siblings[chain], payload, msg.sender);\n }\n gateway.callContract(chain, siblings[chain], payload);\n }\n\n /*Handles calls created by setAndSend. Updates this contract's value \n and gives the token received to the destination specified at the source chain. */\n function _execute(\n string memory sourceChain_,\n string memory sourceAddress_,\n bytes calldata payload_\n ) internal override {\n (value) = abi.decode(payload_, (string));\n sourceChain = sourceChain_;\n sourceAddress = sourceAddress_;\n }\n}\n" - } - }, - "settings": { - "evmVersion": "london", - "optimizer": { - "enabled": true, - "runs": 1000, - "details": { - "peephole": true, - "inliner": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": true, - "yulDetails": { - "stackAllocation": true - } - } - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "output": { - "contracts": { - "@axelar-network/axelar-cgp-solidity/contracts/AdminMultisigBase.sol": { - "AdminMultisigBase": { - "abi": [ - { - "inputs": [], - "name": "AlreadyVoted", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "admin", - "type": "address" - } - ], - "name": "DuplicateAdmin", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidAdminThreshold", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidAdmins", - "type": "error" - }, - { - "inputs": [], - "name": "NotAdmin", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "key", - "type": "bytes32" - } - ], - "name": "getAddress", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "key", - "type": "bytes32" - } - ], - "name": "getBool", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "key", - "type": "bytes32" - } - ], - "name": "getBytes", - "outputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "key", - "type": "bytes32" - } - ], - "name": "getInt", - "outputs": [ - { - "internalType": "int256", - "name": "", - "type": "int256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "key", - "type": "bytes32" - } - ], - "name": "getString", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "key", - "type": "bytes32" - } - ], - "name": "getUint", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "evm": { - "bytecode": { - "functionDebugData": {}, - "generatedSources": [], - "linkReferences": {}, - "object": "608060405234801561001057600080fd5b50610354806100206000396000f3fe608060405234801561001057600080fd5b50600436106100725760003560e01c8063bd02d0f511610050578063bd02d0f51461012a578063c031a18014610158578063dc97d9621461016b57600080fd5b806321f8a721146100775780637ae1cfca146100d7578063986e791a1461010a575b600080fd5b6100ad61008536600461024a565b60009081526002602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b6100fa6100e536600461024a565b60009081526004602052604090205460ff1690565b60405190151581526020016100ce565b61011d61011836600461024a565b61018b565b6040516100ce91906102b0565b61014a61013836600461024a565b60009081526020819052604090205490565b6040519081526020016100ce565b61011d61016636600461024a565b61022d565b61014a61017936600461024a565b60009081526005602052604090205490565b60008181526001602052604090208054606091906101a8906102ca565b80601f01602080910402602001604051908101604052809291908181526020018280546101d4906102ca565b80156102215780601f106101f657610100808354040283529160200191610221565b820191906000526020600020905b81548152906001019060200180831161020457829003601f168201915b50505050509050919050565b60008181526003602052604090208054606091906101a8906102ca565b60006020828403121561025c57600080fd5b5035919050565b6000815180845260005b818110156102895760208185018101518683018201520161026d565b8181111561029b576000602083870101525b50601f01601f19169290920160200192915050565b6020815260006102c36020830184610263565b9392505050565b600181811c908216806102de57607f821691505b60208210811415610318577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b5091905056fea264697066735822122079a04c03ae3e3fa0a8f09379c086c011865216366177f8058ff79bd0d563d34764736f6c63430008090033", - "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x354 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 0xBD02D0F5 GT PUSH2 0x50 JUMPI DUP1 PUSH4 0xBD02D0F5 EQ PUSH2 0x12A JUMPI DUP1 PUSH4 0xC031A180 EQ PUSH2 0x158 JUMPI DUP1 PUSH4 0xDC97D962 EQ PUSH2 0x16B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x21F8A721 EQ PUSH2 0x77 JUMPI DUP1 PUSH4 0x7AE1CFCA EQ PUSH2 0xD7 JUMPI DUP1 PUSH4 0x986E791A EQ PUSH2 0x10A JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xAD PUSH2 0x85 CALLDATASIZE PUSH1 0x4 PUSH2 0x24A JUMP JUMPDEST PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xFA PUSH2 0xE5 CALLDATASIZE PUSH1 0x4 PUSH2 0x24A JUMP JUMPDEST PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xCE JUMP JUMPDEST PUSH2 0x11D PUSH2 0x118 CALLDATASIZE PUSH1 0x4 PUSH2 0x24A JUMP JUMPDEST PUSH2 0x18B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xCE SWAP2 SWAP1 PUSH2 0x2B0 JUMP JUMPDEST PUSH2 0x14A PUSH2 0x138 CALLDATASIZE PUSH1 0x4 PUSH2 0x24A JUMP JUMPDEST PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xCE JUMP JUMPDEST PUSH2 0x11D PUSH2 0x166 CALLDATASIZE PUSH1 0x4 PUSH2 0x24A JUMP JUMPDEST PUSH2 0x22D JUMP JUMPDEST PUSH2 0x14A PUSH2 0x179 CALLDATASIZE PUSH1 0x4 PUSH2 0x24A JUMP JUMPDEST PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x60 SWAP2 SWAP1 PUSH2 0x1A8 SWAP1 PUSH2 0x2CA 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 0x1D4 SWAP1 PUSH2 0x2CA JUMP JUMPDEST DUP1 ISZERO PUSH2 0x221 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x1F6 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x221 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 0x204 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x60 SWAP2 SWAP1 PUSH2 0x1A8 SWAP1 PUSH2 0x2CA JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x25C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x289 JUMPI PUSH1 0x20 DUP2 DUP6 ADD DUP2 ADD MLOAD DUP7 DUP4 ADD DUP3 ADD MSTORE ADD PUSH2 0x26D JUMP JUMPDEST DUP2 DUP2 GT ISZERO PUSH2 0x29B JUMPI PUSH1 0x0 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 PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0x2C3 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x263 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0x2DE JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH2 0x318 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 PUSH26 0xA04C03AE3E3FA0A8F09379C086C011865216366177F8058FF79B 0xD0 0xD5 PUSH4 0xD3476473 PUSH16 0x6C634300080900330000000000000000 ", - "sourceMap": "113:6612:0:-:0;;;;;;;;;;;;;;;;;;;" - }, - "deployedBytecode": { - "functionDebugData": { - "@getAddress_4107": { - "entryPoint": null, - "id": 4107, - "parameterSlots": 1, - "returnSlots": 1 - }, - "@getBool_4131": { - "entryPoint": null, - "id": 4131, - "parameterSlots": 1, - "returnSlots": 1 - }, - "@getBytes_4119": { - "entryPoint": 557, - "id": 4119, - "parameterSlots": 1, - "returnSlots": 1 - }, - "@getInt_4143": { - "entryPoint": null, - "id": 4143, - "parameterSlots": 1, - "returnSlots": 1 - }, - "@getString_4095": { - "entryPoint": 395, - "id": 4095, - "parameterSlots": 1, - "returnSlots": 1 - }, - "@getUint_4083": { - "entryPoint": null, - "id": 4083, - "parameterSlots": 1, - "returnSlots": 1 - }, - "abi_decode_tuple_t_bytes32": { - "entryPoint": 586, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_encode_string": { - "entryPoint": 611, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_encode_tuple_t_address__to_t_address__fromStack_reversed": { - "entryPoint": null, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed": { - "entryPoint": null, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_encode_tuple_t_bytes_memory_ptr__to_t_bytes_memory_ptr__fromStack_reversed": { - "entryPoint": null, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_encode_tuple_t_int256__to_t_int256__fromStack_reversed": { - "entryPoint": null, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed": { - "entryPoint": 688, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": { - "entryPoint": null, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "extract_byte_array_length": { - "entryPoint": 714, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - } - }, - "generatedSources": [ - { - "ast": { - "nodeType": "YulBlock", - "src": "0:2348:34", - "statements": [ - { - "nodeType": "YulBlock", - "src": "6:3:34", - "statements": [] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "84:110:34", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "130:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "139:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "142:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "132:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "132:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "132:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "105:7:34" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "114:9:34" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "101:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "101:23:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "126:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "97:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "97:32:34" - }, - "nodeType": "YulIf", - "src": "94:52:34" - }, - { - "nodeType": "YulAssignment", - "src": "155:33:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "178:9:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "165:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "165:23:34" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "155:6:34" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_bytes32", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "50:9:34", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "61:7:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "73:6:34", - "type": "" - } - ], - "src": "14:180:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "300:125:34", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "310:26:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "322:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "333:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "318:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "318:18:34" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "310:4:34" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "352:9:34" - }, - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "367:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "375:42:34", - "type": "", - "value": "0xffffffffffffffffffffffffffffffffffffffff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "363:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "363:55:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "345:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "345:74:34" - }, - "nodeType": "YulExpressionStatement", - "src": "345:74:34" - } - ] - }, - "name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "269:9:34", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "280:6:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "291:4:34", - "type": "" - } - ], - "src": "199:226:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "525:92:34", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "535:26:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "547:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "558:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "543:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "543:18:34" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "535:4:34" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "577:9:34" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "602:6:34" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "595:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "595:14:34" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "588:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "588:22:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "570:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "570:41:34" - }, - "nodeType": "YulExpressionStatement", - "src": "570:41:34" - } - ] - }, - "name": "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "494:9:34", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "505:6:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "516:4:34", - "type": "" - } - ], - "src": "430:187:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "672:422:34", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "682:26:34", - "value": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "702:5:34" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "696:5:34" - }, - "nodeType": "YulFunctionCall", - "src": "696:12:34" - }, - "variables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "686:6:34", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "724:3:34" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "729:6:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "717:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "717:19:34" - }, - "nodeType": "YulExpressionStatement", - "src": "717:19:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "745:10:34", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "754:1:34", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "i", - "nodeType": "YulTypedName", - "src": "749:1:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "816:110:34", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "830:14:34", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "840:4:34", - "type": "", - "value": "0x20" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "834:2:34", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "872:3:34" - }, - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "877:1:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "868:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "868:11:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "881:2:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "864:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "864:20:34" - }, - { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "900:5:34" - }, - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "907:1:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "896:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "896:13:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "911:2:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "892:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "892:22:34" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "886:5:34" - }, - "nodeType": "YulFunctionCall", - "src": "886:29:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "857:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "857:59:34" - }, - "nodeType": "YulExpressionStatement", - "src": "857:59:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "775:1:34" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "778:6:34" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "772:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "772:13:34" - }, - "nodeType": "YulForLoop", - "post": { - "nodeType": "YulBlock", - "src": "786:21:34", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "788:17:34", - "value": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "797:1:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "800:4:34", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "793:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "793:12:34" - }, - "variableNames": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "788:1:34" - } - ] - } - ] - }, - "pre": { - "nodeType": "YulBlock", - "src": "768:3:34", - "statements": [] - }, - "src": "764:162:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "960:62:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "989:3:34" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "994:6:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "985:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "985:16:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1003:4:34", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "981:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "981:27:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1010:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "974:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "974:38:34" - }, - "nodeType": "YulExpressionStatement", - "src": "974:38:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "941:1:34" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "944:6:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "938:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "938:13:34" - }, - "nodeType": "YulIf", - "src": "935:87:34" - }, - { - "nodeType": "YulAssignment", - "src": "1031:57:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "1046:3:34" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "1059:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1067:2:34", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1055:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1055:15:34" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1076:2:34", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "1072:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1072:7:34" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "1051:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1051:29:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1042:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1042:39:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1083:4:34", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1038:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1038:50:34" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "1031:3:34" - } - ] - } - ] - }, - "name": "abi_encode_string", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "649:5:34", - "type": "" - }, - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "656:3:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "664:3:34", - "type": "" - } - ], - "src": "622:472:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1220:99:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1237:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1248:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1230:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "1230:21:34" - }, - "nodeType": "YulExpressionStatement", - "src": "1230:21:34" - }, - { - "nodeType": "YulAssignment", - "src": "1260:53:34", - "value": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1286:6:34" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1298:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1309:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1294:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1294:18:34" - } - ], - "functionName": { - "name": "abi_encode_string", - "nodeType": "YulIdentifier", - "src": "1268:17:34" - }, - "nodeType": "YulFunctionCall", - "src": "1268:45:34" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "1260:4:34" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "1189:9:34", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "1200:6:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "1211:4:34", - "type": "" - } - ], - "src": "1099:220:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1425:76:34", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "1435:26:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1447:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1458:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1443:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1443:18:34" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "1435:4:34" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1477:9:34" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1488:6:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1470:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "1470:25:34" - }, - "nodeType": "YulExpressionStatement", - "src": "1470:25:34" - } - ] - }, - "name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "1394:9:34", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "1405:6:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "1416:4:34", - "type": "" - } - ], - "src": "1324:177:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1625:99:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1642:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1653:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1635:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "1635:21:34" - }, - "nodeType": "YulExpressionStatement", - "src": "1635:21:34" - }, - { - "nodeType": "YulAssignment", - "src": "1665:53:34", - "value": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1691:6:34" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1703:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1714:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1699:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1699:18:34" - } - ], - "functionName": { - "name": "abi_encode_string", - "nodeType": "YulIdentifier", - "src": "1673:17:34" - }, - "nodeType": "YulFunctionCall", - "src": "1673:45:34" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "1665:4:34" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_bytes_memory_ptr__to_t_bytes_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "1594:9:34", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "1605:6:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "1616:4:34", - "type": "" - } - ], - "src": "1506:218:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1828:76:34", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "1838:26:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1850:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1861:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1846:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1846:18:34" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "1838:4:34" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1880:9:34" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1891:6:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1873:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "1873:25:34" - }, - "nodeType": "YulExpressionStatement", - "src": "1873:25:34" - } - ] - }, - "name": "abi_encode_tuple_t_int256__to_t_int256__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "1797:9:34", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "1808:6:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "1819:4:34", - "type": "" - } - ], - "src": "1729:175:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1964:382:34", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "1974:22:34", - "value": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1988:1:34", - "type": "", - "value": "1" - }, - { - "name": "data", - "nodeType": "YulIdentifier", - "src": "1991:4:34" - } - ], - "functionName": { - "name": "shr", - "nodeType": "YulIdentifier", - "src": "1984:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1984:12:34" - }, - "variableNames": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "1974:6:34" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "2005:38:34", - "value": { - "arguments": [ - { - "name": "data", - "nodeType": "YulIdentifier", - "src": "2035:4:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2041:1:34", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "2031:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "2031:12:34" - }, - "variables": [ - { - "name": "outOfPlaceEncoding", - "nodeType": "YulTypedName", - "src": "2009:18:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2082:31:34", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "2084:27:34", - "value": { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "2098:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2106:4:34", - "type": "", - "value": "0x7f" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "2094:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "2094:17:34" - }, - "variableNames": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "2084:6:34" - } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "outOfPlaceEncoding", - "nodeType": "YulIdentifier", - "src": "2062:18:34" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "2055:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "2055:26:34" - }, - "nodeType": "YulIf", - "src": "2052:61:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2172:168:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2193:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2196:77:34", - "type": "", - "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2186:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "2186:88:34" - }, - "nodeType": "YulExpressionStatement", - "src": "2186:88:34" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2294:1:34", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2297:4:34", - "type": "", - "value": "0x22" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2287:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "2287:15:34" - }, - "nodeType": "YulExpressionStatement", - "src": "2287:15:34" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2322:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2325:4:34", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "2315:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "2315:15:34" - }, - "nodeType": "YulExpressionStatement", - "src": "2315:15:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "outOfPlaceEncoding", - "nodeType": "YulIdentifier", - "src": "2128:18:34" - }, - { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "2151:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2159:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "2148:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "2148:14:34" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "2125:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "2125:38:34" - }, - "nodeType": "YulIf", - "src": "2122:218:34" - } - ] - }, - "name": "extract_byte_array_length", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "data", - "nodeType": "YulTypedName", - "src": "1944:4:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "1953:6:34", - "type": "" - } - ], - "src": "1909:437:34" - } - ] - }, - "contents": "{\n { }\n function abi_decode_tuple_t_bytes32(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n value0 := calldataload(headStart)\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_string(value, pos) -> end\n {\n let length := mload(value)\n mstore(pos, length)\n let i := 0\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), 0)\n }\n end := add(add(pos, and(add(length, 31), not(31))), 0x20)\n }\n function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n {\n mstore(headStart, 32)\n tail := abi_encode_string(value0, add(headStart, 32))\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_bytes_memory_ptr__to_t_bytes_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n {\n mstore(headStart, 32)\n tail := abi_encode_string(value0, add(headStart, 32))\n }\n function abi_encode_tuple_t_int256__to_t_int256__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, value0)\n }\n function extract_byte_array_length(data) -> length\n {\n length := shr(1, data)\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": 34, - "language": "Yul", - "name": "#utility.yul" - } - ], - "immutableReferences": {}, - "linkReferences": {}, - "object": "608060405234801561001057600080fd5b50600436106100725760003560e01c8063bd02d0f511610050578063bd02d0f51461012a578063c031a18014610158578063dc97d9621461016b57600080fd5b806321f8a721146100775780637ae1cfca146100d7578063986e791a1461010a575b600080fd5b6100ad61008536600461024a565b60009081526002602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b6100fa6100e536600461024a565b60009081526004602052604090205460ff1690565b60405190151581526020016100ce565b61011d61011836600461024a565b61018b565b6040516100ce91906102b0565b61014a61013836600461024a565b60009081526020819052604090205490565b6040519081526020016100ce565b61011d61016636600461024a565b61022d565b61014a61017936600461024a565b60009081526005602052604090205490565b60008181526001602052604090208054606091906101a8906102ca565b80601f01602080910402602001604051908101604052809291908181526020018280546101d4906102ca565b80156102215780601f106101f657610100808354040283529160200191610221565b820191906000526020600020905b81548152906001019060200180831161020457829003601f168201915b50505050509050919050565b60008181526003602052604090208054606091906101a8906102ca565b60006020828403121561025c57600080fd5b5035919050565b6000815180845260005b818110156102895760208185018101518683018201520161026d565b8181111561029b576000602083870101525b50601f01601f19169290920160200192915050565b6020815260006102c36020830184610263565b9392505050565b600181811c908216806102de57607f821691505b60208210811415610318577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b5091905056fea264697066735822122079a04c03ae3e3fa0a8f09379c086c011865216366177f8058ff79bd0d563d34764736f6c63430008090033", - "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 0xBD02D0F5 GT PUSH2 0x50 JUMPI DUP1 PUSH4 0xBD02D0F5 EQ PUSH2 0x12A JUMPI DUP1 PUSH4 0xC031A180 EQ PUSH2 0x158 JUMPI DUP1 PUSH4 0xDC97D962 EQ PUSH2 0x16B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x21F8A721 EQ PUSH2 0x77 JUMPI DUP1 PUSH4 0x7AE1CFCA EQ PUSH2 0xD7 JUMPI DUP1 PUSH4 0x986E791A EQ PUSH2 0x10A JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xAD PUSH2 0x85 CALLDATASIZE PUSH1 0x4 PUSH2 0x24A JUMP JUMPDEST PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xFA PUSH2 0xE5 CALLDATASIZE PUSH1 0x4 PUSH2 0x24A JUMP JUMPDEST PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xCE JUMP JUMPDEST PUSH2 0x11D PUSH2 0x118 CALLDATASIZE PUSH1 0x4 PUSH2 0x24A JUMP JUMPDEST PUSH2 0x18B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xCE SWAP2 SWAP1 PUSH2 0x2B0 JUMP JUMPDEST PUSH2 0x14A PUSH2 0x138 CALLDATASIZE PUSH1 0x4 PUSH2 0x24A JUMP JUMPDEST PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xCE JUMP JUMPDEST PUSH2 0x11D PUSH2 0x166 CALLDATASIZE PUSH1 0x4 PUSH2 0x24A JUMP JUMPDEST PUSH2 0x22D JUMP JUMPDEST PUSH2 0x14A PUSH2 0x179 CALLDATASIZE PUSH1 0x4 PUSH2 0x24A JUMP JUMPDEST PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x60 SWAP2 SWAP1 PUSH2 0x1A8 SWAP1 PUSH2 0x2CA 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 0x1D4 SWAP1 PUSH2 0x2CA JUMP JUMPDEST DUP1 ISZERO PUSH2 0x221 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x1F6 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x221 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 0x204 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x60 SWAP2 SWAP1 PUSH2 0x1A8 SWAP1 PUSH2 0x2CA JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x25C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x289 JUMPI PUSH1 0x20 DUP2 DUP6 ADD DUP2 ADD MLOAD DUP7 DUP4 ADD DUP3 ADD MSTORE ADD PUSH2 0x26D JUMP JUMPDEST DUP2 DUP2 GT ISZERO PUSH2 0x29B JUMPI PUSH1 0x0 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 PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0x2C3 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x263 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0x2DE JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH2 0x318 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 PUSH26 0xA04C03AE3E3FA0A8F09379C086C011865216366177F8058FF79B 0xD0 0xD5 PUSH4 0xD3476473 PUSH16 0x6C634300080900330000000000000000 ", - "sourceMap": "113:6612:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;801:107:9;;;;;;:::i;:::-;855:7;881:20;;;:15;:20;;;;;;;;;801:107;;;;375:42:34;363:55;;;345:74;;333:2;318:18;801:107:9;;;;;;;;1028:98;;;;;;:::i;:::-;1079:4;1102:17;;;:12;:17;;;;;;;;;1028:98;;;;595:14:34;;588:22;570:41;;558:2;543:18;1028:98:9;430:187:34;684:111:9;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;577:101::-;;;;;;:::i;:::-;628:7;654:17;;;;;;;;;;;;577:101;;;;1470:25:34;;;1458:2;1443:18;577:101:9;1324:177:34;914:108:9;;;;;;:::i;:::-;;:::i;1132:98::-;;;;;;:::i;:::-;1182:6;1207:16;;;:11;:16;;;;;;;1132:98;684:111;769:19;;;;:14;:19;;;;;762:26;;737:13;;769:19;762:26;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;684:111;;;:::o;914:108::-;997:18;;;;:13;:18;;;;;990:25;;966:12;;997:18;990:25;;;:::i;14:180:34:-;73:6;126:2;114:9;105:7;101:23;97:32;94:52;;;142:1;139;132:12;94:52;-1:-1:-1;165:23:34;;14:180;-1:-1:-1;14:180:34:o;622:472::-;664:3;702:5;696:12;729:6;724:3;717:19;754:1;764:162;778:6;775:1;772:13;764:162;;;840:4;896:13;;;892:22;;886:29;868:11;;;864:20;;857:59;793:12;764:162;;;944:6;941:1;938:13;935:87;;;1010:1;1003:4;994:6;989:3;985:16;981:27;974:38;935:87;-1:-1:-1;1076:2:34;1055:15;-1:-1:-1;;1051:29:34;1042:39;;;;1083:4;1038:50;;622:472;-1:-1:-1;;622:472:34:o;1099:220::-;1248:2;1237:9;1230:21;1211:4;1268:45;1309:2;1298:9;1294:18;1286:6;1268:45;:::i;:::-;1260:53;1099:220;-1:-1:-1;;;1099:220:34:o;1909:437::-;1988:1;1984:12;;;;2031;;;2052:61;;2106:4;2098:6;2094:17;2084:27;;2052:61;2159:2;2151:6;2148:14;2128:18;2125:38;2122:218;;;2196:77;2193:1;2186:88;2297:4;2294:1;2287:15;2325:4;2322:1;2315:15;2122:218;;1909:437;;;:::o" - }, - "methodIdentifiers": { - "getAddress(bytes32)": "21f8a721", - "getBool(bytes32)": "7ae1cfca", - "getBytes(bytes32)": "c031a180", - "getInt(bytes32)": "dc97d962", - "getString(bytes32)": "986e791a", - "getUint(bytes32)": "bd02d0f5" - } - }, - "metadata": "{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"AlreadyVoted\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"admin\",\"type\":\"address\"}],\"name\":\"DuplicateAdmin\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidAdminThreshold\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidAdmins\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotAdmin\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"key\",\"type\":\"bytes32\"}],\"name\":\"getAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"key\",\"type\":\"bytes32\"}],\"name\":\"getBool\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"key\",\"type\":\"bytes32\"}],\"name\":\"getBytes\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"key\",\"type\":\"bytes32\"}],\"name\":\"getInt\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"key\",\"type\":\"bytes32\"}],\"name\":\"getString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"key\",\"type\":\"bytes32\"}],\"name\":\"getUint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@axelar-network/axelar-cgp-solidity/contracts/AdminMultisigBase.sol\":\"AdminMultisigBase\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1000},\"remappings\":[]},\"sources\":{\"@axelar-network/axelar-cgp-solidity/contracts/AdminMultisigBase.sol\":{\"keccak256\":\"0x625f093d87b5a34722f7ccb270e4cb63b77f9f82c5123974b82afddd3b02a0b9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ce2310cce667d4dd80016424572753ba5921224e2ade80fa7a4d3ace7c60f667\",\"dweb:/ipfs/QmR9edGpuyuxMYHQkDaC7Zumnm9tbtLXARgMVqz9KFzFui\"]},\"@axelar-network/axelar-cgp-solidity/contracts/EternalStorage.sol\":{\"keccak256\":\"0x112fe354a00bc09d30d7e914cd9b6680df3830a6118ce806b6c1c92677a46be7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f0b5cdcf41522fd7c8bd390820845c89396af31fed48bf344743ce0826b729d\",\"dweb:/ipfs/QmUX6qUgzk8M84GNdHiVu6F1zSsUSXsG2kq6Vi7oybTFrE\"]}},\"version\":1}" - } - }, - "@axelar-network/axelar-cgp-solidity/contracts/AxelarAuthMultisig.sol": { - "AxelarAuthMultisig": { - "abi": [ - { - "inputs": [ - { - "internalType": "bytes[]", - "name": "recentOperators", - "type": "bytes[]" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "name": "InvalidOperators", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidOwner", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidS", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidSignature", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidSignatureLength", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidThreshold", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidV", - "type": "error" - }, - { - "inputs": [], - "name": "MalformedSigners", - "type": "error" - }, - { - "inputs": [], - "name": "NotOwner", - "type": "error" - }, - { - "inputs": [], - "name": "SameOperators", - "type": "error" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address[]", - "name": "newOperators", - "type": "address[]" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "newThreshold", - "type": "uint256" - } - ], - "name": "OperatorshipTransferred", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "inputs": [], - "name": "currentEpoch", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "name": "epochForHash", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "hashForEpoch", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "params", - "type": "bytes" - } - ], - "name": "transferOperatorship", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "messageHash", - "type": "bytes32" - }, - { - "internalType": "bytes", - "name": "proof", - "type": "bytes" - } - ], - "name": "validateProof", - "outputs": [ - { - "internalType": "bool", - "name": "currentOperators", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "evm": { - "bytecode": { - "functionDebugData": { - "@_4398": { - "entryPoint": null, - "id": 4398, - "parameterSlots": 0, - "returnSlots": 0 - }, - "@_643": { - "entryPoint": null, - "id": 643, - "parameterSlots": 1, - "returnSlots": 0 - }, - "@_isSortedAscAndContainsNoDuplicate_946": { - "entryPoint": 515, - "id": 946, - "parameterSlots": 1, - "returnSlots": 1 - }, - "@_transferOperatorship_825": { - "entryPoint": 200, - "id": 825, - "parameterSlots": 1, - "returnSlots": 0 - }, - "abi_decode_tuple_t_array$_t_address_$dyn_memory_ptrt_uint256_fromMemory": { - "entryPoint": 1291, - "id": null, - "parameterSlots": 2, - "returnSlots": 2 - }, - "abi_decode_tuple_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_fromMemory": { - "entryPoint": 899, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_encode_tuple_t_array$_t_address_$dyn_memory_ptr_t_uint256__to_t_array$_t_address_$dyn_memory_ptr_t_uint256__fromStack_reversed": { - "entryPoint": 1502, - "id": null, - "parameterSlots": 3, - "returnSlots": 1 - }, - "allocate_memory": { - "entryPoint": 810, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "array_allocation_size_array_bytes_dyn": { - "entryPoint": 861, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "checked_add_t_uint256": { - "entryPoint": 1475, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "checked_sub_t_uint256": { - "entryPoint": 1585, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "increment_t_uint256": { - "entryPoint": 1261, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "panic_error_0x11": { - "entryPoint": 1239, - "id": null, - "parameterSlots": 0, - "returnSlots": 0 - }, - "panic_error_0x32": { - "entryPoint": 1217, - "id": null, - "parameterSlots": 0, - "returnSlots": 0 - }, - "panic_error_0x41": { - "entryPoint": 788, - "id": null, - "parameterSlots": 0, - "returnSlots": 0 - } - }, - "generatedSources": [ - { - "ast": { - "nodeType": "YulBlock", - "src": "0:5060:34", - "statements": [ - { - "nodeType": "YulBlock", - "src": "6:3:34", - "statements": [] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "46:95:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "63:1:34", - "type": "", - "value": "0" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "70:3:34", - "type": "", - "value": "224" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "75:10:34", - "type": "", - "value": "0x4e487b71" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "66:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "66:20:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "56:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "56:31:34" - }, - "nodeType": "YulExpressionStatement", - "src": "56:31:34" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "103:1:34", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "106:4:34", - "type": "", - "value": "0x41" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "96:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "96:15:34" - }, - "nodeType": "YulExpressionStatement", - "src": "96:15:34" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "127:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "130:4:34", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "120:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "120:15:34" - }, - "nodeType": "YulExpressionStatement", - "src": "120:15:34" - } - ] - }, - "name": "panic_error_0x41", - "nodeType": "YulFunctionDefinition", - "src": "14:127:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "191:230:34", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "201:19:34", - "value": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "217:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "211:5:34" - }, - "nodeType": "YulFunctionCall", - "src": "211:9:34" - }, - "variableNames": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "201:6:34" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "229:58:34", - "value": { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "251:6:34" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "size", - "nodeType": "YulIdentifier", - "src": "267:4:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "273:2:34", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "263:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "263:13:34" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "282:2:34", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "278:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "278:7:34" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "259:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "259:27:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "247:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "247:40:34" - }, - "variables": [ - { - "name": "newFreePtr", - "nodeType": "YulTypedName", - "src": "233:10:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "362:22:34", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x41", - "nodeType": "YulIdentifier", - "src": "364:16:34" - }, - "nodeType": "YulFunctionCall", - "src": "364:18:34" - }, - "nodeType": "YulExpressionStatement", - "src": "364:18:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "newFreePtr", - "nodeType": "YulIdentifier", - "src": "305:10:34" - }, - { - "arguments": [ - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "325:2:34", - "type": "", - "value": "64" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "329:1:34", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "321:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "321:10:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "333:1:34", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "317:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "317:18:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "302:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "302:34:34" - }, - { - "arguments": [ - { - "name": "newFreePtr", - "nodeType": "YulIdentifier", - "src": "341:10:34" - }, - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "353:6:34" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "338:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "338:22:34" - } - ], - "functionName": { - "name": "or", - "nodeType": "YulIdentifier", - "src": "299:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "299:62:34" - }, - "nodeType": "YulIf", - "src": "296:88:34" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "400:2:34", - "type": "", - "value": "64" - }, - { - "name": "newFreePtr", - "nodeType": "YulIdentifier", - "src": "404:10:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "393:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "393:22:34" - }, - "nodeType": "YulExpressionStatement", - "src": "393:22:34" - } - ] - }, - "name": "allocate_memory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "size", - "nodeType": "YulTypedName", - "src": "171:4:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "memPtr", - "nodeType": "YulTypedName", - "src": "180:6:34", - "type": "" - } - ], - "src": "146:275:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "493:114:34", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "537:22:34", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x41", - "nodeType": "YulIdentifier", - "src": "539:16:34" - }, - "nodeType": "YulFunctionCall", - "src": "539:18:34" - }, - "nodeType": "YulExpressionStatement", - "src": "539:18:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "509:6:34" - }, - { - "arguments": [ - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "525:2:34", - "type": "", - "value": "64" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "529:1:34", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "521:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "521:10:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "533:1:34", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "517:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "517:18:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "506:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "506:30:34" - }, - "nodeType": "YulIf", - "src": "503:56:34" - }, - { - "nodeType": "YulAssignment", - "src": "568:33:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "584:1:34", - "type": "", - "value": "5" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "587:6:34" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "580:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "580:14:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "596:4:34", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "576:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "576:25:34" - }, - "variableNames": [ - { - "name": "size", - "nodeType": "YulIdentifier", - "src": "568:4:34" - } - ] - } - ] - }, - "name": "array_allocation_size_array_bytes_dyn", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "473:6:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "size", - "nodeType": "YulTypedName", - "src": "484:4:34", - "type": "" - } - ], - "src": "426:181:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "727:1797:34", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "737:12:34", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "747:2:34", - "type": "", - "value": "32" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "741:2:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "794:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "803:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "806:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "796:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "796:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "796:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "769:7:34" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "778:9:34" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "765:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "765:23:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "790:2:34" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "761:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "761:32:34" - }, - "nodeType": "YulIf", - "src": "758:52:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "819:30:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "839:9:34" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "833:5:34" - }, - "nodeType": "YulFunctionCall", - "src": "833:16:34" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "823:6:34", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "858:28:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "876:2:34", - "type": "", - "value": "64" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "880:1:34", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "872:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "872:10:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "884:1:34", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "868:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "868:18:34" - }, - "variables": [ - { - "name": "_2", - "nodeType": "YulTypedName", - "src": "862:2:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "913:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "922:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "925:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "915:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "915:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "915:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "901:6:34" - }, - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "909:2:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "898:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "898:14:34" - }, - "nodeType": "YulIf", - "src": "895:34:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "938:32:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "952:9:34" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "963:6:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "948:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "948:22:34" - }, - "variables": [ - { - "name": "_3", - "nodeType": "YulTypedName", - "src": "942:2:34", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "979:14:34", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "989:4:34", - "type": "", - "value": "0x1f" - }, - "variables": [ - { - "name": "_4", - "nodeType": "YulTypedName", - "src": "983:2:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1039:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1048:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1051:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "1041:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "1041:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "1041:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "_3", - "nodeType": "YulIdentifier", - "src": "1020:2:34" - }, - { - "name": "_4", - "nodeType": "YulIdentifier", - "src": "1024:2:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1016:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1016:11:34" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "1029:7:34" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "1012:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1012:25:34" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "1005:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "1005:33:34" - }, - "nodeType": "YulIf", - "src": "1002:53:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1064:19:34", - "value": { - "arguments": [ - { - "name": "_3", - "nodeType": "YulIdentifier", - "src": "1080:2:34" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "1074:5:34" - }, - "nodeType": "YulFunctionCall", - "src": "1074:9:34" - }, - "variables": [ - { - "name": "_5", - "nodeType": "YulTypedName", - "src": "1068:2:34", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1092:69:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "_5", - "nodeType": "YulIdentifier", - "src": "1157:2:34" - } - ], - "functionName": { - "name": "array_allocation_size_array_bytes_dyn", - "nodeType": "YulIdentifier", - "src": "1119:37:34" - }, - "nodeType": "YulFunctionCall", - "src": "1119:41:34" - } - ], - "functionName": { - "name": "allocate_memory", - "nodeType": "YulIdentifier", - "src": "1103:15:34" - }, - "nodeType": "YulFunctionCall", - "src": "1103:58:34" - }, - "variables": [ - { - "name": "dst", - "nodeType": "YulTypedName", - "src": "1096:3:34", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1170:16:34", - "value": { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "1183:3:34" - }, - "variables": [ - { - "name": "dst_1", - "nodeType": "YulTypedName", - "src": "1174:5:34", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "1202:3:34" - }, - { - "name": "_5", - "nodeType": "YulIdentifier", - "src": "1207:2:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1195:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "1195:15:34" - }, - "nodeType": "YulExpressionStatement", - "src": "1195:15:34" - }, - { - "nodeType": "YulAssignment", - "src": "1219:19:34", - "value": { - "arguments": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "1230:3:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "1235:2:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1226:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1226:12:34" - }, - "variableNames": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "1219:3:34" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1247:42:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "_3", - "nodeType": "YulIdentifier", - "src": "1269:2:34" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1277:1:34", - "type": "", - "value": "5" - }, - { - "name": "_5", - "nodeType": "YulIdentifier", - "src": "1280:2:34" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "1273:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1273:10:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1265:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1265:19:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "1286:2:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1261:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1261:28:34" - }, - "variables": [ - { - "name": "srcEnd", - "nodeType": "YulTypedName", - "src": "1251:6:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1321:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1330:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1333:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "1323:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "1323:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "1323:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "srcEnd", - "nodeType": "YulIdentifier", - "src": "1304:6:34" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "1312:7:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "1301:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "1301:19:34" - }, - "nodeType": "YulIf", - "src": "1298:39:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1346:22:34", - "value": { - "arguments": [ - { - "name": "_3", - "nodeType": "YulIdentifier", - "src": "1361:2:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "1365:2:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1357:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1357:11:34" - }, - "variables": [ - { - "name": "src", - "nodeType": "YulTypedName", - "src": "1350:3:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1433:1061:34", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "1447:29:34", - "value": { - "arguments": [ - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "1472:3:34" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "1466:5:34" - }, - "nodeType": "YulFunctionCall", - "src": "1466:10:34" - }, - "variables": [ - { - "name": "innerOffset", - "nodeType": "YulTypedName", - "src": "1451:11:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1524:74:34", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "1542:11:34", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1552:1:34", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "_6", - "nodeType": "YulTypedName", - "src": "1546:2:34", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "_6", - "nodeType": "YulIdentifier", - "src": "1577:2:34" - }, - { - "name": "_6", - "nodeType": "YulIdentifier", - "src": "1581:2:34" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "1570:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "1570:14:34" - }, - "nodeType": "YulExpressionStatement", - "src": "1570:14:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "innerOffset", - "nodeType": "YulIdentifier", - "src": "1495:11:34" - }, - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "1508:2:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "1492:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "1492:19:34" - }, - "nodeType": "YulIf", - "src": "1489:109:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1611:30:34", - "value": { - "arguments": [ - { - "name": "_3", - "nodeType": "YulIdentifier", - "src": "1625:2:34" - }, - { - "name": "innerOffset", - "nodeType": "YulIdentifier", - "src": "1629:11:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1621:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1621:20:34" - }, - "variables": [ - { - "name": "_7", - "nodeType": "YulTypedName", - "src": "1615:2:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1703:74:34", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "1721:11:34", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1731:1:34", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "_8", - "nodeType": "YulTypedName", - "src": "1725:2:34", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "_8", - "nodeType": "YulIdentifier", - "src": "1756:2:34" - }, - { - "name": "_8", - "nodeType": "YulIdentifier", - "src": "1760:2:34" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "1749:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "1749:14:34" - }, - "nodeType": "YulExpressionStatement", - "src": "1749:14:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "_7", - "nodeType": "YulIdentifier", - "src": "1672:2:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1676:2:34", - "type": "", - "value": "63" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1668:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1668:11:34" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "1681:7:34" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "1664:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1664:25:34" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "1657:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "1657:33:34" - }, - "nodeType": "YulIf", - "src": "1654:123:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1790:28:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "_7", - "nodeType": "YulIdentifier", - "src": "1810:2:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "1814:2:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1806:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1806:11:34" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "1800:5:34" - }, - "nodeType": "YulFunctionCall", - "src": "1800:18:34" - }, - "variables": [ - { - "name": "_9", - "nodeType": "YulTypedName", - "src": "1794:2:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1845:22:34", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x41", - "nodeType": "YulIdentifier", - "src": "1847:16:34" - }, - "nodeType": "YulFunctionCall", - "src": "1847:18:34" - }, - "nodeType": "YulExpressionStatement", - "src": "1847:18:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "_9", - "nodeType": "YulIdentifier", - "src": "1837:2:34" - }, - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "1841:2:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "1834:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "1834:10:34" - }, - "nodeType": "YulIf", - "src": "1831:36:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1880:64:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "_9", - "nodeType": "YulIdentifier", - "src": "1921:2:34" - }, - { - "name": "_4", - "nodeType": "YulIdentifier", - "src": "1925:2:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1917:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1917:11:34" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1934:2:34", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "1930:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1930:7:34" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "1913:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1913:25:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "1940:2:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1909:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1909:34:34" - } - ], - "functionName": { - "name": "allocate_memory", - "nodeType": "YulIdentifier", - "src": "1893:15:34" - }, - "nodeType": "YulFunctionCall", - "src": "1893:51:34" - }, - "variables": [ - { - "name": "array", - "nodeType": "YulTypedName", - "src": "1884:5:34", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "array", - "nodeType": "YulIdentifier", - "src": "1964:5:34" - }, - { - "name": "_9", - "nodeType": "YulIdentifier", - "src": "1971:2:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1957:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "1957:17:34" - }, - "nodeType": "YulExpressionStatement", - "src": "1957:17:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1987:13:34", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1998:2:34", - "type": "", - "value": "64" - }, - "variables": [ - { - "name": "_10", - "nodeType": "YulTypedName", - "src": "1991:3:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2063:77:34", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "2081:12:34", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2092:1:34", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "_11", - "nodeType": "YulTypedName", - "src": "2085:3:34", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "_11", - "nodeType": "YulIdentifier", - "src": "2117:3:34" - }, - { - "name": "_11", - "nodeType": "YulIdentifier", - "src": "2122:3:34" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "2110:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "2110:16:34" - }, - "nodeType": "YulExpressionStatement", - "src": "2110:16:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "_7", - "nodeType": "YulIdentifier", - "src": "2027:2:34" - }, - { - "name": "_9", - "nodeType": "YulIdentifier", - "src": "2031:2:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2023:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "2023:11:34" - }, - { - "name": "_10", - "nodeType": "YulIdentifier", - "src": "2036:3:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2019:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "2019:21:34" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "2042:7:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "2016:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "2016:34:34" - }, - "nodeType": "YulIf", - "src": "2013:127:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "2153:10:34", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2162:1:34", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "i", - "nodeType": "YulTypedName", - "src": "2157:1:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2226:91:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "array", - "nodeType": "YulIdentifier", - "src": "2259:5:34" - }, - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "2266:1:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2255:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "2255:13:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "2270:2:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2251:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "2251:22:34" - }, - { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "_7", - "nodeType": "YulIdentifier", - "src": "2289:2:34" - }, - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "2293:1:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2285:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "2285:10:34" - }, - { - "name": "_10", - "nodeType": "YulIdentifier", - "src": "2297:3:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2281:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "2281:20:34" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "2275:5:34" - }, - "nodeType": "YulFunctionCall", - "src": "2275:27:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2244:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "2244:59:34" - }, - "nodeType": "YulExpressionStatement", - "src": "2244:59:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "2187:1:34" - }, - { - "name": "_9", - "nodeType": "YulIdentifier", - "src": "2190:2:34" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "2184:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "2184:9:34" - }, - "nodeType": "YulForLoop", - "post": { - "nodeType": "YulBlock", - "src": "2194:19:34", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "2196:15:34", - "value": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "2205:1:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "2208:2:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2201:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "2201:10:34" - }, - "variableNames": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "2196:1:34" - } - ] - } - ] - }, - "pre": { - "nodeType": "YulBlock", - "src": "2180:3:34", - "statements": [] - }, - "src": "2176:141:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2355:66:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "array", - "nodeType": "YulIdentifier", - "src": "2388:5:34" - }, - { - "name": "_9", - "nodeType": "YulIdentifier", - "src": "2395:2:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2384:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "2384:14:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "2400:2:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2380:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "2380:23:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2405:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2373:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "2373:34:34" - }, - "nodeType": "YulExpressionStatement", - "src": "2373:34:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "2336:1:34" - }, - { - "name": "_9", - "nodeType": "YulIdentifier", - "src": "2339:2:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "2333:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "2333:9:34" - }, - "nodeType": "YulIf", - "src": "2330:91:34" - }, - { - "expression": { - "arguments": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "2441:3:34" - }, - { - "name": "array", - "nodeType": "YulIdentifier", - "src": "2446:5:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2434:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "2434:18:34" - }, - "nodeType": "YulExpressionStatement", - "src": "2434:18:34" - }, - { - "nodeType": "YulAssignment", - "src": "2465:19:34", - "value": { - "arguments": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "2476:3:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "2481:2:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2472:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "2472:12:34" - }, - "variableNames": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "2465:3:34" - } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "1388:3:34" - }, - { - "name": "srcEnd", - "nodeType": "YulIdentifier", - "src": "1393:6:34" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "1385:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "1385:15:34" - }, - "nodeType": "YulForLoop", - "post": { - "nodeType": "YulBlock", - "src": "1401:23:34", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "1403:19:34", - "value": { - "arguments": [ - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "1414:3:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "1419:2:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1410:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1410:12:34" - }, - "variableNames": [ - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "1403:3:34" - } - ] - } - ] - }, - "pre": { - "nodeType": "YulBlock", - "src": "1381:3:34", - "statements": [] - }, - "src": "1377:1117:34" - }, - { - "nodeType": "YulAssignment", - "src": "2503:15:34", - "value": { - "name": "dst_1", - "nodeType": "YulIdentifier", - "src": "2513:5:34" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "2503:6:34" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_fromMemory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "693:9:34", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "704:7:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "716:6:34", - "type": "" - } - ], - "src": "612:1912:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2561:95:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2578:1:34", - "type": "", - "value": "0" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2585:3:34", - "type": "", - "value": "224" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2590:10:34", - "type": "", - "value": "0x4e487b71" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "2581:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "2581:20:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2571:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "2571:31:34" - }, - "nodeType": "YulExpressionStatement", - "src": "2571:31:34" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2618:1:34", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2621:4:34", - "type": "", - "value": "0x32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2611:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "2611:15:34" - }, - "nodeType": "YulExpressionStatement", - "src": "2611:15:34" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2642:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2645:4:34", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "2635:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "2635:15:34" - }, - "nodeType": "YulExpressionStatement", - "src": "2635:15:34" - } - ] - }, - "name": "panic_error_0x32", - "nodeType": "YulFunctionDefinition", - "src": "2529:127:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2693:95:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2710:1:34", - "type": "", - "value": "0" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2717:3:34", - "type": "", - "value": "224" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2722:10:34", - "type": "", - "value": "0x4e487b71" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "2713:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "2713:20:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2703:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "2703:31:34" - }, - "nodeType": "YulExpressionStatement", - "src": "2703:31:34" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2750:1:34", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2753:4:34", - "type": "", - "value": "0x11" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2743:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "2743:15:34" - }, - "nodeType": "YulExpressionStatement", - "src": "2743:15:34" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2774:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2777:4:34", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "2767:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "2767:15:34" - }, - "nodeType": "YulExpressionStatement", - "src": "2767:15:34" - } - ] - }, - "name": "panic_error_0x11", - "nodeType": "YulFunctionDefinition", - "src": "2661:127:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2840:88:34", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "2871:22:34", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x11", - "nodeType": "YulIdentifier", - "src": "2873:16:34" - }, - "nodeType": "YulFunctionCall", - "src": "2873:18:34" - }, - "nodeType": "YulExpressionStatement", - "src": "2873:18:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "2856:5:34" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2867:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "2863:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "2863:6:34" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "2853:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "2853:17:34" - }, - "nodeType": "YulIf", - "src": "2850:43:34" - }, - { - "nodeType": "YulAssignment", - "src": "2902:20:34", - "value": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "2913:5:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2920:1:34", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2909:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "2909:13:34" - }, - "variableNames": [ - { - "name": "ret", - "nodeType": "YulIdentifier", - "src": "2902:3:34" - } - ] - } - ] - }, - "name": "increment_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "2822:5:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "ret", - "nodeType": "YulTypedName", - "src": "2832:3:34", - "type": "" - } - ], - "src": "2793:135:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3056:1003:34", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "3102:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3111:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3114:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "3104:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "3104:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "3104:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "3077:7:34" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3086:9:34" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "3073:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "3073:23:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3098:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "3069:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "3069:32:34" - }, - "nodeType": "YulIf", - "src": "3066:52:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "3127:30:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3147:9:34" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "3141:5:34" - }, - "nodeType": "YulFunctionCall", - "src": "3141:16:34" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "3131:6:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3200:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3209:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3212:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "3202:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "3202:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "3202:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "3172:6:34" - }, - { - "arguments": [ - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3188:2:34", - "type": "", - "value": "64" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3192:1:34", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "3184:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "3184:10:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3196:1:34", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "3180:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "3180:18:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "3169:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "3169:30:34" - }, - "nodeType": "YulIf", - "src": "3166:50:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "3225:32:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3239:9:34" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "3250:6:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3235:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "3235:22:34" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "3229:2:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3305:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3314:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3317:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "3307:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "3307:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "3307:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "3284:2:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3288:4:34", - "type": "", - "value": "0x1f" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3280:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "3280:13:34" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "3295:7:34" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "3276:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "3276:27:34" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "3269:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "3269:35:34" - }, - "nodeType": "YulIf", - "src": "3266:55:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "3330:19:34", - "value": { - "arguments": [ - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "3346:2:34" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "3340:5:34" - }, - "nodeType": "YulFunctionCall", - "src": "3340:9:34" - }, - "variables": [ - { - "name": "_2", - "nodeType": "YulTypedName", - "src": "3334:2:34", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "3358:14:34", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3368:4:34", - "type": "", - "value": "0x20" - }, - "variables": [ - { - "name": "_3", - "nodeType": "YulTypedName", - "src": "3362:2:34", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "3381:69:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "3446:2:34" - } - ], - "functionName": { - "name": "array_allocation_size_array_bytes_dyn", - "nodeType": "YulIdentifier", - "src": "3408:37:34" - }, - "nodeType": "YulFunctionCall", - "src": "3408:41:34" - } - ], - "functionName": { - "name": "allocate_memory", - "nodeType": "YulIdentifier", - "src": "3392:15:34" - }, - "nodeType": "YulFunctionCall", - "src": "3392:58:34" - }, - "variables": [ - { - "name": "dst", - "nodeType": "YulTypedName", - "src": "3385:3:34", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "3459:16:34", - "value": { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "3472:3:34" - }, - "variables": [ - { - "name": "dst_1", - "nodeType": "YulTypedName", - "src": "3463:5:34", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "3491:3:34" - }, - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "3496:2:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "3484:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "3484:15:34" - }, - "nodeType": "YulExpressionStatement", - "src": "3484:15:34" - }, - { - "nodeType": "YulAssignment", - "src": "3508:19:34", - "value": { - "arguments": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "3519:3:34" - }, - { - "name": "_3", - "nodeType": "YulIdentifier", - "src": "3524:2:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3515:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "3515:12:34" - }, - "variableNames": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "3508:3:34" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "3536:42:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "3558:2:34" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3566:1:34", - "type": "", - "value": "5" - }, - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "3569:2:34" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "3562:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "3562:10:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3554:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "3554:19:34" - }, - { - "name": "_3", - "nodeType": "YulIdentifier", - "src": "3575:2:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3550:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "3550:28:34" - }, - "variables": [ - { - "name": "srcEnd", - "nodeType": "YulTypedName", - "src": "3540:6:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3610:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3619:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3622:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "3612:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "3612:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "3612:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "srcEnd", - "nodeType": "YulIdentifier", - "src": "3593:6:34" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "3601:7:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "3590:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "3590:19:34" - }, - "nodeType": "YulIf", - "src": "3587:39:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "3635:22:34", - "value": { - "arguments": [ - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "3650:2:34" - }, - { - "name": "_3", - "nodeType": "YulIdentifier", - "src": "3654:2:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3646:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "3646:11:34" - }, - "variables": [ - { - "name": "src", - "nodeType": "YulTypedName", - "src": "3639:3:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3722:263:34", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "3736:23:34", - "value": { - "arguments": [ - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "3755:3:34" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "3749:5:34" - }, - "nodeType": "YulFunctionCall", - "src": "3749:10:34" - }, - "variables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "3740:5:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3838:74:34", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "3856:11:34", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3866:1:34", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "_4", - "nodeType": "YulTypedName", - "src": "3860:2:34", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "_4", - "nodeType": "YulIdentifier", - "src": "3891:2:34" - }, - { - "name": "_4", - "nodeType": "YulIdentifier", - "src": "3895:2:34" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "3884:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "3884:14:34" - }, - "nodeType": "YulExpressionStatement", - "src": "3884:14:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "3785:5:34" - }, - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "3796:5:34" - }, - { - "arguments": [ - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3811:3:34", - "type": "", - "value": "160" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3816:1:34", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "3807:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "3807:11:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3820:1:34", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "3803:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "3803:19:34" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "3792:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "3792:31:34" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "3782:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "3782:42:34" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "3775:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "3775:50:34" - }, - "nodeType": "YulIf", - "src": "3772:140:34" - }, - { - "expression": { - "arguments": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "3932:3:34" - }, - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "3937:5:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "3925:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "3925:18:34" - }, - "nodeType": "YulExpressionStatement", - "src": "3925:18:34" - }, - { - "nodeType": "YulAssignment", - "src": "3956:19:34", - "value": { - "arguments": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "3967:3:34" - }, - { - "name": "_3", - "nodeType": "YulIdentifier", - "src": "3972:2:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3963:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "3963:12:34" - }, - "variableNames": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "3956:3:34" - } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "3677:3:34" - }, - { - "name": "srcEnd", - "nodeType": "YulIdentifier", - "src": "3682:6:34" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "3674:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "3674:15:34" - }, - "nodeType": "YulForLoop", - "post": { - "nodeType": "YulBlock", - "src": "3690:23:34", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "3692:19:34", - "value": { - "arguments": [ - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "3703:3:34" - }, - { - "name": "_3", - "nodeType": "YulIdentifier", - "src": "3708:2:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3699:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "3699:12:34" - }, - "variableNames": [ - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "3692:3:34" - } - ] - } - ] - }, - "pre": { - "nodeType": "YulBlock", - "src": "3670:3:34", - "statements": [] - }, - "src": "3666:319:34" - }, - { - "nodeType": "YulAssignment", - "src": "3994:15:34", - "value": { - "name": "dst_1", - "nodeType": "YulIdentifier", - "src": "4004:5:34" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "3994:6:34" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "4018:35:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4038:9:34" - }, - { - "name": "_3", - "nodeType": "YulIdentifier", - "src": "4049:2:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4034:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "4034:18:34" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "4028:5:34" - }, - "nodeType": "YulFunctionCall", - "src": "4028:25:34" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "4018:6:34" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_array$_t_address_$dyn_memory_ptrt_uint256_fromMemory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "3014:9:34", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "3025:7:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "3037:6:34", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "3045:6:34", - "type": "" - } - ], - "src": "2933:1126:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4112:80:34", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "4139:22:34", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x11", - "nodeType": "YulIdentifier", - "src": "4141:16:34" - }, - "nodeType": "YulFunctionCall", - "src": "4141:18:34" - }, - "nodeType": "YulExpressionStatement", - "src": "4141:18:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "4128:1:34" - }, - { - "arguments": [ - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "4135:1:34" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "4131:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "4131:6:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "4125:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "4125:13:34" - }, - "nodeType": "YulIf", - "src": "4122:39:34" - }, - { - "nodeType": "YulAssignment", - "src": "4170:16:34", - "value": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "4181:1:34" - }, - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "4184:1:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4177:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "4177:9:34" - }, - "variableNames": [ - { - "name": "sum", - "nodeType": "YulIdentifier", - "src": "4170:3:34" - } - ] - } - ] - }, - "name": "checked_add_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "x", - "nodeType": "YulTypedName", - "src": "4095:1:34", - "type": "" - }, - { - "name": "y", - "nodeType": "YulTypedName", - "src": "4098:1:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "sum", - "nodeType": "YulTypedName", - "src": "4104:3:34", - "type": "" - } - ], - "src": "4064:128:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4376:552:34", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "4386:32:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4404:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4415:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4400:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "4400:18:34" - }, - "variables": [ - { - "name": "tail_1", - "nodeType": "YulTypedName", - "src": "4390:6:34", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4434:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4445:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "4427:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "4427:21:34" - }, - "nodeType": "YulExpressionStatement", - "src": "4427:21:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "4457:17:34", - "value": { - "name": "tail_1", - "nodeType": "YulIdentifier", - "src": "4468:6:34" - }, - "variables": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "4461:3:34", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "4483:27:34", - "value": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "4503:6:34" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "4497:5:34" - }, - "nodeType": "YulFunctionCall", - "src": "4497:13:34" - }, - "variables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "4487:6:34", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "tail_1", - "nodeType": "YulIdentifier", - "src": "4526:6:34" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "4534:6:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "4519:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "4519:22:34" - }, - "nodeType": "YulExpressionStatement", - "src": "4519:22:34" - }, - { - "nodeType": "YulAssignment", - "src": "4550:25:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4561:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4572:2:34", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4557:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "4557:18:34" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "4550:3:34" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "4584:14:34", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4594:4:34", - "type": "", - "value": "0x20" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "4588:2:34", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "4607:29:34", - "value": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "4625:6:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "4633:2:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4621:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "4621:15:34" - }, - "variables": [ - { - "name": "srcPtr", - "nodeType": "YulTypedName", - "src": "4611:6:34", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "4645:10:34", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4654:1:34", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "i", - "nodeType": "YulTypedName", - "src": "4649:1:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4713:146:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "4734:3:34" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "srcPtr", - "nodeType": "YulIdentifier", - "src": "4749:6:34" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "4743:5:34" - }, - "nodeType": "YulFunctionCall", - "src": "4743:13:34" - }, - { - "arguments": [ - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4766:3:34", - "type": "", - "value": "160" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4771:1:34", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "4762:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "4762:11:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4775:1:34", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "4758:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "4758:19:34" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "4739:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "4739:39:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "4727:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "4727:52:34" - }, - "nodeType": "YulExpressionStatement", - "src": "4727:52:34" - }, - { - "nodeType": "YulAssignment", - "src": "4792:19:34", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "4803:3:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "4808:2:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4799:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "4799:12:34" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "4792:3:34" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "4824:25:34", - "value": { - "arguments": [ - { - "name": "srcPtr", - "nodeType": "YulIdentifier", - "src": "4838:6:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "4846:2:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4834:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "4834:15:34" - }, - "variableNames": [ - { - "name": "srcPtr", - "nodeType": "YulIdentifier", - "src": "4824:6:34" - } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "4675:1:34" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "4678:6:34" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "4672:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "4672:13:34" - }, - "nodeType": "YulForLoop", - "post": { - "nodeType": "YulBlock", - "src": "4686:18:34", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "4688:14:34", - "value": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "4697:1:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4700:1:34", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4693:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "4693:9:34" - }, - "variableNames": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "4688:1:34" - } - ] - } - ] - }, - "pre": { - "nodeType": "YulBlock", - "src": "4668:3:34", - "statements": [] - }, - "src": "4664:195:34" - }, - { - "nodeType": "YulAssignment", - "src": "4868:11:34", - "value": { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "4876:3:34" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "4868:4:34" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4899:9:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "4910:2:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4895:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "4895:18:34" - }, - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "4915:6:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "4888:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "4888:34:34" - }, - "nodeType": "YulExpressionStatement", - "src": "4888:34:34" - } - ] - }, - "name": "abi_encode_tuple_t_array$_t_address_$dyn_memory_ptr_t_uint256__to_t_array$_t_address_$dyn_memory_ptr_t_uint256__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "4337:9:34", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "4348:6:34", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "4356:6:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "4367:4:34", - "type": "" - } - ], - "src": "4197:731:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4982:76:34", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "5004:22:34", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x11", - "nodeType": "YulIdentifier", - "src": "5006:16:34" - }, - "nodeType": "YulFunctionCall", - "src": "5006:18:34" - }, - "nodeType": "YulExpressionStatement", - "src": "5006:18:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "4998:1:34" - }, - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "5001:1:34" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "4995:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "4995:8:34" - }, - "nodeType": "YulIf", - "src": "4992:34:34" - }, - { - "nodeType": "YulAssignment", - "src": "5035:17:34", - "value": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "5047:1:34" - }, - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "5050:1:34" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "5043:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "5043:9:34" - }, - "variableNames": [ - { - "name": "diff", - "nodeType": "YulIdentifier", - "src": "5035:4:34" - } - ] - } - ] - }, - "name": "checked_sub_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "x", - "nodeType": "YulTypedName", - "src": "4964:1:34", - "type": "" - }, - { - "name": "y", - "nodeType": "YulTypedName", - "src": "4967:1:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "diff", - "nodeType": "YulTypedName", - "src": "4973:4:34", - "type": "" - } - ], - "src": "4933:125:34" - } - ] - }, - "contents": "{\n { }\n function panic_error_0x41()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n function allocate_memory(size) -> memPtr\n {\n memPtr := mload(64)\n let newFreePtr := add(memPtr, and(add(size, 31), not(31)))\n if or(gt(newFreePtr, sub(shl(64, 1), 1)), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n }\n function array_allocation_size_array_bytes_dyn(length) -> size\n {\n if gt(length, sub(shl(64, 1), 1)) { panic_error_0x41() }\n size := add(shl(5, length), 0x20)\n }\n function abi_decode_tuple_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_fromMemory(headStart, dataEnd) -> value0\n {\n let _1 := 32\n if slt(sub(dataEnd, headStart), _1) { revert(0, 0) }\n let offset := mload(headStart)\n let _2 := sub(shl(64, 1), 1)\n if gt(offset, _2) { revert(0, 0) }\n let _3 := add(headStart, offset)\n let _4 := 0x1f\n if iszero(slt(add(_3, _4), dataEnd)) { revert(0, 0) }\n let _5 := mload(_3)\n let dst := allocate_memory(array_allocation_size_array_bytes_dyn(_5))\n let dst_1 := dst\n mstore(dst, _5)\n dst := add(dst, _1)\n let srcEnd := add(add(_3, shl(5, _5)), _1)\n if gt(srcEnd, dataEnd) { revert(0, 0) }\n let src := add(_3, _1)\n for { } lt(src, srcEnd) { src := add(src, _1) }\n {\n let innerOffset := mload(src)\n if gt(innerOffset, _2)\n {\n let _6 := 0\n revert(_6, _6)\n }\n let _7 := add(_3, innerOffset)\n if iszero(slt(add(_7, 63), dataEnd))\n {\n let _8 := 0\n revert(_8, _8)\n }\n let _9 := mload(add(_7, _1))\n if gt(_9, _2) { panic_error_0x41() }\n let array := allocate_memory(add(and(add(_9, _4), not(31)), _1))\n mstore(array, _9)\n let _10 := 64\n if gt(add(add(_7, _9), _10), dataEnd)\n {\n let _11 := 0\n revert(_11, _11)\n }\n let i := 0\n for { } lt(i, _9) { i := add(i, _1) }\n {\n mstore(add(add(array, i), _1), mload(add(add(_7, i), _10)))\n }\n if gt(i, _9)\n {\n mstore(add(add(array, _9), _1), 0)\n }\n mstore(dst, array)\n dst := add(dst, _1)\n }\n value0 := dst_1\n }\n function panic_error_0x32()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x32)\n revert(0, 0x24)\n }\n function panic_error_0x11()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x11)\n revert(0, 0x24)\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 abi_decode_tuple_t_array$_t_address_$dyn_memory_ptrt_uint256_fromMemory(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n let offset := mload(headStart)\n if gt(offset, sub(shl(64, 1), 1)) { revert(0, 0) }\n let _1 := add(headStart, offset)\n if iszero(slt(add(_1, 0x1f), dataEnd)) { revert(0, 0) }\n let _2 := mload(_1)\n let _3 := 0x20\n let dst := allocate_memory(array_allocation_size_array_bytes_dyn(_2))\n let dst_1 := dst\n mstore(dst, _2)\n dst := add(dst, _3)\n let srcEnd := add(add(_1, shl(5, _2)), _3)\n if gt(srcEnd, dataEnd) { revert(0, 0) }\n let src := add(_1, _3)\n for { } lt(src, srcEnd) { src := add(src, _3) }\n {\n let value := mload(src)\n if iszero(eq(value, and(value, sub(shl(160, 1), 1))))\n {\n let _4 := 0\n revert(_4, _4)\n }\n mstore(dst, value)\n dst := add(dst, _3)\n }\n value0 := dst_1\n value1 := mload(add(headStart, _3))\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 abi_encode_tuple_t_array$_t_address_$dyn_memory_ptr_t_uint256__to_t_array$_t_address_$dyn_memory_ptr_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n {\n let tail_1 := add(headStart, 64)\n mstore(headStart, 64)\n let pos := tail_1\n let length := mload(value0)\n mstore(tail_1, length)\n pos := add(headStart, 96)\n let _1 := 0x20\n let srcPtr := add(value0, _1)\n let i := 0\n for { } lt(i, length) { i := add(i, 1) }\n {\n mstore(pos, and(mload(srcPtr), sub(shl(160, 1), 1)))\n pos := add(pos, _1)\n srcPtr := add(srcPtr, _1)\n }\n tail := pos\n mstore(add(headStart, _1), value1)\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}", - "id": 34, - "language": "Yul", - "name": "#utility.yul" - } - ], - "linkReferences": {}, - "object": "60806040523480156200001157600080fd5b506040516200135e3803806200135e833981016040819052620000349162000383565b600080546001600160a01b0319163390811782556040519091907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a360005b8151811015620000c057620000ad828281518110620000995762000099620004c1565b6020026020010151620000c860201b60201c565b620000b881620004ed565b905062000076565b50506200064b565b60008082806020019051810190620000e191906200050b565b81519193509150801580620000fe5750620000fc8362000203565b155b156200011d57604051630849699d60e11b815260040160405180910390fd5b8115806200012a57508181105b15620001495760405163aabd5a0960e01b815260040160405180910390fd5b835160208086019190912060008181526003909252604090912054156200018357604051633e3cf04160e21b815260040160405180910390fd5b60006001546001620001969190620005c3565b60018190556000818152600260209081526040808320869055858352600390915290819020829055519091507f91b26cf03198606868def38877d68b97d978ce42e6150b44ef327c4c900d0c4e90620001f39087908790620005de565b60405180910390a1505050505050565b6000805b6001835162000217919062000631565b811015620002d857826200022d826001620005c3565b81518110620002405762000240620004c1565b60200260200101516001600160a01b0316838281518110620002665762000266620004c1565b60200260200101516001600160a01b0316101580620002b6575060008362000290836001620005c3565b81518110620002a357620002a3620004c1565b60200260200101516001600160a01b0316145b15620002c55750600092915050565b620002d081620004ed565b905062000207565b5060006001600160a01b031682600081518110620002fa57620002fa620004c1565b60200260200101516001600160a01b031614159050919050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b038111828210171562000355576200035562000314565b604052919050565b60006001600160401b0382111562000379576200037962000314565b5060051b60200190565b600060208083850312156200039757600080fd5b82516001600160401b0380821115620003af57600080fd5b8185019150601f8681840112620003c557600080fd5b8251620003dc620003d6826200035d565b6200032a565b81815260059190911b84018501908581019089831115620003fc57600080fd5b8686015b83811015620004b3578051868111156200041a5760008081fd5b8701603f81018c136200042d5760008081fd5b888101518781111562000444576200044462000314565b62000457818801601f19168b016200032a565b81815260408e818486010111156200046f5760008081fd5b60005b838110156200048f578481018201518382018e01528c0162000472565b83811115620004a15760008d85850101525b50508552505091870191870162000400565b509998505050505050505050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600019821415620005045762000504620004d7565b5060010190565b600080604083850312156200051f57600080fd5b82516001600160401b038111156200053657600080fd5b8301601f810185136200054857600080fd5b805160206200055b620003d6836200035d565b82815260059290921b830181019181810190888411156200057b57600080fd5b938201935b83851015620005b25784516001600160a01b0381168114620005a25760008081fd5b8252938201939082019062000580565b969091015195979596505050505050565b60008219821115620005d957620005d9620004d7565b500190565b604080825283519082018190526000906020906060840190828701845b82811015620006225781516001600160a01b031684529284019290840190600101620005fb565b50505092019290925292915050565b600082821015620006465762000646620004d7565b500390565b610d03806200065b6000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c8063ba6742e51161005b578063ba6742e5146100ec578063d289d1cb1461010c578063f1501c8914610121578063f2fde38b1461014157600080fd5b806373e3d66a1461008257806376671808146100aa5780638da5cb5b146100c1575b600080fd5b61009561009036600461086b565b610154565b60405190151581526020015b60405180910390f35b6100b360015481565b6040519081526020016100a1565b6000546100d4906001600160a01b031681565b6040516001600160a01b0390911681526020016100a1565b6100b36100fa3660046108b7565b60026020526000908152604090205481565b61011f61011a3660046108d0565b6101f6565b005b6100b361012f3660046108b7565b60036020526000908152604090205481565b61011f61014f36600461092a565b610264565b6000808061016484860186610aa2565b91509150600082825160405160200161017e929190610b64565b60408051601f19818403018152918152815160209283012060008181526003909352912054600154919250908115806101c1575060106101be8383610bcb565b10155b156101df57604051630849699d60e11b815260040160405180910390fd5b6101ea898686610342565b14979650505050505050565b6000546001600160a01b03163314610221576040516330cd747160e01b815260040160405180910390fd5b61026082828080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061042692505050565b5050565b6000546001600160a01b0316331461028f576040516330cd747160e01b815260040160405180910390fd5b6001600160a01b0381166102cf576040517f49e27cff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b6000805b825181101561041f5760006103748685848151811061036757610367610be2565b6020026020010151610586565b90505b8451831080156103b2575084838151811061039457610394610be2565b60200260200101516001600160a01b0316816001600160a01b031614155b156103c7576103c083610bf8565b9250610377565b8451831415610402576040517fc6fb539300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61040b83610bf8565b9250508061041890610bf8565b9050610346565b5050505050565b6000808280602001905181019061043d9190610c13565b81519193509150801580610457575061045583610729565b155b1561047557604051630849699d60e11b815260040160405180910390fd5b81158061048157508181105b156104b8576040517faabd5a0900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8351602080860191909120600081815260039092526040909120541561050a576040517ff8f3c10400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000600154600161051b9190610cb5565b60018190556000818152600260209081526040808320869055858352600390915290819020829055519091507f91b26cf03198606868def38877d68b97d978ce42e6150b44ef327c4c900d0c4e906105769087908790610b64565b60405180910390a1505050505050565b600081516041146105c3576040517f4be6321b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60208201516040830151606084015160001a7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a082111561062f576040517f40c1e74800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8060ff16601b1415801561064757508060ff16601c14155b1561067e576040517f119bce3900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040805160008082526020820180845289905260ff841692820192909252606081018590526080810184905260019060a0016020604051602081039080840390855afa1580156106d2573d6000803e3d6000fd5b505050602060405103519450846001600160a01b03161415610720576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50505092915050565b6000805b6001835161073b9190610bcb565b8110156107e9578261074e826001610cb5565b8151811061075e5761075e610be2565b60200260200101516001600160a01b031683828151811061078157610781610be2565b60200260200101516001600160a01b03161015806107cb57506000836107a8836001610cb5565b815181106107b8576107b8610be2565b60200260200101516001600160a01b0316145b156107d95750600092915050565b6107e281610bf8565b905061072d565b5060006001600160a01b03168260008151811061080857610808610be2565b60200260200101516001600160a01b031614159050919050565b60008083601f84011261083457600080fd5b50813567ffffffffffffffff81111561084c57600080fd5b60208301915083602082850101111561086457600080fd5b9250929050565b60008060006040848603121561088057600080fd5b83359250602084013567ffffffffffffffff81111561089e57600080fd5b6108aa86828701610822565b9497909650939450505050565b6000602082840312156108c957600080fd5b5035919050565b600080602083850312156108e357600080fd5b823567ffffffffffffffff8111156108fa57600080fd5b61090685828601610822565b90969095509350505050565b6001600160a01b038116811461092757600080fd5b50565b60006020828403121561093c57600080fd5b813561094781610912565b9392505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561098d5761098d61094e565b604052919050565b600067ffffffffffffffff8211156109af576109af61094e565b5060051b60200190565b6000601f83818401126109cb57600080fd5b823560206109e06109db83610995565b610964565b82815260059290921b850181019181810190878411156109ff57600080fd5b8287015b84811015610a9657803567ffffffffffffffff80821115610a245760008081fd5b818a0191508a603f830112610a395760008081fd5b85820135604082821115610a4f57610a4f61094e565b610a60828b01601f19168901610964565b92508183528c81838601011115610a775760008081fd5b8181850189850137506000908201870152845250918301918301610a03565b50979650505050505050565b60008060408385031215610ab557600080fd5b823567ffffffffffffffff80821115610acd57600080fd5b818501915085601f830112610ae157600080fd5b81356020610af16109db83610995565b82815260059290921b84018101918181019089841115610b1057600080fd5b948201945b83861015610b37578535610b2881610912565b82529482019490820190610b15565b96505086013592505080821115610b4d57600080fd5b50610b5a858286016109b9565b9150509250929050565b604080825283519082018190526000906020906060840190828701845b82811015610ba65781516001600160a01b031684529284019290840190600101610b81565b50505092019290925292915050565b634e487b7160e01b600052601160045260246000fd5b600082821015610bdd57610bdd610bb5565b500390565b634e487b7160e01b600052603260045260246000fd5b6000600019821415610c0c57610c0c610bb5565b5060010190565b60008060408385031215610c2657600080fd5b825167ffffffffffffffff811115610c3d57600080fd5b8301601f81018513610c4e57600080fd5b80516020610c5e6109db83610995565b82815260059290921b83018101918181019088841115610c7d57600080fd5b938201935b83851015610ca4578451610c9581610912565b82529382019390820190610c82565b969091015195979596505050505050565b60008219821115610cc857610cc8610bb5565b50019056fea26469706673582212209abfd0ced392ff72d5b29f9650a06b1d1680bd91c1b3fcb75487f928836407e764736f6c63430008090033", - "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH3 0x11 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH3 0x135E CODESIZE SUB DUP1 PUSH3 0x135E DUP4 CODECOPY DUP2 ADD PUSH1 0x40 DUP2 SWAP1 MSTORE PUSH3 0x34 SWAP2 PUSH3 0x383 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND CALLER SWAP1 DUP2 OR DUP3 SSTORE PUSH1 0x40 MLOAD SWAP1 SWAP2 SWAP1 PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 SWAP1 DUP3 SWAP1 LOG3 PUSH1 0x0 JUMPDEST DUP2 MLOAD DUP2 LT ISZERO PUSH3 0xC0 JUMPI PUSH3 0xAD DUP3 DUP3 DUP2 MLOAD DUP2 LT PUSH3 0x99 JUMPI PUSH3 0x99 PUSH3 0x4C1 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH3 0xC8 PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST PUSH3 0xB8 DUP2 PUSH3 0x4ED JUMP JUMPDEST SWAP1 POP PUSH3 0x76 JUMP JUMPDEST POP POP PUSH3 0x64B JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 DUP1 PUSH1 0x20 ADD SWAP1 MLOAD DUP2 ADD SWAP1 PUSH3 0xE1 SWAP2 SWAP1 PUSH3 0x50B JUMP JUMPDEST DUP2 MLOAD SWAP2 SWAP4 POP SWAP2 POP DUP1 ISZERO DUP1 PUSH3 0xFE JUMPI POP PUSH3 0xFC DUP4 PUSH3 0x203 JUMP JUMPDEST ISZERO JUMPDEST ISZERO PUSH3 0x11D JUMPI PUSH1 0x40 MLOAD PUSH4 0x849699D PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 ISZERO DUP1 PUSH3 0x12A JUMPI POP DUP2 DUP2 LT JUMPDEST ISZERO PUSH3 0x149 JUMPI PUSH1 0x40 MLOAD PUSH4 0xAABD5A09 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP4 MLOAD PUSH1 0x20 DUP1 DUP7 ADD SWAP2 SWAP1 SWAP2 KECCAK256 PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x3 SWAP1 SWAP3 MSTORE PUSH1 0x40 SWAP1 SWAP2 KECCAK256 SLOAD ISZERO PUSH3 0x183 JUMPI PUSH1 0x40 MLOAD PUSH4 0x3E3CF041 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1 SLOAD PUSH1 0x1 PUSH3 0x196 SWAP2 SWAP1 PUSH3 0x5C3 JUMP JUMPDEST PUSH1 0x1 DUP2 SWAP1 SSTORE PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP7 SWAP1 SSTORE DUP6 DUP4 MSTORE PUSH1 0x3 SWAP1 SWAP2 MSTORE SWAP1 DUP2 SWAP1 KECCAK256 DUP3 SWAP1 SSTORE MLOAD SWAP1 SWAP2 POP PUSH32 0x91B26CF03198606868DEF38877D68B97D978CE42E6150B44EF327C4C900D0C4E SWAP1 PUSH3 0x1F3 SWAP1 DUP8 SWAP1 DUP8 SWAP1 PUSH3 0x5DE JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 JUMPDEST PUSH1 0x1 DUP4 MLOAD PUSH3 0x217 SWAP2 SWAP1 PUSH3 0x631 JUMP JUMPDEST DUP2 LT ISZERO PUSH3 0x2D8 JUMPI DUP3 PUSH3 0x22D DUP3 PUSH1 0x1 PUSH3 0x5C3 JUMP JUMPDEST DUP2 MLOAD DUP2 LT PUSH3 0x240 JUMPI PUSH3 0x240 PUSH3 0x4C1 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 DUP3 DUP2 MLOAD DUP2 LT PUSH3 0x266 JUMPI PUSH3 0x266 PUSH3 0x4C1 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND LT ISZERO DUP1 PUSH3 0x2B6 JUMPI POP PUSH1 0x0 DUP4 PUSH3 0x290 DUP4 PUSH1 0x1 PUSH3 0x5C3 JUMP JUMPDEST DUP2 MLOAD DUP2 LT PUSH3 0x2A3 JUMPI PUSH3 0x2A3 PUSH3 0x4C1 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ JUMPDEST ISZERO PUSH3 0x2C5 JUMPI POP PUSH1 0x0 SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH3 0x2D0 DUP2 PUSH3 0x4ED JUMP JUMPDEST SWAP1 POP PUSH3 0x207 JUMP JUMPDEST POP PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP3 PUSH1 0x0 DUP2 MLOAD DUP2 LT PUSH3 0x2FA JUMPI PUSH3 0x2FA PUSH3 0x4C1 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ ISZERO SWAP1 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 PUSH1 0x40 MLOAD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT AND DUP2 ADD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH3 0x355 JUMPI PUSH3 0x355 PUSH3 0x314 JUMP JUMPDEST PUSH1 0x40 MSTORE SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT ISZERO PUSH3 0x379 JUMPI PUSH3 0x379 PUSH3 0x314 JUMP JUMPDEST POP PUSH1 0x5 SHL PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP1 DUP4 DUP6 SUB SLT ISZERO PUSH3 0x397 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH3 0x3AF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP6 ADD SWAP2 POP PUSH1 0x1F DUP7 DUP2 DUP5 ADD SLT PUSH3 0x3C5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 MLOAD PUSH3 0x3DC PUSH3 0x3D6 DUP3 PUSH3 0x35D JUMP JUMPDEST PUSH3 0x32A JUMP JUMPDEST DUP2 DUP2 MSTORE PUSH1 0x5 SWAP2 SWAP1 SWAP2 SHL DUP5 ADD DUP6 ADD SWAP1 DUP6 DUP2 ADD SWAP1 DUP10 DUP4 GT ISZERO PUSH3 0x3FC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP7 DUP7 ADD JUMPDEST DUP4 DUP2 LT ISZERO PUSH3 0x4B3 JUMPI DUP1 MLOAD DUP7 DUP2 GT ISZERO PUSH3 0x41A JUMPI PUSH1 0x0 DUP1 DUP2 REVERT JUMPDEST DUP8 ADD PUSH1 0x3F DUP2 ADD DUP13 SGT PUSH3 0x42D JUMPI PUSH1 0x0 DUP1 DUP2 REVERT JUMPDEST DUP9 DUP2 ADD MLOAD DUP8 DUP2 GT ISZERO PUSH3 0x444 JUMPI PUSH3 0x444 PUSH3 0x314 JUMP JUMPDEST PUSH3 0x457 DUP2 DUP9 ADD PUSH1 0x1F NOT AND DUP12 ADD PUSH3 0x32A JUMP JUMPDEST DUP2 DUP2 MSTORE PUSH1 0x40 DUP15 DUP2 DUP5 DUP7 ADD ADD GT ISZERO PUSH3 0x46F JUMPI PUSH1 0x0 DUP1 DUP2 REVERT JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH3 0x48F JUMPI DUP5 DUP2 ADD DUP3 ADD MLOAD DUP4 DUP3 ADD DUP15 ADD MSTORE DUP13 ADD PUSH3 0x472 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH3 0x4A1 JUMPI PUSH1 0x0 DUP14 DUP6 DUP6 ADD ADD MSTORE JUMPDEST POP POP DUP6 MSTORE POP POP SWAP2 DUP8 ADD SWAP2 DUP8 ADD PUSH3 0x400 JUMP JUMPDEST POP SWAP10 SWAP9 POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x0 NOT DUP3 EQ ISZERO PUSH3 0x504 JUMPI PUSH3 0x504 PUSH3 0x4D7 JUMP JUMPDEST POP PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH3 0x51F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH3 0x536 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 ADD PUSH1 0x1F DUP2 ADD DUP6 SGT PUSH3 0x548 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 MLOAD PUSH1 0x20 PUSH3 0x55B PUSH3 0x3D6 DUP4 PUSH3 0x35D JUMP JUMPDEST DUP3 DUP2 MSTORE PUSH1 0x5 SWAP3 SWAP1 SWAP3 SHL DUP4 ADD DUP2 ADD SWAP2 DUP2 DUP2 ADD SWAP1 DUP9 DUP5 GT ISZERO PUSH3 0x57B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP4 DUP3 ADD SWAP4 JUMPDEST DUP4 DUP6 LT ISZERO PUSH3 0x5B2 JUMPI DUP5 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH3 0x5A2 JUMPI PUSH1 0x0 DUP1 DUP2 REVERT JUMPDEST DUP3 MSTORE SWAP4 DUP3 ADD SWAP4 SWAP1 DUP3 ADD SWAP1 PUSH3 0x580 JUMP JUMPDEST SWAP7 SWAP1 SWAP2 ADD MLOAD SWAP6 SWAP8 SWAP6 SWAP7 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 NOT DUP3 GT ISZERO PUSH3 0x5D9 JUMPI PUSH3 0x5D9 PUSH3 0x4D7 JUMP JUMPDEST POP ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 DUP1 DUP3 MSTORE DUP4 MLOAD SWAP1 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH1 0x20 SWAP1 PUSH1 0x60 DUP5 ADD SWAP1 DUP3 DUP8 ADD DUP5 JUMPDEST DUP3 DUP2 LT ISZERO PUSH3 0x622 JUMPI DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 MSTORE SWAP3 DUP5 ADD SWAP3 SWAP1 DUP5 ADD SWAP1 PUSH1 0x1 ADD PUSH3 0x5FB JUMP JUMPDEST POP POP POP SWAP3 ADD SWAP3 SWAP1 SWAP3 MSTORE SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 LT ISZERO PUSH3 0x646 JUMPI PUSH3 0x646 PUSH3 0x4D7 JUMP JUMPDEST POP SUB SWAP1 JUMP JUMPDEST PUSH2 0xD03 DUP1 PUSH3 0x65B 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 0xBA6742E5 GT PUSH2 0x5B JUMPI DUP1 PUSH4 0xBA6742E5 EQ PUSH2 0xEC JUMPI DUP1 PUSH4 0xD289D1CB EQ PUSH2 0x10C JUMPI DUP1 PUSH4 0xF1501C89 EQ PUSH2 0x121 JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0x141 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x73E3D66A EQ PUSH2 0x82 JUMPI DUP1 PUSH4 0x76671808 EQ PUSH2 0xAA JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0xC1 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x95 PUSH2 0x90 CALLDATASIZE PUSH1 0x4 PUSH2 0x86B JUMP JUMPDEST PUSH2 0x154 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xB3 PUSH1 0x1 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xA1 JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH2 0xD4 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xA1 JUMP JUMPDEST PUSH2 0xB3 PUSH2 0xFA CALLDATASIZE PUSH1 0x4 PUSH2 0x8B7 JUMP JUMPDEST PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD DUP2 JUMP JUMPDEST PUSH2 0x11F PUSH2 0x11A CALLDATASIZE PUSH1 0x4 PUSH2 0x8D0 JUMP JUMPDEST PUSH2 0x1F6 JUMP JUMPDEST STOP JUMPDEST PUSH2 0xB3 PUSH2 0x12F CALLDATASIZE PUSH1 0x4 PUSH2 0x8B7 JUMP JUMPDEST PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD DUP2 JUMP JUMPDEST PUSH2 0x11F PUSH2 0x14F CALLDATASIZE PUSH1 0x4 PUSH2 0x92A JUMP JUMPDEST PUSH2 0x264 JUMP JUMPDEST PUSH1 0x0 DUP1 DUP1 PUSH2 0x164 DUP5 DUP7 ADD DUP7 PUSH2 0xAA2 JUMP JUMPDEST SWAP2 POP SWAP2 POP PUSH1 0x0 DUP3 DUP3 MLOAD PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x17E SWAP3 SWAP2 SWAP1 PUSH2 0xB64 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F NOT DUP2 DUP5 SUB ADD DUP2 MSTORE SWAP2 DUP2 MSTORE DUP2 MLOAD PUSH1 0x20 SWAP3 DUP4 ADD KECCAK256 PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x3 SWAP1 SWAP4 MSTORE SWAP2 KECCAK256 SLOAD PUSH1 0x1 SLOAD SWAP2 SWAP3 POP SWAP1 DUP2 ISZERO DUP1 PUSH2 0x1C1 JUMPI POP PUSH1 0x10 PUSH2 0x1BE DUP4 DUP4 PUSH2 0xBCB JUMP JUMPDEST LT ISZERO JUMPDEST ISZERO PUSH2 0x1DF JUMPI PUSH1 0x40 MLOAD PUSH4 0x849699D PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x1EA DUP10 DUP7 DUP7 PUSH2 0x342 JUMP JUMPDEST EQ SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x221 JUMPI PUSH1 0x40 MLOAD PUSH4 0x30CD7471 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x260 DUP3 DUP3 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 PUSH2 0x426 SWAP3 POP POP POP JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x28F JUMPI PUSH1 0x40 MLOAD PUSH4 0x30CD7471 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x2CF JUMPI PUSH1 0x40 MLOAD PUSH32 0x49E27CFF00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP6 AND SWAP4 SWAP3 AND SWAP2 PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 SWAP2 LOG3 PUSH1 0x0 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 DUP1 JUMPDEST DUP3 MLOAD DUP2 LT ISZERO PUSH2 0x41F JUMPI PUSH1 0x0 PUSH2 0x374 DUP7 DUP6 DUP5 DUP2 MLOAD DUP2 LT PUSH2 0x367 JUMPI PUSH2 0x367 PUSH2 0xBE2 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH2 0x586 JUMP JUMPDEST SWAP1 POP JUMPDEST DUP5 MLOAD DUP4 LT DUP1 ISZERO PUSH2 0x3B2 JUMPI POP DUP5 DUP4 DUP2 MLOAD DUP2 LT PUSH2 0x394 JUMPI PUSH2 0x394 PUSH2 0xBE2 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ ISZERO JUMPDEST ISZERO PUSH2 0x3C7 JUMPI PUSH2 0x3C0 DUP4 PUSH2 0xBF8 JUMP JUMPDEST SWAP3 POP PUSH2 0x377 JUMP JUMPDEST DUP5 MLOAD DUP4 EQ ISZERO PUSH2 0x402 JUMPI PUSH1 0x40 MLOAD PUSH32 0xC6FB539300000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x40B DUP4 PUSH2 0xBF8 JUMP JUMPDEST SWAP3 POP POP DUP1 PUSH2 0x418 SWAP1 PUSH2 0xBF8 JUMP JUMPDEST SWAP1 POP PUSH2 0x346 JUMP JUMPDEST POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 DUP1 PUSH1 0x20 ADD SWAP1 MLOAD DUP2 ADD SWAP1 PUSH2 0x43D SWAP2 SWAP1 PUSH2 0xC13 JUMP JUMPDEST DUP2 MLOAD SWAP2 SWAP4 POP SWAP2 POP DUP1 ISZERO DUP1 PUSH2 0x457 JUMPI POP PUSH2 0x455 DUP4 PUSH2 0x729 JUMP JUMPDEST ISZERO JUMPDEST ISZERO PUSH2 0x475 JUMPI PUSH1 0x40 MLOAD PUSH4 0x849699D PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 ISZERO DUP1 PUSH2 0x481 JUMPI POP DUP2 DUP2 LT JUMPDEST ISZERO PUSH2 0x4B8 JUMPI PUSH1 0x40 MLOAD PUSH32 0xAABD5A0900000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP4 MLOAD PUSH1 0x20 DUP1 DUP7 ADD SWAP2 SWAP1 SWAP2 KECCAK256 PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x3 SWAP1 SWAP3 MSTORE PUSH1 0x40 SWAP1 SWAP2 KECCAK256 SLOAD ISZERO PUSH2 0x50A JUMPI PUSH1 0x40 MLOAD PUSH32 0xF8F3C10400000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1 SLOAD PUSH1 0x1 PUSH2 0x51B SWAP2 SWAP1 PUSH2 0xCB5 JUMP JUMPDEST PUSH1 0x1 DUP2 SWAP1 SSTORE PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP7 SWAP1 SSTORE DUP6 DUP4 MSTORE PUSH1 0x3 SWAP1 SWAP2 MSTORE SWAP1 DUP2 SWAP1 KECCAK256 DUP3 SWAP1 SSTORE MLOAD SWAP1 SWAP2 POP PUSH32 0x91B26CF03198606868DEF38877D68B97D978CE42E6150B44EF327C4C900D0C4E SWAP1 PUSH2 0x576 SWAP1 DUP8 SWAP1 DUP8 SWAP1 PUSH2 0xB64 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD PUSH1 0x41 EQ PUSH2 0x5C3 JUMPI PUSH1 0x40 MLOAD PUSH32 0x4BE6321B00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x20 DUP3 ADD MLOAD PUSH1 0x40 DUP4 ADD MLOAD PUSH1 0x60 DUP5 ADD MLOAD PUSH1 0x0 BYTE PUSH32 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5D576E7357A4501DDFE92F46681B20A0 DUP3 GT ISZERO PUSH2 0x62F JUMPI PUSH1 0x40 MLOAD PUSH32 0x40C1E74800000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0xFF AND PUSH1 0x1B EQ ISZERO DUP1 ISZERO PUSH2 0x647 JUMPI POP DUP1 PUSH1 0xFF AND PUSH1 0x1C EQ ISZERO JUMPDEST ISZERO PUSH2 0x67E JUMPI PUSH1 0x40 MLOAD PUSH32 0x119BCE3900000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x0 DUP1 DUP3 MSTORE PUSH1 0x20 DUP3 ADD DUP1 DUP5 MSTORE DUP10 SWAP1 MSTORE PUSH1 0xFF DUP5 AND SWAP3 DUP3 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x60 DUP2 ADD DUP6 SWAP1 MSTORE PUSH1 0x80 DUP2 ADD DUP5 SWAP1 MSTORE PUSH1 0x1 SWAP1 PUSH1 0xA0 ADD PUSH1 0x20 PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 SUB SWAP1 DUP1 DUP5 SUB SWAP1 DUP6 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x6D2 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP PUSH1 0x20 PUSH1 0x40 MLOAD SUB MLOAD SWAP5 POP DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ ISZERO PUSH2 0x720 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8BAA579F00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 JUMPDEST PUSH1 0x1 DUP4 MLOAD PUSH2 0x73B SWAP2 SWAP1 PUSH2 0xBCB JUMP JUMPDEST DUP2 LT ISZERO PUSH2 0x7E9 JUMPI DUP3 PUSH2 0x74E DUP3 PUSH1 0x1 PUSH2 0xCB5 JUMP JUMPDEST DUP2 MLOAD DUP2 LT PUSH2 0x75E JUMPI PUSH2 0x75E PUSH2 0xBE2 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x781 JUMPI PUSH2 0x781 PUSH2 0xBE2 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND LT ISZERO DUP1 PUSH2 0x7CB JUMPI POP PUSH1 0x0 DUP4 PUSH2 0x7A8 DUP4 PUSH1 0x1 PUSH2 0xCB5 JUMP JUMPDEST DUP2 MLOAD DUP2 LT PUSH2 0x7B8 JUMPI PUSH2 0x7B8 PUSH2 0xBE2 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ JUMPDEST ISZERO PUSH2 0x7D9 JUMPI POP PUSH1 0x0 SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x7E2 DUP2 PUSH2 0xBF8 JUMP JUMPDEST SWAP1 POP PUSH2 0x72D JUMP JUMPDEST POP PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP3 PUSH1 0x0 DUP2 MLOAD DUP2 LT PUSH2 0x808 JUMPI PUSH2 0x808 PUSH2 0xBE2 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0x834 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP DUP2 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x84C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x20 DUP3 DUP6 ADD ADD GT ISZERO PUSH2 0x864 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x40 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x880 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 CALLDATALOAD SWAP3 POP PUSH1 0x20 DUP5 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x89E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x8AA DUP7 DUP3 DUP8 ADD PUSH2 0x822 JUMP JUMPDEST SWAP5 SWAP8 SWAP1 SWAP7 POP SWAP4 SWAP5 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x8C9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x20 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x8E3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x8FA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x906 DUP6 DUP3 DUP7 ADD PUSH2 0x822 JUMP JUMPDEST SWAP1 SWAP7 SWAP1 SWAP6 POP SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x927 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x93C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x947 DUP2 PUSH2 0x912 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT AND DUP2 ADD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x98D JUMPI PUSH2 0x98D PUSH2 0x94E JUMP JUMPDEST PUSH1 0x40 MSTORE SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x9AF JUMPI PUSH2 0x9AF PUSH2 0x94E JUMP JUMPDEST POP PUSH1 0x5 SHL PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1F DUP4 DUP2 DUP5 ADD SLT PUSH2 0x9CB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH1 0x20 PUSH2 0x9E0 PUSH2 0x9DB DUP4 PUSH2 0x995 JUMP JUMPDEST PUSH2 0x964 JUMP JUMPDEST DUP3 DUP2 MSTORE PUSH1 0x5 SWAP3 SWAP1 SWAP3 SHL DUP6 ADD DUP2 ADD SWAP2 DUP2 DUP2 ADD SWAP1 DUP8 DUP5 GT ISZERO PUSH2 0x9FF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 DUP8 ADD JUMPDEST DUP5 DUP2 LT ISZERO PUSH2 0xA96 JUMPI DUP1 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0xA24 JUMPI PUSH1 0x0 DUP1 DUP2 REVERT JUMPDEST DUP2 DUP11 ADD SWAP2 POP DUP11 PUSH1 0x3F DUP4 ADD SLT PUSH2 0xA39 JUMPI PUSH1 0x0 DUP1 DUP2 REVERT JUMPDEST DUP6 DUP3 ADD CALLDATALOAD PUSH1 0x40 DUP3 DUP3 GT ISZERO PUSH2 0xA4F JUMPI PUSH2 0xA4F PUSH2 0x94E JUMP JUMPDEST PUSH2 0xA60 DUP3 DUP12 ADD PUSH1 0x1F NOT AND DUP10 ADD PUSH2 0x964 JUMP JUMPDEST SWAP3 POP DUP2 DUP4 MSTORE DUP13 DUP2 DUP4 DUP7 ADD ADD GT ISZERO PUSH2 0xA77 JUMPI PUSH1 0x0 DUP1 DUP2 REVERT JUMPDEST DUP2 DUP2 DUP6 ADD DUP10 DUP6 ADD CALLDATACOPY POP PUSH1 0x0 SWAP1 DUP3 ADD DUP8 ADD MSTORE DUP5 MSTORE POP SWAP2 DUP4 ADD SWAP2 DUP4 ADD PUSH2 0xA03 JUMP JUMPDEST POP SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xAB5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0xACD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP6 ADD SWAP2 POP DUP6 PUSH1 0x1F DUP4 ADD SLT PUSH2 0xAE1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x20 PUSH2 0xAF1 PUSH2 0x9DB DUP4 PUSH2 0x995 JUMP JUMPDEST DUP3 DUP2 MSTORE PUSH1 0x5 SWAP3 SWAP1 SWAP3 SHL DUP5 ADD DUP2 ADD SWAP2 DUP2 DUP2 ADD SWAP1 DUP10 DUP5 GT ISZERO PUSH2 0xB10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP5 DUP3 ADD SWAP5 JUMPDEST DUP4 DUP7 LT ISZERO PUSH2 0xB37 JUMPI DUP6 CALLDATALOAD PUSH2 0xB28 DUP2 PUSH2 0x912 JUMP JUMPDEST DUP3 MSTORE SWAP5 DUP3 ADD SWAP5 SWAP1 DUP3 ADD SWAP1 PUSH2 0xB15 JUMP JUMPDEST SWAP7 POP POP DUP7 ADD CALLDATALOAD SWAP3 POP POP DUP1 DUP3 GT ISZERO PUSH2 0xB4D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xB5A DUP6 DUP3 DUP7 ADD PUSH2 0x9B9 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x40 DUP1 DUP3 MSTORE DUP4 MLOAD SWAP1 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH1 0x20 SWAP1 PUSH1 0x60 DUP5 ADD SWAP1 DUP3 DUP8 ADD DUP5 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0xBA6 JUMPI DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 MSTORE SWAP3 DUP5 ADD SWAP3 SWAP1 DUP5 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0xB81 JUMP JUMPDEST POP POP POP SWAP3 ADD SWAP3 SWAP1 SWAP3 MSTORE SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP3 DUP3 LT ISZERO PUSH2 0xBDD JUMPI PUSH2 0xBDD PUSH2 0xBB5 JUMP JUMPDEST POP SUB SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x0 NOT DUP3 EQ ISZERO PUSH2 0xC0C JUMPI PUSH2 0xC0C PUSH2 0xBB5 JUMP JUMPDEST POP PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xC26 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xC3D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 ADD PUSH1 0x1F DUP2 ADD DUP6 SGT PUSH2 0xC4E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 MLOAD PUSH1 0x20 PUSH2 0xC5E PUSH2 0x9DB DUP4 PUSH2 0x995 JUMP JUMPDEST DUP3 DUP2 MSTORE PUSH1 0x5 SWAP3 SWAP1 SWAP3 SHL DUP4 ADD DUP2 ADD SWAP2 DUP2 DUP2 ADD SWAP1 DUP9 DUP5 GT ISZERO PUSH2 0xC7D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP4 DUP3 ADD SWAP4 JUMPDEST DUP4 DUP6 LT ISZERO PUSH2 0xCA4 JUMPI DUP5 MLOAD PUSH2 0xC95 DUP2 PUSH2 0x912 JUMP JUMPDEST DUP3 MSTORE SWAP4 DUP3 ADD SWAP4 SWAP1 DUP3 ADD SWAP1 PUSH2 0xC82 JUMP JUMPDEST SWAP7 SWAP1 SWAP2 ADD MLOAD SWAP6 SWAP8 SWAP6 SWAP7 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 NOT DUP3 GT ISZERO PUSH2 0xCC8 JUMPI PUSH2 0xCC8 PUSH2 0xBB5 JUMP JUMPDEST POP ADD SWAP1 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SWAP11 0xBF 0xD0 0xCE 0xD3 SWAP3 SELFDESTRUCT PUSH19 0xD5B29F9650A06B1D1680BD91C1B3FCB75487F9 0x28 DUP4 PUSH5 0x7E764736F PUSH13 0x63430008090033000000000000 ", - "sourceMap": "212:3495:1:-:0;;;589:175;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;207:5:11;:18;;-1:-1:-1;;;;;;207:18:11;215:10;207:18;;;;;240:44;;215:10;;207:5;240:44;;207:5;;240:44;648:9:1;643:115;663:15;:22;659:1;:26;643:115;;;706:41;728:15;744:1;728:18;;;;;;;;:::i;:::-;;;;;;;706:21;;;:41;;:::i;:::-;687:3;;;:::i;:::-;;;643:115;;;;589:175;212:3495;;1830:801;1902:29;1933:20;1968:6;1957:40;;;;;;;;;;;;:::i;:::-;2033:19;;1901:96;;-1:-1:-1;1901:96:1;-1:-1:-1;2067:20:1;;;:73;;-1:-1:-1;2092:48:1;2127:12;2092:34;:48::i;:::-;2091:49;2067:73;2063:104;;;2149:18;;-1:-1:-1;;;2149:18:1;;;;;;;;;;;2063:104;2182:17;;;:51;;;2221:12;2203:15;:30;2182:51;2178:82;;;2242:18;;-1:-1:-1;;;2242:18:1;;;;;;;;;;;2178:82;2298:17;;;;;;;;;;2271:24;2330:30;;;:12;:30;;;;;;;;:34;2326:62;;2373:15;;-1:-1:-1;;;2373:15:1;;;;;;;;;;;2326:62;2399:13;2415:12;;2430:1;2415:16;;;;:::i;:::-;2441:12;:20;;;2471:19;;;;:12;:19;;;;;;;;:38;;;2519:30;;;:12;:30;;;;;;;:38;;;2573:51;2399:32;;-1:-1:-1;2573:51:1;;;;2597:12;;2611;;2573:51;:::i;:::-;;;;;;;;1891:740;;;;;1830:801;:::o;3362:343::-;3456:4;3477:9;3472:184;3510:1;3492:8;:15;:19;;;;:::i;:::-;3488:1;:23;3472:184;;;3551:8;3560:5;:1;3564;3560:5;:::i;:::-;3551:15;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;;;3536:30:1;:8;3545:1;3536:11;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;;;3536:30:1;;;:63;;;-1:-1:-1;3597:1:1;3570:8;3579:5;:1;3583;3579:5;:::i;:::-;3570:15;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;;;3570:29:1;;3536:63;3532:114;;;-1:-1:-1;3626:5:1;;3362:343;-1:-1:-1;;3362:343:1:o;3532:114::-;3513:3;;;:::i;:::-;;;3472:184;;;;3696:1;-1:-1:-1;;;;;3673:25:1;:8;3682:1;3673:11;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;;;3673:25:1;;;3666:32;;3362:343;;;:::o;14:127:34:-;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:275;217:2;211:9;282:2;263:13;;-1:-1:-1;;259:27:34;247:40;;-1:-1:-1;;;;;302:34:34;;338:22;;;299:62;296:88;;;364:18;;:::i;:::-;400:2;393:22;146:275;;-1:-1:-1;146:275:34:o;426:181::-;484:4;-1:-1:-1;;;;;506:30:34;;503:56;;;539:18;;:::i;:::-;-1:-1:-1;584:1:34;580:14;596:4;576:25;;426:181::o;612:1912::-;716:6;747:2;790;778:9;769:7;765:23;761:32;758:52;;;806:1;803;796:12;758:52;833:16;;-1:-1:-1;;;;;898:14:34;;;895:34;;;925:1;922;915:12;895:34;963:6;952:9;948:22;938:32;;989:4;1029:7;1024:2;1020;1016:11;1012:25;1002:53;;1051:1;1048;1041:12;1002:53;1080:2;1074:9;1103:58;1119:41;1157:2;1119:41;:::i;:::-;1103:58;:::i;:::-;1195:15;;;1277:1;1273:10;;;;1265:19;;1261:28;;;1226:12;;;;1301:19;;;1298:39;;;1333:1;1330;1323:12;1298:39;1365:2;1361;1357:11;1377:1117;1393:6;1388:3;1385:15;1377:1117;;;1472:3;1466:10;1508:2;1495:11;1492:19;1489:109;;;1552:1;1581:2;1577;1570:14;1489:109;1621:20;;1676:2;1668:11;;1664:25;-1:-1:-1;1654:123:34;;1731:1;1760:2;1756;1749:14;1654:123;1814:2;1810;1806:11;1800:18;1841:2;1837;1834:10;1831:36;;;1847:18;;:::i;:::-;1893:51;1917:11;;;-1:-1:-1;;1913:25:34;1909:34;;1893:51;:::i;:::-;1971:2;1964:5;1957:17;1998:2;2042:7;2036:3;2031:2;2027;2023:11;2019:21;2016:34;2013:127;;;2092:1;2122:3;2117;2110:16;2013:127;2162:1;2176:141;2190:2;2187:1;2184:9;2176:141;;;2285:10;;;2281:20;;2275:27;2255:13;;;2251:22;;2244:59;2201:10;;2176:141;;;2339:2;2336:1;2333:9;2330:91;;;2405:1;2400:2;2395;2388:5;2384:14;2380:23;2373:34;2330:91;-1:-1:-1;;2434:18:34;;-1:-1:-1;;2472:12:34;;;;1410;;1377:1117;;;-1:-1:-1;2513:5:34;612:1912;-1:-1:-1;;;;;;;;;612:1912:34:o;2529:127::-;2590:10;2585:3;2581:20;2578:1;2571:31;2621:4;2618:1;2611:15;2645:4;2642:1;2635:15;2661:127;2722:10;2717:3;2713:20;2710:1;2703:31;2753:4;2750:1;2743:15;2777:4;2774:1;2767:15;2793:135;2832:3;-1:-1:-1;;2853:17:34;;2850:43;;;2873:18;;:::i;:::-;-1:-1:-1;2920:1:34;2909:13;;2793:135::o;2933:1126::-;3037:6;3045;3098:2;3086:9;3077:7;3073:23;3069:32;3066:52;;;3114:1;3111;3104:12;3066:52;3141:16;;-1:-1:-1;;;;;3169:30:34;;3166:50;;;3212:1;3209;3202:12;3166:50;3235:22;;3288:4;3280:13;;3276:27;-1:-1:-1;3266:55:34;;3317:1;3314;3307:12;3266:55;3346:2;3340:9;3368:4;3392:58;3408:41;3446:2;3408:41;:::i;3392:58::-;3484:15;;;3566:1;3562:10;;;;3554:19;;3550:28;;;3515:12;;;;3590:19;;;3587:39;;;3622:1;3619;3612:12;3587:39;3646:11;;;;3666:319;3682:6;3677:3;3674:15;3666:319;;;3749:10;;-1:-1:-1;;;;;3792:31:34;;3782:42;;3772:140;;3866:1;3895:2;3891;3884:14;3772:140;3925:18;;3699:12;;;;3963;;;;3666:319;;;4034:18;;;;4028:25;4004:5;;4028:25;;-1:-1:-1;;;;;;2933:1126:34:o;4064:128::-;4104:3;4135:1;4131:6;4128:1;4125:13;4122:39;;;4141:18;;:::i;:::-;-1:-1:-1;4177:9:34;;4064:128::o;4197:731::-;4415:2;4427:21;;;4497:13;;4400:18;;;4519:22;;;4367:4;;4594;;4572:2;4557:18;;;4621:15;;;4367:4;4664:195;4678:6;4675:1;4672:13;4664:195;;;4743:13;;-1:-1:-1;;;;;4739:39:34;4727:52;;4799:12;;;;4834:15;;;;4775:1;4693:9;4664:195;;;-1:-1:-1;;;4895:18:34;;4888:34;;;;4876:3;4197:731;-1:-1:-1;;4197:731:34:o;4933:125::-;4973:4;5001:1;4998;4995:8;4992:34;;;5006:18;;:::i;:::-;-1:-1:-1;5043:9:34;;4933:125::o;:::-;212:3495:1;;;;;;" - }, - "deployedBytecode": { - "functionDebugData": { - "@_isSortedAscAndContainsNoDuplicate_946": { - "entryPoint": 1833, - "id": 946, - "parameterSlots": 1, - "returnSlots": 1 - }, - "@_transferOperatorship_825": { - "entryPoint": 1062, - "id": 825, - "parameterSlots": 1, - "returnSlots": 0 - }, - "@_validateSignatures_890": { - "entryPoint": 834, - "id": 890, - "parameterSlots": 3, - "returnSlots": 0 - }, - "@currentEpoch_607": { - "entryPoint": null, - "id": 607, - "parameterSlots": 0, - "returnSlots": 0 - }, - "@epochForHash_615": { - "entryPoint": null, - "id": 615, - "parameterSlots": 0, - "returnSlots": 0 - }, - "@hashForEpoch_611": { - "entryPoint": null, - "id": 611, - "parameterSlots": 0, - "returnSlots": 0 - }, - "@owner_4380": { - "entryPoint": null, - "id": 4380, - "parameterSlots": 0, - "returnSlots": 0 - }, - "@recover_3460": { - "entryPoint": 1414, - "id": 3460, - "parameterSlots": 2, - "returnSlots": 1 - }, - "@transferOperatorship_731": { - "entryPoint": 502, - "id": 731, - "parameterSlots": 2, - "returnSlots": 0 - }, - "@transferOwnership_4437": { - "entryPoint": 612, - "id": 4437, - "parameterSlots": 1, - "returnSlots": 0 - }, - "@validateProof_719": { - "entryPoint": 340, - "id": 719, - "parameterSlots": 3, - "returnSlots": 1 - }, - "abi_decode_array_bytes_dyn": { - "entryPoint": 2489, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_decode_bytes_calldata": { - "entryPoint": 2082, - "id": null, - "parameterSlots": 2, - "returnSlots": 2 - }, - "abi_decode_tuple_t_address": { - "entryPoint": 2346, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_decode_tuple_t_array$_t_address_$dyn_memory_ptrt_array$_t_bytes_memory_ptr_$dyn_memory_ptr": { - "entryPoint": 2722, - "id": null, - "parameterSlots": 2, - "returnSlots": 2 - }, - "abi_decode_tuple_t_array$_t_address_$dyn_memory_ptrt_uint256_fromMemory": { - "entryPoint": 3091, - "id": null, - "parameterSlots": 2, - "returnSlots": 2 - }, - "abi_decode_tuple_t_bytes32": { - "entryPoint": null, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_decode_tuple_t_bytes32t_bytes_calldata_ptr": { - "entryPoint": 2155, - "id": null, - "parameterSlots": 2, - "returnSlots": 3 - }, - "abi_decode_tuple_t_bytes_calldata_ptr": { - "entryPoint": 2256, - "id": null, - "parameterSlots": 2, - "returnSlots": 2 - }, - "abi_decode_tuple_t_uint256": { - "entryPoint": 2231, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_encode_tuple_t_address__to_t_address__fromStack_reversed": { - "entryPoint": null, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_encode_tuple_t_array$_t_address_$dyn_memory_ptr_t_uint256__to_t_array$_t_address_$dyn_memory_ptr_t_uint256__fromStack_reversed": { - "entryPoint": 2916, - "id": null, - "parameterSlots": 3, - "returnSlots": 1 - }, - "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed": { - "entryPoint": null, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed": { - "entryPoint": null, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_encode_tuple_t_bytes32_t_uint8_t_bytes32_t_bytes32__to_t_bytes32_t_uint8_t_bytes32_t_bytes32__fromStack_reversed": { - "entryPoint": null, - "id": null, - "parameterSlots": 5, - "returnSlots": 1 - }, - "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": { - "entryPoint": null, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "allocate_memory": { - "entryPoint": 2404, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "array_allocation_size_array_address_dyn": { - "entryPoint": 2453, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "checked_add_t_uint256": { - "entryPoint": 3253, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "checked_sub_t_uint256": { - "entryPoint": 3019, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "increment_t_uint256": { - "entryPoint": 3064, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "panic_error_0x11": { - "entryPoint": 2997, - "id": null, - "parameterSlots": 0, - "returnSlots": 0 - }, - "panic_error_0x32": { - "entryPoint": 3042, - "id": null, - "parameterSlots": 0, - "returnSlots": 0 - }, - "panic_error_0x41": { - "entryPoint": 2382, - "id": null, - "parameterSlots": 0, - "returnSlots": 0 - }, - "validator_revert_address": { - "entryPoint": 2322, - "id": null, - "parameterSlots": 1, - "returnSlots": 0 - } - }, - "generatedSources": [ - { - "ast": { - "nodeType": "YulBlock", - "src": "0:9222:34", - "statements": [ - { - "nodeType": "YulBlock", - "src": "6:3:34", - "statements": [] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "86:275:34", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "135:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "144:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "147:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "137:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "137:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "137:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "114:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "122:4:34", - "type": "", - "value": "0x1f" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "110:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "110:17:34" - }, - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "129:3:34" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "106:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "106:27:34" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "99:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "99:35:34" - }, - "nodeType": "YulIf", - "src": "96:55:34" - }, - { - "nodeType": "YulAssignment", - "src": "160:30:34", - "value": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "183:6:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "170:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "170:20:34" - }, - "variableNames": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "160:6:34" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "233:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "242:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "245:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "235:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "235:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "235:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "205:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "213:18:34", - "type": "", - "value": "0xffffffffffffffff" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "202:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "202:30:34" - }, - "nodeType": "YulIf", - "src": "199:50:34" - }, - { - "nodeType": "YulAssignment", - "src": "258:29:34", - "value": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "274:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "282:4:34", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "270:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "270:17:34" - }, - "variableNames": [ - { - "name": "arrayPos", - "nodeType": "YulIdentifier", - "src": "258:8:34" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "339:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "348:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "351:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "341:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "341:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "341:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "310:6:34" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "318:6:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "306:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "306:19:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "327:4:34", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "302:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "302:30:34" - }, - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "334:3:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "299:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "299:39:34" - }, - "nodeType": "YulIf", - "src": "296:59:34" - } - ] - }, - "name": "abi_decode_bytes_calldata", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "49:6:34", - "type": "" - }, - { - "name": "end", - "nodeType": "YulTypedName", - "src": "57:3:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "arrayPos", - "nodeType": "YulTypedName", - "src": "65:8:34", - "type": "" - }, - { - "name": "length", - "nodeType": "YulTypedName", - "src": "75:6:34", - "type": "" - } - ], - "src": "14:347:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "472:371:34", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "518:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "527:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "530:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "520:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "520:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "520:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "493:7:34" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "502:9:34" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "489:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "489:23:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "514:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "485:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "485:32:34" - }, - "nodeType": "YulIf", - "src": "482:52:34" - }, - { - "nodeType": "YulAssignment", - "src": "543:33:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "566:9:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "553:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "553:23:34" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "543:6:34" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "585:46:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "616:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "627:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "612:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "612:18:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "599:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "599:32:34" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "589:6:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "674:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "683:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "686:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "676:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "676:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "676:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "646:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "654:18:34", - "type": "", - "value": "0xffffffffffffffff" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "643:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "643:30:34" - }, - "nodeType": "YulIf", - "src": "640:50:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "699:84:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "755:9:34" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "766:6:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "751:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "751:22:34" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "775:7:34" - } - ], - "functionName": { - "name": "abi_decode_bytes_calldata", - "nodeType": "YulIdentifier", - "src": "725:25:34" - }, - "nodeType": "YulFunctionCall", - "src": "725:58:34" - }, - "variables": [ - { - "name": "value1_1", - "nodeType": "YulTypedName", - "src": "703:8:34", - "type": "" - }, - { - "name": "value2_1", - "nodeType": "YulTypedName", - "src": "713:8:34", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "792:18:34", - "value": { - "name": "value1_1", - "nodeType": "YulIdentifier", - "src": "802:8:34" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "792:6:34" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "819:18:34", - "value": { - "name": "value2_1", - "nodeType": "YulIdentifier", - "src": "829:8:34" - }, - "variableNames": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "819:6:34" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_bytes32t_bytes_calldata_ptr", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "422:9:34", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "433:7:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "445:6:34", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "453:6:34", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "461:6:34", - "type": "" - } - ], - "src": "366:477:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "943:92:34", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "953:26:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "965:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "976:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "961:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "961:18:34" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "953:4:34" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "995:9:34" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1020:6:34" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "1013:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "1013:14:34" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "1006:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "1006:22:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "988:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "988:41:34" - }, - "nodeType": "YulExpressionStatement", - "src": "988:41:34" - } - ] - }, - "name": "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "912:9:34", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "923:6:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "934:4:34", - "type": "" - } - ], - "src": "848:187:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1141:76:34", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "1151:26:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1163:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1174:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1159:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1159:18:34" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "1151:4:34" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1193:9:34" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1204:6:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1186:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "1186:25:34" - }, - "nodeType": "YulExpressionStatement", - "src": "1186:25:34" - } - ] - }, - "name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "1110:9:34", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "1121:6:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "1132:4:34", - "type": "" - } - ], - "src": "1040:177:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1323:125:34", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "1333:26:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1345:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1356:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1341:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1341:18:34" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "1333:4:34" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1375:9:34" - }, - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1390:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1398:42:34", - "type": "", - "value": "0xffffffffffffffffffffffffffffffffffffffff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "1386:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1386:55:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1368:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "1368:74:34" - }, - "nodeType": "YulExpressionStatement", - "src": "1368:74:34" - } - ] - }, - "name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "1292:9:34", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "1303:6:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "1314:4:34", - "type": "" - } - ], - "src": "1222:226:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1523:110:34", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "1569:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1578:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1581:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "1571:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "1571:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "1571:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "1544:7:34" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1553:9:34" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "1540:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1540:23:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1565:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "1536:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1536:32:34" - }, - "nodeType": "YulIf", - "src": "1533:52:34" - }, - { - "nodeType": "YulAssignment", - "src": "1594:33:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1617:9:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "1604:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "1604:23:34" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1594:6:34" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "1489:9:34", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "1500:7:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "1512:6:34", - "type": "" - } - ], - "src": "1453:180:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1739:76:34", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "1749:26:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1761:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1772:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1757:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1757:18:34" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "1749:4:34" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1791:9:34" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1802:6:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1784:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "1784:25:34" - }, - "nodeType": "YulExpressionStatement", - "src": "1784:25:34" - } - ] - }, - "name": "abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "1708:9:34", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "1719:6:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "1730:4:34", - "type": "" - } - ], - "src": "1638:177:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1909:320:34", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "1955:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1964:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1967:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "1957:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "1957:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "1957:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "1930:7:34" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1939:9:34" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "1926:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1926:23:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1951:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "1922:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1922:32:34" - }, - "nodeType": "YulIf", - "src": "1919:52:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1980:37:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2007:9:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "1994:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "1994:23:34" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "1984:6:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2060:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2069:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2072:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "2062:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "2062:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "2062:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "2032:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2040:18:34", - "type": "", - "value": "0xffffffffffffffff" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "2029:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "2029:30:34" - }, - "nodeType": "YulIf", - "src": "2026:50:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "2085:84:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2141:9:34" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "2152:6:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2137:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "2137:22:34" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "2161:7:34" - } - ], - "functionName": { - "name": "abi_decode_bytes_calldata", - "nodeType": "YulIdentifier", - "src": "2111:25:34" - }, - "nodeType": "YulFunctionCall", - "src": "2111:58:34" - }, - "variables": [ - { - "name": "value0_1", - "nodeType": "YulTypedName", - "src": "2089:8:34", - "type": "" - }, - { - "name": "value1_1", - "nodeType": "YulTypedName", - "src": "2099:8:34", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "2178:18:34", - "value": { - "name": "value0_1", - "nodeType": "YulIdentifier", - "src": "2188:8:34" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "2178:6:34" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "2205:18:34", - "value": { - "name": "value1_1", - "nodeType": "YulIdentifier", - "src": "2215:8:34" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "2205:6:34" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_bytes_calldata_ptr", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "1867:9:34", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "1878:7:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "1890:6:34", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "1898:6:34", - "type": "" - } - ], - "src": "1820:409:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2304:110:34", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "2350:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2359:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2362:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "2352:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "2352:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "2352:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "2325:7:34" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2334:9:34" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "2321:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "2321:23:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2346:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "2317:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "2317:32:34" - }, - "nodeType": "YulIf", - "src": "2314:52:34" - }, - { - "nodeType": "YulAssignment", - "src": "2375:33:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2398:9:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "2385:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "2385:23:34" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "2375:6:34" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_bytes32", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "2270:9:34", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "2281:7:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "2293:6:34", - "type": "" - } - ], - "src": "2234:180:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2464:109:34", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "2551:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2560:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2563:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "2553:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "2553:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "2553:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "2487:5:34" - }, - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "2498:5:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2505:42:34", - "type": "", - "value": "0xffffffffffffffffffffffffffffffffffffffff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "2494:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "2494:54:34" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "2484:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "2484:65:34" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "2477:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "2477:73:34" - }, - "nodeType": "YulIf", - "src": "2474:93:34" - } - ] - }, - "name": "validator_revert_address", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "2453:5:34", - "type": "" - } - ], - "src": "2419:154:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2648:177:34", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "2694:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2703:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2706:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "2696:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "2696:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "2696:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "2669:7:34" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2678:9:34" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "2665:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "2665:23:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2690:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "2661:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "2661:32:34" - }, - "nodeType": "YulIf", - "src": "2658:52:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "2719:36:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2745:9:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "2732:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "2732:23:34" - }, - "variables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "2723:5:34", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "2789:5:34" - } - ], - "functionName": { - "name": "validator_revert_address", - "nodeType": "YulIdentifier", - "src": "2764:24:34" - }, - "nodeType": "YulFunctionCall", - "src": "2764:31:34" - }, - "nodeType": "YulExpressionStatement", - "src": "2764:31:34" - }, - { - "nodeType": "YulAssignment", - "src": "2804:15:34", - "value": { - "name": "value", - "nodeType": "YulIdentifier", - "src": "2814:5:34" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "2804:6:34" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_address", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "2614:9:34", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "2625:7:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "2637:6:34", - "type": "" - } - ], - "src": "2578:247:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2862:152:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2879:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2882:77:34", - "type": "", - "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2872:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "2872:88:34" - }, - "nodeType": "YulExpressionStatement", - "src": "2872:88:34" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2976:1:34", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2979:4:34", - "type": "", - "value": "0x41" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2969:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "2969:15:34" - }, - "nodeType": "YulExpressionStatement", - "src": "2969:15:34" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3000:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3003:4:34", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "2993:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "2993:15:34" - }, - "nodeType": "YulExpressionStatement", - "src": "2993:15:34" - } - ] - }, - "name": "panic_error_0x41", - "nodeType": "YulFunctionDefinition", - "src": "2830:184:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3064:230:34", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "3074:19:34", - "value": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3090:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "3084:5:34" - }, - "nodeType": "YulFunctionCall", - "src": "3084:9:34" - }, - "variableNames": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "3074:6:34" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "3102:58:34", - "value": { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "3124:6:34" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "size", - "nodeType": "YulIdentifier", - "src": "3140:4:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3146:2:34", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3136:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "3136:13:34" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3155:2:34", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "3151:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "3151:7:34" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "3132:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "3132:27:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3120:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "3120:40:34" - }, - "variables": [ - { - "name": "newFreePtr", - "nodeType": "YulTypedName", - "src": "3106:10:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3235:22:34", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x41", - "nodeType": "YulIdentifier", - "src": "3237:16:34" - }, - "nodeType": "YulFunctionCall", - "src": "3237:18:34" - }, - "nodeType": "YulExpressionStatement", - "src": "3237:18:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "newFreePtr", - "nodeType": "YulIdentifier", - "src": "3178:10:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3190:18:34", - "type": "", - "value": "0xffffffffffffffff" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "3175:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "3175:34:34" - }, - { - "arguments": [ - { - "name": "newFreePtr", - "nodeType": "YulIdentifier", - "src": "3214:10:34" - }, - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "3226:6:34" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "3211:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "3211:22:34" - } - ], - "functionName": { - "name": "or", - "nodeType": "YulIdentifier", - "src": "3172:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "3172:62:34" - }, - "nodeType": "YulIf", - "src": "3169:88:34" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3273:2:34", - "type": "", - "value": "64" - }, - { - "name": "newFreePtr", - "nodeType": "YulIdentifier", - "src": "3277:10:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "3266:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "3266:22:34" - }, - "nodeType": "YulExpressionStatement", - "src": "3266:22:34" - } - ] - }, - "name": "allocate_memory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "size", - "nodeType": "YulTypedName", - "src": "3044:4:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "memPtr", - "nodeType": "YulTypedName", - "src": "3053:6:34", - "type": "" - } - ], - "src": "3019:275:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3368:114:34", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "3412:22:34", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x41", - "nodeType": "YulIdentifier", - "src": "3414:16:34" - }, - "nodeType": "YulFunctionCall", - "src": "3414:18:34" - }, - "nodeType": "YulExpressionStatement", - "src": "3414:18:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "3384:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3392:18:34", - "type": "", - "value": "0xffffffffffffffff" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "3381:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "3381:30:34" - }, - "nodeType": "YulIf", - "src": "3378:56:34" - }, - { - "nodeType": "YulAssignment", - "src": "3443:33:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3459:1:34", - "type": "", - "value": "5" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "3462:6:34" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "3455:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "3455:14:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3471:4:34", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3451:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "3451:25:34" - }, - "variableNames": [ - { - "name": "size", - "nodeType": "YulIdentifier", - "src": "3443:4:34" - } - ] - } - ] - }, - "name": "array_allocation_size_array_address_dyn", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "3348:6:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "size", - "nodeType": "YulTypedName", - "src": "3359:4:34", - "type": "" - } - ], - "src": "3299:183:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3549:1477:34", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "3559:14:34", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3569:4:34", - "type": "", - "value": "0x1f" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "3563:2:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3619:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3628:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3631:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "3621:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "3621:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "3621:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "3600:6:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "3608:2:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3596:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "3596:15:34" - }, - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "3613:3:34" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "3592:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "3592:25:34" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "3585:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "3585:33:34" - }, - "nodeType": "YulIf", - "src": "3582:53:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "3644:30:34", - "value": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "3667:6:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "3654:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "3654:20:34" - }, - "variables": [ - { - "name": "_2", - "nodeType": "YulTypedName", - "src": "3648:2:34", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "3683:14:34", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3693:4:34", - "type": "", - "value": "0x20" - }, - "variables": [ - { - "name": "_3", - "nodeType": "YulTypedName", - "src": "3687:2:34", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "3706:71:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "3773:2:34" - } - ], - "functionName": { - "name": "array_allocation_size_array_address_dyn", - "nodeType": "YulIdentifier", - "src": "3733:39:34" - }, - "nodeType": "YulFunctionCall", - "src": "3733:43:34" - } - ], - "functionName": { - "name": "allocate_memory", - "nodeType": "YulIdentifier", - "src": "3717:15:34" - }, - "nodeType": "YulFunctionCall", - "src": "3717:60:34" - }, - "variables": [ - { - "name": "dst", - "nodeType": "YulTypedName", - "src": "3710:3:34", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "3786:16:34", - "value": { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "3799:3:34" - }, - "variables": [ - { - "name": "dst_1", - "nodeType": "YulTypedName", - "src": "3790:5:34", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "3818:3:34" - }, - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "3823:2:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "3811:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "3811:15:34" - }, - "nodeType": "YulExpressionStatement", - "src": "3811:15:34" - }, - { - "nodeType": "YulAssignment", - "src": "3835:19:34", - "value": { - "arguments": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "3846:3:34" - }, - { - "name": "_3", - "nodeType": "YulIdentifier", - "src": "3851:2:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3842:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "3842:12:34" - }, - "variableNames": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "3835:3:34" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "3863:46:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "3885:6:34" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3897:1:34", - "type": "", - "value": "5" - }, - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "3900:2:34" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "3893:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "3893:10:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3881:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "3881:23:34" - }, - { - "name": "_3", - "nodeType": "YulIdentifier", - "src": "3906:2:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3877:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "3877:32:34" - }, - "variables": [ - { - "name": "srcEnd", - "nodeType": "YulTypedName", - "src": "3867:6:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3937:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3946:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3949:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "3939:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "3939:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "3939:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "srcEnd", - "nodeType": "YulIdentifier", - "src": "3924:6:34" - }, - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "3932:3:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "3921:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "3921:15:34" - }, - "nodeType": "YulIf", - "src": "3918:35:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "3962:26:34", - "value": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "3977:6:34" - }, - { - "name": "_3", - "nodeType": "YulIdentifier", - "src": "3985:2:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3973:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "3973:15:34" - }, - "variables": [ - { - "name": "src", - "nodeType": "YulTypedName", - "src": "3966:3:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4053:944:34", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "4067:36:34", - "value": { - "arguments": [ - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "4099:3:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "4086:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "4086:17:34" - }, - "variables": [ - { - "name": "innerOffset", - "nodeType": "YulTypedName", - "src": "4071:11:34", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "4116:28:34", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4126:18:34", - "type": "", - "value": "0xffffffffffffffff" - }, - "variables": [ - { - "name": "_4", - "nodeType": "YulTypedName", - "src": "4120:2:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4192:74:34", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "4210:11:34", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4220:1:34", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "_5", - "nodeType": "YulTypedName", - "src": "4214:2:34", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "_5", - "nodeType": "YulIdentifier", - "src": "4245:2:34" - }, - { - "name": "_5", - "nodeType": "YulIdentifier", - "src": "4249:2:34" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "4238:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "4238:14:34" - }, - "nodeType": "YulExpressionStatement", - "src": "4238:14:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "innerOffset", - "nodeType": "YulIdentifier", - "src": "4163:11:34" - }, - { - "name": "_4", - "nodeType": "YulIdentifier", - "src": "4176:2:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "4160:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "4160:19:34" - }, - "nodeType": "YulIf", - "src": "4157:109:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "4279:34:34", - "value": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "4293:6:34" - }, - { - "name": "innerOffset", - "nodeType": "YulIdentifier", - "src": "4301:11:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4289:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "4289:24:34" - }, - "variables": [ - { - "name": "_6", - "nodeType": "YulTypedName", - "src": "4283:2:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4371:74:34", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "4389:11:34", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4399:1:34", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "_7", - "nodeType": "YulTypedName", - "src": "4393:2:34", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "_7", - "nodeType": "YulIdentifier", - "src": "4424:2:34" - }, - { - "name": "_7", - "nodeType": "YulIdentifier", - "src": "4428:2:34" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "4417:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "4417:14:34" - }, - "nodeType": "YulExpressionStatement", - "src": "4417:14:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "_6", - "nodeType": "YulIdentifier", - "src": "4344:2:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4348:2:34", - "type": "", - "value": "63" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4340:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "4340:11:34" - }, - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "4353:3:34" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "4336:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "4336:21:34" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "4329:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "4329:29:34" - }, - "nodeType": "YulIf", - "src": "4326:119:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "4458:35:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "_6", - "nodeType": "YulIdentifier", - "src": "4485:2:34" - }, - { - "name": "_3", - "nodeType": "YulIdentifier", - "src": "4489:2:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4481:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "4481:11:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "4468:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "4468:25:34" - }, - "variables": [ - { - "name": "_8", - "nodeType": "YulTypedName", - "src": "4462:2:34", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "4506:12:34", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4516:2:34", - "type": "", - "value": "64" - }, - "variables": [ - { - "name": "_9", - "nodeType": "YulTypedName", - "src": "4510:2:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4545:22:34", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x41", - "nodeType": "YulIdentifier", - "src": "4547:16:34" - }, - "nodeType": "YulFunctionCall", - "src": "4547:18:34" - }, - "nodeType": "YulExpressionStatement", - "src": "4547:18:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "_8", - "nodeType": "YulIdentifier", - "src": "4537:2:34" - }, - { - "name": "_4", - "nodeType": "YulIdentifier", - "src": "4541:2:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "4534:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "4534:10:34" - }, - "nodeType": "YulIf", - "src": "4531:36:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "4580:66:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "_8", - "nodeType": "YulIdentifier", - "src": "4623:2:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "4627:2:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4619:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "4619:11:34" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4636:2:34", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "4632:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "4632:7:34" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "4615:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "4615:25:34" - }, - { - "name": "_3", - "nodeType": "YulIdentifier", - "src": "4642:2:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4611:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "4611:34:34" - } - ], - "functionName": { - "name": "allocate_memory", - "nodeType": "YulIdentifier", - "src": "4595:15:34" - }, - "nodeType": "YulFunctionCall", - "src": "4595:51:34" - }, - "variables": [ - { - "name": "array_1", - "nodeType": "YulTypedName", - "src": "4584:7:34", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "array_1", - "nodeType": "YulIdentifier", - "src": "4666:7:34" - }, - { - "name": "_8", - "nodeType": "YulIdentifier", - "src": "4675:2:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "4659:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "4659:19:34" - }, - "nodeType": "YulExpressionStatement", - "src": "4659:19:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4736:77:34", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "4754:12:34", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4765:1:34", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "_10", - "nodeType": "YulTypedName", - "src": "4758:3:34", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "_10", - "nodeType": "YulIdentifier", - "src": "4790:3:34" - }, - { - "name": "_10", - "nodeType": "YulIdentifier", - "src": "4795:3:34" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "4783:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "4783:16:34" - }, - "nodeType": "YulExpressionStatement", - "src": "4783:16:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "_6", - "nodeType": "YulIdentifier", - "src": "4705:2:34" - }, - { - "name": "_8", - "nodeType": "YulIdentifier", - "src": "4709:2:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4701:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "4701:11:34" - }, - { - "name": "_9", - "nodeType": "YulIdentifier", - "src": "4714:2:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4697:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "4697:20:34" - }, - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "4719:3:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "4694:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "4694:29:34" - }, - "nodeType": "YulIf", - "src": "4691:122:34" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "array_1", - "nodeType": "YulIdentifier", - "src": "4843:7:34" - }, - { - "name": "_3", - "nodeType": "YulIdentifier", - "src": "4852:2:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4839:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "4839:16:34" - }, - { - "arguments": [ - { - "name": "_6", - "nodeType": "YulIdentifier", - "src": "4861:2:34" - }, - { - "name": "_9", - "nodeType": "YulIdentifier", - "src": "4865:2:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4857:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "4857:11:34" - }, - { - "name": "_8", - "nodeType": "YulIdentifier", - "src": "4870:2:34" - } - ], - "functionName": { - "name": "calldatacopy", - "nodeType": "YulIdentifier", - "src": "4826:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "4826:47:34" - }, - "nodeType": "YulExpressionStatement", - "src": "4826:47:34" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "array_1", - "nodeType": "YulIdentifier", - "src": "4901:7:34" - }, - { - "name": "_8", - "nodeType": "YulIdentifier", - "src": "4910:2:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4897:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "4897:16:34" - }, - { - "name": "_3", - "nodeType": "YulIdentifier", - "src": "4915:2:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4893:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "4893:25:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4920:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "4886:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "4886:36:34" - }, - "nodeType": "YulExpressionStatement", - "src": "4886:36:34" - }, - { - "expression": { - "arguments": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "4942:3:34" - }, - { - "name": "array_1", - "nodeType": "YulIdentifier", - "src": "4947:7:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "4935:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "4935:20:34" - }, - "nodeType": "YulExpressionStatement", - "src": "4935:20:34" - }, - { - "nodeType": "YulAssignment", - "src": "4968:19:34", - "value": { - "arguments": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "4979:3:34" - }, - { - "name": "_3", - "nodeType": "YulIdentifier", - "src": "4984:2:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4975:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "4975:12:34" - }, - "variableNames": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "4968:3:34" - } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "4008:3:34" - }, - { - "name": "srcEnd", - "nodeType": "YulIdentifier", - "src": "4013:6:34" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "4005:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "4005:15:34" - }, - "nodeType": "YulForLoop", - "post": { - "nodeType": "YulBlock", - "src": "4021:23:34", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "4023:19:34", - "value": { - "arguments": [ - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "4034:3:34" - }, - { - "name": "_3", - "nodeType": "YulIdentifier", - "src": "4039:2:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4030:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "4030:12:34" - }, - "variableNames": [ - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "4023:3:34" - } - ] - } - ] - }, - "pre": { - "nodeType": "YulBlock", - "src": "4001:3:34", - "statements": [] - }, - "src": "3997:1000:34" - }, - { - "nodeType": "YulAssignment", - "src": "5006:14:34", - "value": { - "name": "dst_1", - "nodeType": "YulIdentifier", - "src": "5015:5:34" - }, - "variableNames": [ - { - "name": "array", - "nodeType": "YulIdentifier", - "src": "5006:5:34" - } - ] - } - ] - }, - "name": "abi_decode_array_bytes_dyn", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "3523:6:34", - "type": "" - }, - { - "name": "end", - "nodeType": "YulTypedName", - "src": "3531:3:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "array", - "nodeType": "YulTypedName", - "src": "3539:5:34", - "type": "" - } - ], - "src": "3487:1539:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5177:1076:34", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "5223:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5232:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5235:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "5225:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "5225:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "5225:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "5198:7:34" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5207:9:34" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "5194:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "5194:23:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5219:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "5190:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "5190:32:34" - }, - "nodeType": "YulIf", - "src": "5187:52:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "5248:37:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5275:9:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "5262:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "5262:23:34" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "5252:6:34", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "5294:28:34", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5304:18:34", - "type": "", - "value": "0xffffffffffffffff" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "5298:2:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5349:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5358:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5361:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "5351:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "5351:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "5351:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "5337:6:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "5345:2:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "5334:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "5334:14:34" - }, - "nodeType": "YulIf", - "src": "5331:34:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "5374:32:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5388:9:34" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "5399:6:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5384:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "5384:22:34" - }, - "variables": [ - { - "name": "_2", - "nodeType": "YulTypedName", - "src": "5378:2:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5454:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5463:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5466:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "5456:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "5456:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "5456:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "5433:2:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5437:4:34", - "type": "", - "value": "0x1f" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5429:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "5429:13:34" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "5444:7:34" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "5425:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "5425:27:34" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "5418:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "5418:35:34" - }, - "nodeType": "YulIf", - "src": "5415:55:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "5479:26:34", - "value": { - "arguments": [ - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "5502:2:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "5489:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "5489:16:34" - }, - "variables": [ - { - "name": "_3", - "nodeType": "YulTypedName", - "src": "5483:2:34", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "5514:14:34", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5524:4:34", - "type": "", - "value": "0x20" - }, - "variables": [ - { - "name": "_4", - "nodeType": "YulTypedName", - "src": "5518:2:34", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "5537:71:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "_3", - "nodeType": "YulIdentifier", - "src": "5604:2:34" - } - ], - "functionName": { - "name": "array_allocation_size_array_address_dyn", - "nodeType": "YulIdentifier", - "src": "5564:39:34" - }, - "nodeType": "YulFunctionCall", - "src": "5564:43:34" - } - ], - "functionName": { - "name": "allocate_memory", - "nodeType": "YulIdentifier", - "src": "5548:15:34" - }, - "nodeType": "YulFunctionCall", - "src": "5548:60:34" - }, - "variables": [ - { - "name": "dst", - "nodeType": "YulTypedName", - "src": "5541:3:34", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "5617:16:34", - "value": { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "5630:3:34" - }, - "variables": [ - { - "name": "dst_1", - "nodeType": "YulTypedName", - "src": "5621:5:34", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "5649:3:34" - }, - { - "name": "_3", - "nodeType": "YulIdentifier", - "src": "5654:2:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "5642:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "5642:15:34" - }, - "nodeType": "YulExpressionStatement", - "src": "5642:15:34" - }, - { - "nodeType": "YulAssignment", - "src": "5666:19:34", - "value": { - "arguments": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "5677:3:34" - }, - { - "name": "_4", - "nodeType": "YulIdentifier", - "src": "5682:2:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5673:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "5673:12:34" - }, - "variableNames": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "5666:3:34" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "5694:42:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "5716:2:34" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5724:1:34", - "type": "", - "value": "5" - }, - { - "name": "_3", - "nodeType": "YulIdentifier", - "src": "5727:2:34" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "5720:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "5720:10:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5712:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "5712:19:34" - }, - { - "name": "_4", - "nodeType": "YulIdentifier", - "src": "5733:2:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5708:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "5708:28:34" - }, - "variables": [ - { - "name": "srcEnd", - "nodeType": "YulTypedName", - "src": "5698:6:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5768:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5777:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5780:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "5770:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "5770:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "5770:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "srcEnd", - "nodeType": "YulIdentifier", - "src": "5751:6:34" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "5759:7:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "5748:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "5748:19:34" - }, - "nodeType": "YulIf", - "src": "5745:39:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "5793:22:34", - "value": { - "arguments": [ - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "5808:2:34" - }, - { - "name": "_4", - "nodeType": "YulIdentifier", - "src": "5812:2:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5804:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "5804:11:34" - }, - "variables": [ - { - "name": "src", - "nodeType": "YulTypedName", - "src": "5797:3:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5880:161:34", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "5894:30:34", - "value": { - "arguments": [ - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "5920:3:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "5907:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "5907:17:34" - }, - "variables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "5898:5:34", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "5962:5:34" - } - ], - "functionName": { - "name": "validator_revert_address", - "nodeType": "YulIdentifier", - "src": "5937:24:34" - }, - "nodeType": "YulFunctionCall", - "src": "5937:31:34" - }, - "nodeType": "YulExpressionStatement", - "src": "5937:31:34" - }, - { - "expression": { - "arguments": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "5988:3:34" - }, - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "5993:5:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "5981:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "5981:18:34" - }, - "nodeType": "YulExpressionStatement", - "src": "5981:18:34" - }, - { - "nodeType": "YulAssignment", - "src": "6012:19:34", - "value": { - "arguments": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "6023:3:34" - }, - { - "name": "_4", - "nodeType": "YulIdentifier", - "src": "6028:2:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6019:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "6019:12:34" - }, - "variableNames": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "6012:3:34" - } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "5835:3:34" - }, - { - "name": "srcEnd", - "nodeType": "YulIdentifier", - "src": "5840:6:34" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "5832:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "5832:15:34" - }, - "nodeType": "YulForLoop", - "post": { - "nodeType": "YulBlock", - "src": "5848:23:34", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "5850:19:34", - "value": { - "arguments": [ - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "5861:3:34" - }, - { - "name": "_4", - "nodeType": "YulIdentifier", - "src": "5866:2:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5857:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "5857:12:34" - }, - "variableNames": [ - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "5850:3:34" - } - ] - } - ] - }, - "pre": { - "nodeType": "YulBlock", - "src": "5828:3:34", - "statements": [] - }, - "src": "5824:217:34" - }, - { - "nodeType": "YulAssignment", - "src": "6050:15:34", - "value": { - "name": "dst_1", - "nodeType": "YulIdentifier", - "src": "6060:5:34" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "6050:6:34" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "6074:48:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6107:9:34" - }, - { - "name": "_4", - "nodeType": "YulIdentifier", - "src": "6118:2:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6103:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "6103:18:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "6090:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "6090:32:34" - }, - "variables": [ - { - "name": "offset_1", - "nodeType": "YulTypedName", - "src": "6078:8:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "6151:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6160:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6163:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "6153:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "6153:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "6153:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset_1", - "nodeType": "YulIdentifier", - "src": "6137:8:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "6147:2:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "6134:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "6134:16:34" - }, - "nodeType": "YulIf", - "src": "6131:36:34" - }, - { - "nodeType": "YulAssignment", - "src": "6176:71:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6217:9:34" - }, - { - "name": "offset_1", - "nodeType": "YulIdentifier", - "src": "6228:8:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6213:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "6213:24:34" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "6239:7:34" - } - ], - "functionName": { - "name": "abi_decode_array_bytes_dyn", - "nodeType": "YulIdentifier", - "src": "6186:26:34" - }, - "nodeType": "YulFunctionCall", - "src": "6186:61:34" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "6176:6:34" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_array$_t_address_$dyn_memory_ptrt_array$_t_bytes_memory_ptr_$dyn_memory_ptr", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "5135:9:34", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "5146:7:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "5158:6:34", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "5166:6:34", - "type": "" - } - ], - "src": "5031:1222:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "6437:575:34", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "6447:32:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6465:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6476:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6461:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "6461:18:34" - }, - "variables": [ - { - "name": "tail_1", - "nodeType": "YulTypedName", - "src": "6451:6:34", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6495:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6506:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "6488:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "6488:21:34" - }, - "nodeType": "YulExpressionStatement", - "src": "6488:21:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "6518:17:34", - "value": { - "name": "tail_1", - "nodeType": "YulIdentifier", - "src": "6529:6:34" - }, - "variables": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "6522:3:34", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "6544:27:34", - "value": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "6564:6:34" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "6558:5:34" - }, - "nodeType": "YulFunctionCall", - "src": "6558:13:34" - }, - "variables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "6548:6:34", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "tail_1", - "nodeType": "YulIdentifier", - "src": "6587:6:34" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "6595:6:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "6580:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "6580:22:34" - }, - "nodeType": "YulExpressionStatement", - "src": "6580:22:34" - }, - { - "nodeType": "YulAssignment", - "src": "6611:25:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6622:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6633:2:34", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6618:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "6618:18:34" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "6611:3:34" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "6645:14:34", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6655:4:34", - "type": "", - "value": "0x20" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "6649:2:34", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "6668:29:34", - "value": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "6686:6:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "6694:2:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6682:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "6682:15:34" - }, - "variables": [ - { - "name": "srcPtr", - "nodeType": "YulTypedName", - "src": "6672:6:34", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "6706:10:34", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6715:1:34", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "i", - "nodeType": "YulTypedName", - "src": "6710:1:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "6774:169:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "6795:3:34" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "srcPtr", - "nodeType": "YulIdentifier", - "src": "6810:6:34" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "6804:5:34" - }, - "nodeType": "YulFunctionCall", - "src": "6804:13:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6819:42:34", - "type": "", - "value": "0xffffffffffffffffffffffffffffffffffffffff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "6800:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "6800:62:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "6788:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "6788:75:34" - }, - "nodeType": "YulExpressionStatement", - "src": "6788:75:34" - }, - { - "nodeType": "YulAssignment", - "src": "6876:19:34", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "6887:3:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "6892:2:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6883:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "6883:12:34" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "6876:3:34" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "6908:25:34", - "value": { - "arguments": [ - { - "name": "srcPtr", - "nodeType": "YulIdentifier", - "src": "6922:6:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "6930:2:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6918:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "6918:15:34" - }, - "variableNames": [ - { - "name": "srcPtr", - "nodeType": "YulIdentifier", - "src": "6908:6:34" - } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "6736:1:34" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "6739:6:34" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "6733:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "6733:13:34" - }, - "nodeType": "YulForLoop", - "post": { - "nodeType": "YulBlock", - "src": "6747:18:34", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "6749:14:34", - "value": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "6758:1:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6761:1:34", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6754:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "6754:9:34" - }, - "variableNames": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "6749:1:34" - } - ] - } - ] - }, - "pre": { - "nodeType": "YulBlock", - "src": "6729:3:34", - "statements": [] - }, - "src": "6725:218:34" - }, - { - "nodeType": "YulAssignment", - "src": "6952:11:34", - "value": { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "6960:3:34" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "6952:4:34" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6983:9:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "6994:2:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6979:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "6979:18:34" - }, - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "6999:6:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "6972:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "6972:34:34" - }, - "nodeType": "YulExpressionStatement", - "src": "6972:34:34" - } - ] - }, - "name": "abi_encode_tuple_t_array$_t_address_$dyn_memory_ptr_t_uint256__to_t_array$_t_address_$dyn_memory_ptr_t_uint256__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "6398:9:34", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "6409:6:34", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "6417:6:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "6428:4:34", - "type": "" - } - ], - "src": "6258:754:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "7049:152:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7066:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7069:77:34", - "type": "", - "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "7059:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "7059:88:34" - }, - "nodeType": "YulExpressionStatement", - "src": "7059:88:34" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7163:1:34", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7166:4:34", - "type": "", - "value": "0x11" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "7156:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "7156:15:34" - }, - "nodeType": "YulExpressionStatement", - "src": "7156:15:34" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7187:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7190:4:34", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "7180:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "7180:15:34" - }, - "nodeType": "YulExpressionStatement", - "src": "7180:15:34" - } - ] - }, - "name": "panic_error_0x11", - "nodeType": "YulFunctionDefinition", - "src": "7017:184:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "7255:76:34", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "7277:22:34", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x11", - "nodeType": "YulIdentifier", - "src": "7279:16:34" - }, - "nodeType": "YulFunctionCall", - "src": "7279:18:34" - }, - "nodeType": "YulExpressionStatement", - "src": "7279:18:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "7271:1:34" - }, - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "7274:1:34" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "7268:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "7268:8:34" - }, - "nodeType": "YulIf", - "src": "7265:34:34" - }, - { - "nodeType": "YulAssignment", - "src": "7308:17:34", - "value": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "7320:1:34" - }, - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "7323:1:34" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "7316:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "7316:9:34" - }, - "variableNames": [ - { - "name": "diff", - "nodeType": "YulIdentifier", - "src": "7308:4:34" - } - ] - } - ] - }, - "name": "checked_sub_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "x", - "nodeType": "YulTypedName", - "src": "7237:1:34", - "type": "" - }, - { - "name": "y", - "nodeType": "YulTypedName", - "src": "7240:1:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "diff", - "nodeType": "YulTypedName", - "src": "7246:4:34", - "type": "" - } - ], - "src": "7206:125:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "7368:152:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7385:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7388:77:34", - "type": "", - "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "7378:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "7378:88:34" - }, - "nodeType": "YulExpressionStatement", - "src": "7378:88:34" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7482:1:34", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7485:4:34", - "type": "", - "value": "0x32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "7475:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "7475:15:34" - }, - "nodeType": "YulExpressionStatement", - "src": "7475:15:34" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7506:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7509:4:34", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "7499:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "7499:15:34" - }, - "nodeType": "YulExpressionStatement", - "src": "7499:15:34" - } - ] - }, - "name": "panic_error_0x32", - "nodeType": "YulFunctionDefinition", - "src": "7336:184:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "7572:88:34", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "7603:22:34", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x11", - "nodeType": "YulIdentifier", - "src": "7605:16:34" - }, - "nodeType": "YulFunctionCall", - "src": "7605:18:34" - }, - "nodeType": "YulExpressionStatement", - "src": "7605:18:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "7588:5:34" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7599:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "7595:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "7595:6:34" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "7585:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "7585:17:34" - }, - "nodeType": "YulIf", - "src": "7582:43:34" - }, - { - "nodeType": "YulAssignment", - "src": "7634:20:34", - "value": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "7645:5:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7652:1:34", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7641:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "7641:13:34" - }, - "variableNames": [ - { - "name": "ret", - "nodeType": "YulIdentifier", - "src": "7634:3:34" - } - ] - } - ] - }, - "name": "increment_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "7554:5:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "ret", - "nodeType": "YulTypedName", - "src": "7564:3:34", - "type": "" - } - ], - "src": "7525:135:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "7788:896:34", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "7834:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7843:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7846:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "7836:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "7836:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "7836:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "7809:7:34" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7818:9:34" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "7805:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "7805:23:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7830:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "7801:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "7801:32:34" - }, - "nodeType": "YulIf", - "src": "7798:52:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "7859:30:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7879:9:34" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "7873:5:34" - }, - "nodeType": "YulFunctionCall", - "src": "7873:16:34" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "7863:6:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "7932:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7941:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7944:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "7934:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "7934:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "7934:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "7904:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7912:18:34", - "type": "", - "value": "0xffffffffffffffff" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "7901:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "7901:30:34" - }, - "nodeType": "YulIf", - "src": "7898:50:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "7957:32:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7971:9:34" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "7982:6:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7967:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "7967:22:34" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "7961:2:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "8037:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8046:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8049:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "8039:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "8039:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "8039:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "8016:2:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8020:4:34", - "type": "", - "value": "0x1f" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8012:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "8012:13:34" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "8027:7:34" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "8008:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "8008:27:34" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "8001:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "8001:35:34" - }, - "nodeType": "YulIf", - "src": "7998:55:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "8062:19:34", - "value": { - "arguments": [ - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "8078:2:34" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "8072:5:34" - }, - "nodeType": "YulFunctionCall", - "src": "8072:9:34" - }, - "variables": [ - { - "name": "_2", - "nodeType": "YulTypedName", - "src": "8066:2:34", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "8090:14:34", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8100:4:34", - "type": "", - "value": "0x20" - }, - "variables": [ - { - "name": "_3", - "nodeType": "YulTypedName", - "src": "8094:2:34", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "8113:71:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "8180:2:34" - } - ], - "functionName": { - "name": "array_allocation_size_array_address_dyn", - "nodeType": "YulIdentifier", - "src": "8140:39:34" - }, - "nodeType": "YulFunctionCall", - "src": "8140:43:34" - } - ], - "functionName": { - "name": "allocate_memory", - "nodeType": "YulIdentifier", - "src": "8124:15:34" - }, - "nodeType": "YulFunctionCall", - "src": "8124:60:34" - }, - "variables": [ - { - "name": "dst", - "nodeType": "YulTypedName", - "src": "8117:3:34", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "8193:16:34", - "value": { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "8206:3:34" - }, - "variables": [ - { - "name": "dst_1", - "nodeType": "YulTypedName", - "src": "8197:5:34", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "8225:3:34" - }, - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "8230:2:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "8218:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "8218:15:34" - }, - "nodeType": "YulExpressionStatement", - "src": "8218:15:34" - }, - { - "nodeType": "YulAssignment", - "src": "8242:19:34", - "value": { - "arguments": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "8253:3:34" - }, - { - "name": "_3", - "nodeType": "YulIdentifier", - "src": "8258:2:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8249:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "8249:12:34" - }, - "variableNames": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "8242:3:34" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "8270:42:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "8292:2:34" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8300:1:34", - "type": "", - "value": "5" - }, - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "8303:2:34" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "8296:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "8296:10:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8288:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "8288:19:34" - }, - { - "name": "_3", - "nodeType": "YulIdentifier", - "src": "8309:2:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8284:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "8284:28:34" - }, - "variables": [ - { - "name": "srcEnd", - "nodeType": "YulTypedName", - "src": "8274:6:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "8344:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8353:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8356:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "8346:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "8346:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "8346:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "srcEnd", - "nodeType": "YulIdentifier", - "src": "8327:6:34" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "8335:7:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "8324:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "8324:19:34" - }, - "nodeType": "YulIf", - "src": "8321:39:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "8369:22:34", - "value": { - "arguments": [ - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "8384:2:34" - }, - { - "name": "_3", - "nodeType": "YulIdentifier", - "src": "8388:2:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8380:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "8380:11:34" - }, - "variables": [ - { - "name": "src", - "nodeType": "YulTypedName", - "src": "8373:3:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "8456:154:34", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "8470:23:34", - "value": { - "arguments": [ - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "8489:3:34" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "8483:5:34" - }, - "nodeType": "YulFunctionCall", - "src": "8483:10:34" - }, - "variables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "8474:5:34", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "8531:5:34" - } - ], - "functionName": { - "name": "validator_revert_address", - "nodeType": "YulIdentifier", - "src": "8506:24:34" - }, - "nodeType": "YulFunctionCall", - "src": "8506:31:34" - }, - "nodeType": "YulExpressionStatement", - "src": "8506:31:34" - }, - { - "expression": { - "arguments": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "8557:3:34" - }, - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "8562:5:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "8550:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "8550:18:34" - }, - "nodeType": "YulExpressionStatement", - "src": "8550:18:34" - }, - { - "nodeType": "YulAssignment", - "src": "8581:19:34", - "value": { - "arguments": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "8592:3:34" - }, - { - "name": "_3", - "nodeType": "YulIdentifier", - "src": "8597:2:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8588:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "8588:12:34" - }, - "variableNames": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "8581:3:34" - } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "8411:3:34" - }, - { - "name": "srcEnd", - "nodeType": "YulIdentifier", - "src": "8416:6:34" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "8408:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "8408:15:34" - }, - "nodeType": "YulForLoop", - "post": { - "nodeType": "YulBlock", - "src": "8424:23:34", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "8426:19:34", - "value": { - "arguments": [ - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "8437:3:34" - }, - { - "name": "_3", - "nodeType": "YulIdentifier", - "src": "8442:2:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8433:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "8433:12:34" - }, - "variableNames": [ - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "8426:3:34" - } - ] - } - ] - }, - "pre": { - "nodeType": "YulBlock", - "src": "8404:3:34", - "statements": [] - }, - "src": "8400:210:34" - }, - { - "nodeType": "YulAssignment", - "src": "8619:15:34", - "value": { - "name": "dst_1", - "nodeType": "YulIdentifier", - "src": "8629:5:34" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "8619:6:34" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "8643:35:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "8663:9:34" - }, - { - "name": "_3", - "nodeType": "YulIdentifier", - "src": "8674:2:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8659:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "8659:18:34" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "8653:5:34" - }, - "nodeType": "YulFunctionCall", - "src": "8653:25:34" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "8643:6:34" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_array$_t_address_$dyn_memory_ptrt_uint256_fromMemory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "7746:9:34", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "7757:7:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "7769:6:34", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "7777:6:34", - "type": "" - } - ], - "src": "7665:1019:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "8737:80:34", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "8764:22:34", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x11", - "nodeType": "YulIdentifier", - "src": "8766:16:34" - }, - "nodeType": "YulFunctionCall", - "src": "8766:18:34" - }, - "nodeType": "YulExpressionStatement", - "src": "8766:18:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "8753:1:34" - }, - { - "arguments": [ - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "8760:1:34" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "8756:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "8756:6:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "8750:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "8750:13:34" - }, - "nodeType": "YulIf", - "src": "8747:39:34" - }, - { - "nodeType": "YulAssignment", - "src": "8795:16:34", - "value": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "8806:1:34" - }, - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "8809:1:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8802:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "8802:9:34" - }, - "variableNames": [ - { - "name": "sum", - "nodeType": "YulIdentifier", - "src": "8795:3:34" - } - ] - } - ] - }, - "name": "checked_add_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "x", - "nodeType": "YulTypedName", - "src": "8720:1:34", - "type": "" - }, - { - "name": "y", - "nodeType": "YulTypedName", - "src": "8723:1:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "sum", - "nodeType": "YulTypedName", - "src": "8729:3:34", - "type": "" - } - ], - "src": "8689:128:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "9003:217:34", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "9013:27:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9025:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9036:3:34", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9021:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "9021:19:34" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "9013:4:34" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9056:9:34" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "9067:6:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "9049:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "9049:25:34" - }, - "nodeType": "YulExpressionStatement", - "src": "9049:25:34" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9094:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9105:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9090:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "9090:18:34" - }, - { - "arguments": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "9114:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9122:4:34", - "type": "", - "value": "0xff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "9110:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "9110:17:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "9083:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "9083:45:34" - }, - "nodeType": "YulExpressionStatement", - "src": "9083:45:34" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9148:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9159:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9144:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "9144:18:34" - }, - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "9164:6:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "9137:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "9137:34:34" - }, - "nodeType": "YulExpressionStatement", - "src": "9137:34:34" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9191:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9202:2:34", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9187:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "9187:18:34" - }, - { - "name": "value3", - "nodeType": "YulIdentifier", - "src": "9207:6:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "9180:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "9180:34:34" - }, - "nodeType": "YulExpressionStatement", - "src": "9180:34:34" - } - ] - }, - "name": "abi_encode_tuple_t_bytes32_t_uint8_t_bytes32_t_bytes32__to_t_bytes32_t_uint8_t_bytes32_t_bytes32__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "8948:9:34", - "type": "" - }, - { - "name": "value3", - "nodeType": "YulTypedName", - "src": "8959:6:34", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "8967:6:34", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "8975:6:34", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "8983:6:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "8994:4:34", - "type": "" - } - ], - "src": "8822:398:34" - } - ] - }, - "contents": "{\n { }\n function abi_decode_bytes_calldata(offset, end) -> arrayPos, length\n {\n if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n length := calldataload(offset)\n if gt(length, 0xffffffffffffffff) { revert(0, 0) }\n arrayPos := add(offset, 0x20)\n if gt(add(add(offset, length), 0x20), end) { revert(0, 0) }\n }\n function abi_decode_tuple_t_bytes32t_bytes_calldata_ptr(headStart, dataEnd) -> value0, value1, value2\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := calldataload(headStart)\n let offset := calldataload(add(headStart, 32))\n if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n let value1_1, value2_1 := abi_decode_bytes_calldata(add(headStart, offset), dataEnd)\n value1 := value1_1\n value2 := value2_1\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_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_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_decode_tuple_t_uint256(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n value0 := calldataload(headStart)\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_decode_tuple_t_bytes_calldata_ptr(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let offset := calldataload(headStart)\n if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n let value0_1, value1_1 := abi_decode_bytes_calldata(add(headStart, offset), dataEnd)\n value0 := value0_1\n value1 := value1_1\n }\n function abi_decode_tuple_t_bytes32(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n value0 := calldataload(headStart)\n }\n function validator_revert_address(value)\n {\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(0, 0) }\n let value := calldataload(headStart)\n validator_revert_address(value)\n value0 := value\n }\n function panic_error_0x41()\n {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n function allocate_memory(size) -> memPtr\n {\n memPtr := mload(64)\n let newFreePtr := add(memPtr, and(add(size, 31), not(31)))\n if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n }\n function array_allocation_size_array_address_dyn(length) -> size\n {\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n size := add(shl(5, length), 0x20)\n }\n function abi_decode_array_bytes_dyn(offset, end) -> array\n {\n let _1 := 0x1f\n if iszero(slt(add(offset, _1), end)) { revert(0, 0) }\n let _2 := calldataload(offset)\n let _3 := 0x20\n let dst := allocate_memory(array_allocation_size_array_address_dyn(_2))\n let dst_1 := dst\n mstore(dst, _2)\n dst := add(dst, _3)\n let srcEnd := add(add(offset, shl(5, _2)), _3)\n if gt(srcEnd, end) { revert(0, 0) }\n let src := add(offset, _3)\n for { } lt(src, srcEnd) { src := add(src, _3) }\n {\n let innerOffset := calldataload(src)\n let _4 := 0xffffffffffffffff\n if gt(innerOffset, _4)\n {\n let _5 := 0\n revert(_5, _5)\n }\n let _6 := add(offset, innerOffset)\n if iszero(slt(add(_6, 63), end))\n {\n let _7 := 0\n revert(_7, _7)\n }\n let _8 := calldataload(add(_6, _3))\n let _9 := 64\n if gt(_8, _4) { panic_error_0x41() }\n let array_1 := allocate_memory(add(and(add(_8, _1), not(31)), _3))\n mstore(array_1, _8)\n if gt(add(add(_6, _8), _9), end)\n {\n let _10 := 0\n revert(_10, _10)\n }\n calldatacopy(add(array_1, _3), add(_6, _9), _8)\n mstore(add(add(array_1, _8), _3), 0)\n mstore(dst, array_1)\n dst := add(dst, _3)\n }\n array := dst_1\n }\n function abi_decode_tuple_t_array$_t_address_$dyn_memory_ptrt_array$_t_bytes_memory_ptr_$dyn_memory_ptr(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n let offset := calldataload(headStart)\n let _1 := 0xffffffffffffffff\n if gt(offset, _1) { revert(0, 0) }\n let _2 := add(headStart, offset)\n if iszero(slt(add(_2, 0x1f), dataEnd)) { revert(0, 0) }\n let _3 := calldataload(_2)\n let _4 := 0x20\n let dst := allocate_memory(array_allocation_size_array_address_dyn(_3))\n let dst_1 := dst\n mstore(dst, _3)\n dst := add(dst, _4)\n let srcEnd := add(add(_2, shl(5, _3)), _4)\n if gt(srcEnd, dataEnd) { revert(0, 0) }\n let src := add(_2, _4)\n for { } lt(src, srcEnd) { src := add(src, _4) }\n {\n let value := calldataload(src)\n validator_revert_address(value)\n mstore(dst, value)\n dst := add(dst, _4)\n }\n value0 := dst_1\n let offset_1 := calldataload(add(headStart, _4))\n if gt(offset_1, _1) { revert(0, 0) }\n value1 := abi_decode_array_bytes_dyn(add(headStart, offset_1), dataEnd)\n }\n function abi_encode_tuple_t_array$_t_address_$dyn_memory_ptr_t_uint256__to_t_array$_t_address_$dyn_memory_ptr_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n {\n let tail_1 := add(headStart, 64)\n mstore(headStart, 64)\n let pos := tail_1\n let length := mload(value0)\n mstore(tail_1, length)\n pos := add(headStart, 96)\n let _1 := 0x20\n let srcPtr := add(value0, _1)\n let i := 0\n for { } lt(i, length) { i := add(i, 1) }\n {\n mstore(pos, and(mload(srcPtr), 0xffffffffffffffffffffffffffffffffffffffff))\n pos := add(pos, _1)\n srcPtr := add(srcPtr, _1)\n }\n tail := pos\n mstore(add(headStart, _1), value1)\n }\n function panic_error_0x11()\n {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\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 panic_error_0x32()\n {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x32)\n revert(0, 0x24)\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 abi_decode_tuple_t_array$_t_address_$dyn_memory_ptrt_uint256_fromMemory(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n let offset := mload(headStart)\n if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n let _1 := add(headStart, offset)\n if iszero(slt(add(_1, 0x1f), dataEnd)) { revert(0, 0) }\n let _2 := mload(_1)\n let _3 := 0x20\n let dst := allocate_memory(array_allocation_size_array_address_dyn(_2))\n let dst_1 := dst\n mstore(dst, _2)\n dst := add(dst, _3)\n let srcEnd := add(add(_1, shl(5, _2)), _3)\n if gt(srcEnd, dataEnd) { revert(0, 0) }\n let src := add(_1, _3)\n for { } lt(src, srcEnd) { src := add(src, _3) }\n {\n let value := mload(src)\n validator_revert_address(value)\n mstore(dst, value)\n dst := add(dst, _3)\n }\n value0 := dst_1\n value1 := mload(add(headStart, _3))\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 abi_encode_tuple_t_bytes32_t_uint8_t_bytes32_t_bytes32__to_t_bytes32_t_uint8_t_bytes32_t_bytes32__fromStack_reversed(headStart, value3, value2, value1, value0) -> tail\n {\n tail := add(headStart, 128)\n mstore(headStart, value0)\n mstore(add(headStart, 32), and(value1, 0xff))\n mstore(add(headStart, 64), value2)\n mstore(add(headStart, 96), value3)\n }\n}", - "id": 34, - "language": "Yul", - "name": "#utility.yul" - } - ], - "immutableReferences": {}, - "linkReferences": {}, - "object": "608060405234801561001057600080fd5b506004361061007d5760003560e01c8063ba6742e51161005b578063ba6742e5146100ec578063d289d1cb1461010c578063f1501c8914610121578063f2fde38b1461014157600080fd5b806373e3d66a1461008257806376671808146100aa5780638da5cb5b146100c1575b600080fd5b61009561009036600461086b565b610154565b60405190151581526020015b60405180910390f35b6100b360015481565b6040519081526020016100a1565b6000546100d4906001600160a01b031681565b6040516001600160a01b0390911681526020016100a1565b6100b36100fa3660046108b7565b60026020526000908152604090205481565b61011f61011a3660046108d0565b6101f6565b005b6100b361012f3660046108b7565b60036020526000908152604090205481565b61011f61014f36600461092a565b610264565b6000808061016484860186610aa2565b91509150600082825160405160200161017e929190610b64565b60408051601f19818403018152918152815160209283012060008181526003909352912054600154919250908115806101c1575060106101be8383610bcb565b10155b156101df57604051630849699d60e11b815260040160405180910390fd5b6101ea898686610342565b14979650505050505050565b6000546001600160a01b03163314610221576040516330cd747160e01b815260040160405180910390fd5b61026082828080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061042692505050565b5050565b6000546001600160a01b0316331461028f576040516330cd747160e01b815260040160405180910390fd5b6001600160a01b0381166102cf576040517f49e27cff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b6000805b825181101561041f5760006103748685848151811061036757610367610be2565b6020026020010151610586565b90505b8451831080156103b2575084838151811061039457610394610be2565b60200260200101516001600160a01b0316816001600160a01b031614155b156103c7576103c083610bf8565b9250610377565b8451831415610402576040517fc6fb539300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61040b83610bf8565b9250508061041890610bf8565b9050610346565b5050505050565b6000808280602001905181019061043d9190610c13565b81519193509150801580610457575061045583610729565b155b1561047557604051630849699d60e11b815260040160405180910390fd5b81158061048157508181105b156104b8576040517faabd5a0900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8351602080860191909120600081815260039092526040909120541561050a576040517ff8f3c10400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000600154600161051b9190610cb5565b60018190556000818152600260209081526040808320869055858352600390915290819020829055519091507f91b26cf03198606868def38877d68b97d978ce42e6150b44ef327c4c900d0c4e906105769087908790610b64565b60405180910390a1505050505050565b600081516041146105c3576040517f4be6321b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60208201516040830151606084015160001a7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a082111561062f576040517f40c1e74800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8060ff16601b1415801561064757508060ff16601c14155b1561067e576040517f119bce3900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040805160008082526020820180845289905260ff841692820192909252606081018590526080810184905260019060a0016020604051602081039080840390855afa1580156106d2573d6000803e3d6000fd5b505050602060405103519450846001600160a01b03161415610720576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50505092915050565b6000805b6001835161073b9190610bcb565b8110156107e9578261074e826001610cb5565b8151811061075e5761075e610be2565b60200260200101516001600160a01b031683828151811061078157610781610be2565b60200260200101516001600160a01b03161015806107cb57506000836107a8836001610cb5565b815181106107b8576107b8610be2565b60200260200101516001600160a01b0316145b156107d95750600092915050565b6107e281610bf8565b905061072d565b5060006001600160a01b03168260008151811061080857610808610be2565b60200260200101516001600160a01b031614159050919050565b60008083601f84011261083457600080fd5b50813567ffffffffffffffff81111561084c57600080fd5b60208301915083602082850101111561086457600080fd5b9250929050565b60008060006040848603121561088057600080fd5b83359250602084013567ffffffffffffffff81111561089e57600080fd5b6108aa86828701610822565b9497909650939450505050565b6000602082840312156108c957600080fd5b5035919050565b600080602083850312156108e357600080fd5b823567ffffffffffffffff8111156108fa57600080fd5b61090685828601610822565b90969095509350505050565b6001600160a01b038116811461092757600080fd5b50565b60006020828403121561093c57600080fd5b813561094781610912565b9392505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561098d5761098d61094e565b604052919050565b600067ffffffffffffffff8211156109af576109af61094e565b5060051b60200190565b6000601f83818401126109cb57600080fd5b823560206109e06109db83610995565b610964565b82815260059290921b850181019181810190878411156109ff57600080fd5b8287015b84811015610a9657803567ffffffffffffffff80821115610a245760008081fd5b818a0191508a603f830112610a395760008081fd5b85820135604082821115610a4f57610a4f61094e565b610a60828b01601f19168901610964565b92508183528c81838601011115610a775760008081fd5b8181850189850137506000908201870152845250918301918301610a03565b50979650505050505050565b60008060408385031215610ab557600080fd5b823567ffffffffffffffff80821115610acd57600080fd5b818501915085601f830112610ae157600080fd5b81356020610af16109db83610995565b82815260059290921b84018101918181019089841115610b1057600080fd5b948201945b83861015610b37578535610b2881610912565b82529482019490820190610b15565b96505086013592505080821115610b4d57600080fd5b50610b5a858286016109b9565b9150509250929050565b604080825283519082018190526000906020906060840190828701845b82811015610ba65781516001600160a01b031684529284019290840190600101610b81565b50505092019290925292915050565b634e487b7160e01b600052601160045260246000fd5b600082821015610bdd57610bdd610bb5565b500390565b634e487b7160e01b600052603260045260246000fd5b6000600019821415610c0c57610c0c610bb5565b5060010190565b60008060408385031215610c2657600080fd5b825167ffffffffffffffff811115610c3d57600080fd5b8301601f81018513610c4e57600080fd5b80516020610c5e6109db83610995565b82815260059290921b83018101918181019088841115610c7d57600080fd5b938201935b83851015610ca4578451610c9581610912565b82529382019390820190610c82565b969091015195979596505050505050565b60008219821115610cc857610cc8610bb5565b50019056fea26469706673582212209abfd0ced392ff72d5b29f9650a06b1d1680bd91c1b3fcb75487f928836407e764736f6c63430008090033", - "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 0xBA6742E5 GT PUSH2 0x5B JUMPI DUP1 PUSH4 0xBA6742E5 EQ PUSH2 0xEC JUMPI DUP1 PUSH4 0xD289D1CB EQ PUSH2 0x10C JUMPI DUP1 PUSH4 0xF1501C89 EQ PUSH2 0x121 JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0x141 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x73E3D66A EQ PUSH2 0x82 JUMPI DUP1 PUSH4 0x76671808 EQ PUSH2 0xAA JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0xC1 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x95 PUSH2 0x90 CALLDATASIZE PUSH1 0x4 PUSH2 0x86B JUMP JUMPDEST PUSH2 0x154 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xB3 PUSH1 0x1 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xA1 JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH2 0xD4 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xA1 JUMP JUMPDEST PUSH2 0xB3 PUSH2 0xFA CALLDATASIZE PUSH1 0x4 PUSH2 0x8B7 JUMP JUMPDEST PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD DUP2 JUMP JUMPDEST PUSH2 0x11F PUSH2 0x11A CALLDATASIZE PUSH1 0x4 PUSH2 0x8D0 JUMP JUMPDEST PUSH2 0x1F6 JUMP JUMPDEST STOP JUMPDEST PUSH2 0xB3 PUSH2 0x12F CALLDATASIZE PUSH1 0x4 PUSH2 0x8B7 JUMP JUMPDEST PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD DUP2 JUMP JUMPDEST PUSH2 0x11F PUSH2 0x14F CALLDATASIZE PUSH1 0x4 PUSH2 0x92A JUMP JUMPDEST PUSH2 0x264 JUMP JUMPDEST PUSH1 0x0 DUP1 DUP1 PUSH2 0x164 DUP5 DUP7 ADD DUP7 PUSH2 0xAA2 JUMP JUMPDEST SWAP2 POP SWAP2 POP PUSH1 0x0 DUP3 DUP3 MLOAD PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x17E SWAP3 SWAP2 SWAP1 PUSH2 0xB64 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F NOT DUP2 DUP5 SUB ADD DUP2 MSTORE SWAP2 DUP2 MSTORE DUP2 MLOAD PUSH1 0x20 SWAP3 DUP4 ADD KECCAK256 PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x3 SWAP1 SWAP4 MSTORE SWAP2 KECCAK256 SLOAD PUSH1 0x1 SLOAD SWAP2 SWAP3 POP SWAP1 DUP2 ISZERO DUP1 PUSH2 0x1C1 JUMPI POP PUSH1 0x10 PUSH2 0x1BE DUP4 DUP4 PUSH2 0xBCB JUMP JUMPDEST LT ISZERO JUMPDEST ISZERO PUSH2 0x1DF JUMPI PUSH1 0x40 MLOAD PUSH4 0x849699D PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x1EA DUP10 DUP7 DUP7 PUSH2 0x342 JUMP JUMPDEST EQ SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x221 JUMPI PUSH1 0x40 MLOAD PUSH4 0x30CD7471 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x260 DUP3 DUP3 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 PUSH2 0x426 SWAP3 POP POP POP JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x28F JUMPI PUSH1 0x40 MLOAD PUSH4 0x30CD7471 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x2CF JUMPI PUSH1 0x40 MLOAD PUSH32 0x49E27CFF00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP6 AND SWAP4 SWAP3 AND SWAP2 PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 SWAP2 LOG3 PUSH1 0x0 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 DUP1 JUMPDEST DUP3 MLOAD DUP2 LT ISZERO PUSH2 0x41F JUMPI PUSH1 0x0 PUSH2 0x374 DUP7 DUP6 DUP5 DUP2 MLOAD DUP2 LT PUSH2 0x367 JUMPI PUSH2 0x367 PUSH2 0xBE2 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH2 0x586 JUMP JUMPDEST SWAP1 POP JUMPDEST DUP5 MLOAD DUP4 LT DUP1 ISZERO PUSH2 0x3B2 JUMPI POP DUP5 DUP4 DUP2 MLOAD DUP2 LT PUSH2 0x394 JUMPI PUSH2 0x394 PUSH2 0xBE2 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ ISZERO JUMPDEST ISZERO PUSH2 0x3C7 JUMPI PUSH2 0x3C0 DUP4 PUSH2 0xBF8 JUMP JUMPDEST SWAP3 POP PUSH2 0x377 JUMP JUMPDEST DUP5 MLOAD DUP4 EQ ISZERO PUSH2 0x402 JUMPI PUSH1 0x40 MLOAD PUSH32 0xC6FB539300000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x40B DUP4 PUSH2 0xBF8 JUMP JUMPDEST SWAP3 POP POP DUP1 PUSH2 0x418 SWAP1 PUSH2 0xBF8 JUMP JUMPDEST SWAP1 POP PUSH2 0x346 JUMP JUMPDEST POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 DUP1 PUSH1 0x20 ADD SWAP1 MLOAD DUP2 ADD SWAP1 PUSH2 0x43D SWAP2 SWAP1 PUSH2 0xC13 JUMP JUMPDEST DUP2 MLOAD SWAP2 SWAP4 POP SWAP2 POP DUP1 ISZERO DUP1 PUSH2 0x457 JUMPI POP PUSH2 0x455 DUP4 PUSH2 0x729 JUMP JUMPDEST ISZERO JUMPDEST ISZERO PUSH2 0x475 JUMPI PUSH1 0x40 MLOAD PUSH4 0x849699D PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 ISZERO DUP1 PUSH2 0x481 JUMPI POP DUP2 DUP2 LT JUMPDEST ISZERO PUSH2 0x4B8 JUMPI PUSH1 0x40 MLOAD PUSH32 0xAABD5A0900000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP4 MLOAD PUSH1 0x20 DUP1 DUP7 ADD SWAP2 SWAP1 SWAP2 KECCAK256 PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x3 SWAP1 SWAP3 MSTORE PUSH1 0x40 SWAP1 SWAP2 KECCAK256 SLOAD ISZERO PUSH2 0x50A JUMPI PUSH1 0x40 MLOAD PUSH32 0xF8F3C10400000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1 SLOAD PUSH1 0x1 PUSH2 0x51B SWAP2 SWAP1 PUSH2 0xCB5 JUMP JUMPDEST PUSH1 0x1 DUP2 SWAP1 SSTORE PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP7 SWAP1 SSTORE DUP6 DUP4 MSTORE PUSH1 0x3 SWAP1 SWAP2 MSTORE SWAP1 DUP2 SWAP1 KECCAK256 DUP3 SWAP1 SSTORE MLOAD SWAP1 SWAP2 POP PUSH32 0x91B26CF03198606868DEF38877D68B97D978CE42E6150B44EF327C4C900D0C4E SWAP1 PUSH2 0x576 SWAP1 DUP8 SWAP1 DUP8 SWAP1 PUSH2 0xB64 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD PUSH1 0x41 EQ PUSH2 0x5C3 JUMPI PUSH1 0x40 MLOAD PUSH32 0x4BE6321B00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x20 DUP3 ADD MLOAD PUSH1 0x40 DUP4 ADD MLOAD PUSH1 0x60 DUP5 ADD MLOAD PUSH1 0x0 BYTE PUSH32 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5D576E7357A4501DDFE92F46681B20A0 DUP3 GT ISZERO PUSH2 0x62F JUMPI PUSH1 0x40 MLOAD PUSH32 0x40C1E74800000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0xFF AND PUSH1 0x1B EQ ISZERO DUP1 ISZERO PUSH2 0x647 JUMPI POP DUP1 PUSH1 0xFF AND PUSH1 0x1C EQ ISZERO JUMPDEST ISZERO PUSH2 0x67E JUMPI PUSH1 0x40 MLOAD PUSH32 0x119BCE3900000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x0 DUP1 DUP3 MSTORE PUSH1 0x20 DUP3 ADD DUP1 DUP5 MSTORE DUP10 SWAP1 MSTORE PUSH1 0xFF DUP5 AND SWAP3 DUP3 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x60 DUP2 ADD DUP6 SWAP1 MSTORE PUSH1 0x80 DUP2 ADD DUP5 SWAP1 MSTORE PUSH1 0x1 SWAP1 PUSH1 0xA0 ADD PUSH1 0x20 PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 SUB SWAP1 DUP1 DUP5 SUB SWAP1 DUP6 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x6D2 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP PUSH1 0x20 PUSH1 0x40 MLOAD SUB MLOAD SWAP5 POP DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ ISZERO PUSH2 0x720 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8BAA579F00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 JUMPDEST PUSH1 0x1 DUP4 MLOAD PUSH2 0x73B SWAP2 SWAP1 PUSH2 0xBCB JUMP JUMPDEST DUP2 LT ISZERO PUSH2 0x7E9 JUMPI DUP3 PUSH2 0x74E DUP3 PUSH1 0x1 PUSH2 0xCB5 JUMP JUMPDEST DUP2 MLOAD DUP2 LT PUSH2 0x75E JUMPI PUSH2 0x75E PUSH2 0xBE2 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x781 JUMPI PUSH2 0x781 PUSH2 0xBE2 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND LT ISZERO DUP1 PUSH2 0x7CB JUMPI POP PUSH1 0x0 DUP4 PUSH2 0x7A8 DUP4 PUSH1 0x1 PUSH2 0xCB5 JUMP JUMPDEST DUP2 MLOAD DUP2 LT PUSH2 0x7B8 JUMPI PUSH2 0x7B8 PUSH2 0xBE2 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ JUMPDEST ISZERO PUSH2 0x7D9 JUMPI POP PUSH1 0x0 SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x7E2 DUP2 PUSH2 0xBF8 JUMP JUMPDEST SWAP1 POP PUSH2 0x72D JUMP JUMPDEST POP PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP3 PUSH1 0x0 DUP2 MLOAD DUP2 LT PUSH2 0x808 JUMPI PUSH2 0x808 PUSH2 0xBE2 JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0x834 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP DUP2 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x84C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x20 DUP3 DUP6 ADD ADD GT ISZERO PUSH2 0x864 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x40 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x880 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 CALLDATALOAD SWAP3 POP PUSH1 0x20 DUP5 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x89E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x8AA DUP7 DUP3 DUP8 ADD PUSH2 0x822 JUMP JUMPDEST SWAP5 SWAP8 SWAP1 SWAP7 POP SWAP4 SWAP5 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x8C9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x20 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x8E3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x8FA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x906 DUP6 DUP3 DUP7 ADD PUSH2 0x822 JUMP JUMPDEST SWAP1 SWAP7 SWAP1 SWAP6 POP SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x927 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x93C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x947 DUP2 PUSH2 0x912 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT AND DUP2 ADD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x98D JUMPI PUSH2 0x98D PUSH2 0x94E JUMP JUMPDEST PUSH1 0x40 MSTORE SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x9AF JUMPI PUSH2 0x9AF PUSH2 0x94E JUMP JUMPDEST POP PUSH1 0x5 SHL PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1F DUP4 DUP2 DUP5 ADD SLT PUSH2 0x9CB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH1 0x20 PUSH2 0x9E0 PUSH2 0x9DB DUP4 PUSH2 0x995 JUMP JUMPDEST PUSH2 0x964 JUMP JUMPDEST DUP3 DUP2 MSTORE PUSH1 0x5 SWAP3 SWAP1 SWAP3 SHL DUP6 ADD DUP2 ADD SWAP2 DUP2 DUP2 ADD SWAP1 DUP8 DUP5 GT ISZERO PUSH2 0x9FF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 DUP8 ADD JUMPDEST DUP5 DUP2 LT ISZERO PUSH2 0xA96 JUMPI DUP1 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0xA24 JUMPI PUSH1 0x0 DUP1 DUP2 REVERT JUMPDEST DUP2 DUP11 ADD SWAP2 POP DUP11 PUSH1 0x3F DUP4 ADD SLT PUSH2 0xA39 JUMPI PUSH1 0x0 DUP1 DUP2 REVERT JUMPDEST DUP6 DUP3 ADD CALLDATALOAD PUSH1 0x40 DUP3 DUP3 GT ISZERO PUSH2 0xA4F JUMPI PUSH2 0xA4F PUSH2 0x94E JUMP JUMPDEST PUSH2 0xA60 DUP3 DUP12 ADD PUSH1 0x1F NOT AND DUP10 ADD PUSH2 0x964 JUMP JUMPDEST SWAP3 POP DUP2 DUP4 MSTORE DUP13 DUP2 DUP4 DUP7 ADD ADD GT ISZERO PUSH2 0xA77 JUMPI PUSH1 0x0 DUP1 DUP2 REVERT JUMPDEST DUP2 DUP2 DUP6 ADD DUP10 DUP6 ADD CALLDATACOPY POP PUSH1 0x0 SWAP1 DUP3 ADD DUP8 ADD MSTORE DUP5 MSTORE POP SWAP2 DUP4 ADD SWAP2 DUP4 ADD PUSH2 0xA03 JUMP JUMPDEST POP SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xAB5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0xACD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP6 ADD SWAP2 POP DUP6 PUSH1 0x1F DUP4 ADD SLT PUSH2 0xAE1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x20 PUSH2 0xAF1 PUSH2 0x9DB DUP4 PUSH2 0x995 JUMP JUMPDEST DUP3 DUP2 MSTORE PUSH1 0x5 SWAP3 SWAP1 SWAP3 SHL DUP5 ADD DUP2 ADD SWAP2 DUP2 DUP2 ADD SWAP1 DUP10 DUP5 GT ISZERO PUSH2 0xB10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP5 DUP3 ADD SWAP5 JUMPDEST DUP4 DUP7 LT ISZERO PUSH2 0xB37 JUMPI DUP6 CALLDATALOAD PUSH2 0xB28 DUP2 PUSH2 0x912 JUMP JUMPDEST DUP3 MSTORE SWAP5 DUP3 ADD SWAP5 SWAP1 DUP3 ADD SWAP1 PUSH2 0xB15 JUMP JUMPDEST SWAP7 POP POP DUP7 ADD CALLDATALOAD SWAP3 POP POP DUP1 DUP3 GT ISZERO PUSH2 0xB4D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xB5A DUP6 DUP3 DUP7 ADD PUSH2 0x9B9 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x40 DUP1 DUP3 MSTORE DUP4 MLOAD SWAP1 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH1 0x20 SWAP1 PUSH1 0x60 DUP5 ADD SWAP1 DUP3 DUP8 ADD DUP5 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0xBA6 JUMPI DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 MSTORE SWAP3 DUP5 ADD SWAP3 SWAP1 DUP5 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0xB81 JUMP JUMPDEST POP POP POP SWAP3 ADD SWAP3 SWAP1 SWAP3 MSTORE SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP3 DUP3 LT ISZERO PUSH2 0xBDD JUMPI PUSH2 0xBDD PUSH2 0xBB5 JUMP JUMPDEST POP SUB SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x0 NOT DUP3 EQ ISZERO PUSH2 0xC0C JUMPI PUSH2 0xC0C PUSH2 0xBB5 JUMP JUMPDEST POP PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xC26 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xC3D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 ADD PUSH1 0x1F DUP2 ADD DUP6 SGT PUSH2 0xC4E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 MLOAD PUSH1 0x20 PUSH2 0xC5E PUSH2 0x9DB DUP4 PUSH2 0x995 JUMP JUMPDEST DUP3 DUP2 MSTORE PUSH1 0x5 SWAP3 SWAP1 SWAP3 SHL DUP4 ADD DUP2 ADD SWAP2 DUP2 DUP2 ADD SWAP1 DUP9 DUP5 GT ISZERO PUSH2 0xC7D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP4 DUP3 ADD SWAP4 JUMPDEST DUP4 DUP6 LT ISZERO PUSH2 0xCA4 JUMPI DUP5 MLOAD PUSH2 0xC95 DUP2 PUSH2 0x912 JUMP JUMPDEST DUP3 MSTORE SWAP4 DUP3 ADD SWAP4 SWAP1 DUP3 ADD SWAP1 PUSH2 0xC82 JUMP JUMPDEST SWAP7 SWAP1 SWAP2 ADD MLOAD SWAP6 SWAP8 SWAP6 SWAP7 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 NOT DUP3 GT ISZERO PUSH2 0xCC8 JUMPI PUSH2 0xCC8 PUSH2 0xBB5 JUMP JUMPDEST POP ADD SWAP1 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SWAP11 0xBF 0xD0 0xCE 0xD3 SWAP3 SELFDESTRUCT PUSH19 0xD5B29F9650A06B1D1680BD91C1B3FCB75487F9 0x28 DUP4 PUSH5 0x7E764736F PUSH13 0x63430008090033000000000000 ", - "sourceMap": "212:3495:1:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;870:639;;;;;;:::i;:::-;;:::i;:::-;;;1013:14:34;;1006:22;988:41;;976:2;961:18;870:639:1;;;;;;;;396:27;;;;;;;;;1186:25:34;;;1174:2;1159:18;396:27:1;1040:177:34;156:20:11;;;;;-1:-1:-1;;;;;156:20:11;;;;;;-1:-1:-1;;;;;1386:55:34;;;1368:74;;1356:2;1341:18;156:20:11;1222:226:34;429:47:1;;;;;;:::i;:::-;;;;;;;;;;;;;;1606:118;;;;;;:::i;:::-;;:::i;:::-;;482:47;;;;;;:::i;:::-;;;;;;;;;;;;;;395:217:11;;;;;;:::i;:::-;;:::i;870:639:1:-;959:21;;;1050:39;;;;1061:5;1050:39;:::i;:::-;992:97;;;;1100:21;1145:9;1156:10;:17;1134:40;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;1134:40:1;;;;;;;;;1124:51;;1134:40;1124:51;;;;1185:22;1210:27;;;:12;:27;;;;;;1263:12;;1124:51;;-1:-1:-1;1210:27:1;1290:19;;;:66;;-1:-1:-1;580:2:1;1313:22;1321:14;1313:5;:22;:::i;:::-;:43;;1290:66;1286:97;;;1365:18;;-1:-1:-1;;;1365:18:1;;;;;;;;;;;1286:97;1394:55;1414:11;1427:9;1438:10;1394:19;:55::i;:::-;1479:23;;870:639;-1:-1:-1;;;;;;;870:639:1:o;1606:118::-;332:5:11;;-1:-1:-1;;;;;332:5:11;341:10;332:19;328:42;;360:10;;-1:-1:-1;;;360:10:11;;;;;;;;;;;328:42;1688:29:1::1;1710:6;;1688:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;1688:21:1::1;::::0;-1:-1:-1;;;1688:29:1:i:1;:::-;1606:118:::0;;:::o;395:217:11:-;332:5;;-1:-1:-1;;;;;332:5:11;341:10;332:19;328:42;;360:10;;-1:-1:-1;;;360:10:11;;;;;;;;;;;328:42;-1:-1:-1;;;;;481:22:11;::::1;477:49;;512:14;;;;;;;;;;;;;;477:49;563:5;::::0;;542:37:::1;::::0;-1:-1:-1;;;;;542:37:11;;::::1;::::0;563:5;::::1;::::0;542:37:::1;::::0;::::1;589:5;:16:::0;;;::::1;-1:-1:-1::0;;;;;589:16:11;;;::::1;::::0;;;::::1;::::0;;395:217::o;2637:719:1:-;2796:9;2938;2933:417;2957:10;:17;2953:1;:21;2933:417;;;2995:14;3012:41;3026:11;3039:10;3050:1;3039:13;;;;;;;;:::i;:::-;;;;;;;3012;:41::i;:::-;2995:58;;3134:62;3145:9;:16;3141:1;:20;:46;;;;;3175:9;3185:1;3175:12;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;;;3165:22:1;:6;-1:-1:-1;;;;;3165:22:1;;;3141:46;3134:62;;;3189:3;;;:::i;:::-;;;3134:62;;;3218:9;:16;3213:1;:21;3209:52;;;3243:18;;;;;;;;;;;;;;3209:52;3336:3;;;:::i;:::-;;;2981:369;2976:3;;;;:::i;:::-;;;2933:417;;;;2786:570;2637:719;;;:::o;1830:801::-;1902:29;1933:20;1968:6;1957:40;;;;;;;;;;;;:::i;:::-;2033:19;;1901:96;;-1:-1:-1;1901:96:1;-1:-1:-1;2067:20:1;;;:73;;;2092:48;2127:12;2092:34;:48::i;:::-;2091:49;2067:73;2063:104;;;2149:18;;-1:-1:-1;;;2149:18:1;;;;;;;;;;;2063:104;2182:17;;;:51;;;2221:12;2203:15;:30;2182:51;2178:82;;;2242:18;;;;;;;;;;;;;;2178:82;2298:17;;;;;;;;;;2271:24;2330:30;;;:12;:30;;;;;;;;:34;2326:62;;2373:15;;;;;;;;;;;;;;2326:62;2399:13;2415:12;;2430:1;2415:16;;;;:::i;:::-;2441:12;:20;;;2471:19;;;;:12;:19;;;;;;;;:38;;;2519:30;;;:12;:30;;;;;;;:38;;;2573:51;2399:32;;-1:-1:-1;2573:51:1;;;;2597:12;;2611;;2573:51;:::i;:::-;;;;;;;;1891:740;;;;;1830:801;:::o;1174:1887:6:-;1252:14;1320:9;:16;1340:2;1320:22;1316:59;;1351:24;;;;;;;;;;;;;;1316:59;1726:4;1711:20;;1705:27;1771:4;1756:20;;1750:27;1824:4;1809:20;;1803:27;1442:9;1795:36;2742:66;2729:79;;2725:102;;;2817:10;;;;;;;;;;;;;;2725:102;2842:1;:7;;2847:2;2842:7;;:18;;;;;2853:1;:7;;2858:2;2853:7;;2842:18;2838:41;;;2869:10;;;;;;;;;;;;;;2838:41;2988:24;;;3025:1;2988:24;;;;;;;;;9049:25:34;;;9122:4;9110:17;;9090:18;;;9083:45;;;;9144:18;;;9137:34;;;9187:18;;;9180:34;;;2988:24:6;;9021:19:34;;2988:24:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2979:33;;;-1:-1:-1;;;;;2978:49:6;;2974:80;;;3036:18;;;;;;;;;;;;;;2974:80;1268:1793;;;1174:1887;;;;:::o;3362:343:1:-;3456:4;3477:9;3472:184;3510:1;3492:8;:15;:19;;;;:::i;:::-;3488:1;:23;3472:184;;;3551:8;3560:5;:1;3564;3560:5;:::i;:::-;3551:15;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;;;3536:30:1;:8;3545:1;3536:11;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;;;3536:30:1;;;:63;;;-1:-1:-1;3597:1:1;3570:8;3579:5;:1;3583;3579:5;:::i;:::-;3570:15;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;;;3570:29:1;;3536:63;3532:114;;;-1:-1:-1;3626:5:1;;3362:343;-1:-1:-1;;3362:343:1:o;3532:114::-;3513:3;;;:::i;:::-;;;3472:184;;;;3696:1;-1:-1:-1;;;;;3673:25:1;:8;3682:1;3673:11;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;;;3673:25:1;;;3666:32;;3362:343;;;:::o;14:347:34:-;65:8;75:6;129:3;122:4;114:6;110:17;106:27;96:55;;147:1;144;137:12;96:55;-1:-1:-1;170:20:34;;213:18;202:30;;199:50;;;245:1;242;235:12;199:50;282:4;274:6;270:17;258:29;;334:3;327:4;318:6;310;306:19;302:30;299:39;296:59;;;351:1;348;341:12;296:59;14:347;;;;;:::o;366:477::-;445:6;453;461;514:2;502:9;493:7;489:23;485:32;482:52;;;530:1;527;520:12;482:52;566:9;553:23;543:33;;627:2;616:9;612:18;599:32;654:18;646:6;643:30;640:50;;;686:1;683;676:12;640:50;725:58;775:7;766:6;755:9;751:22;725:58;:::i;:::-;366:477;;802:8;;-1:-1:-1;699:84:34;;-1:-1:-1;;;;366:477:34:o;1453:180::-;1512:6;1565:2;1553:9;1544:7;1540:23;1536:32;1533:52;;;1581:1;1578;1571:12;1533:52;-1:-1:-1;1604:23:34;;1453:180;-1:-1:-1;1453:180:34:o;1820:409::-;1890:6;1898;1951:2;1939:9;1930:7;1926:23;1922:32;1919:52;;;1967:1;1964;1957:12;1919:52;2007:9;1994:23;2040:18;2032:6;2029:30;2026:50;;;2072:1;2069;2062:12;2026:50;2111:58;2161:7;2152:6;2141:9;2137:22;2111:58;:::i;:::-;2188:8;;2085:84;;-1:-1:-1;1820:409:34;-1:-1:-1;;;;1820:409:34:o;2419:154::-;-1:-1:-1;;;;;2498:5:34;2494:54;2487:5;2484:65;2474:93;;2563:1;2560;2553:12;2474:93;2419:154;:::o;2578:247::-;2637:6;2690:2;2678:9;2669:7;2665:23;2661:32;2658:52;;;2706:1;2703;2696:12;2658:52;2745:9;2732:23;2764:31;2789:5;2764:31;:::i;:::-;2814:5;2578:247;-1:-1:-1;;;2578:247:34:o;2830:184::-;-1:-1:-1;;;2879:1:34;2872:88;2979:4;2976:1;2969:15;3003:4;3000:1;2993:15;3019:275;3090:2;3084:9;3155:2;3136:13;;-1:-1:-1;;3132:27:34;3120:40;;3190:18;3175:34;;3211:22;;;3172:62;3169:88;;;3237:18;;:::i;:::-;3273:2;3266:22;3019:275;;-1:-1:-1;3019:275:34:o;3299:183::-;3359:4;3392:18;3384:6;3381:30;3378:56;;;3414:18;;:::i;:::-;-1:-1:-1;3459:1:34;3455:14;3471:4;3451:25;;3299:183::o;3487:1539::-;3539:5;3569:4;3613:3;3608:2;3600:6;3596:15;3592:25;3582:53;;3631:1;3628;3621:12;3582:53;3667:6;3654:20;3693:4;3717:60;3733:43;3773:2;3733:43;:::i;:::-;3717:60;:::i;:::-;3811:15;;;3897:1;3893:10;;;;3881:23;;3877:32;;;3842:12;;;;3921:15;;;3918:35;;;3949:1;3946;3939:12;3918:35;3985:2;3977:6;3973:15;3997:1000;4013:6;4008:3;4005:15;3997:1000;;;4099:3;4086:17;4126:18;4176:2;4163:11;4160:19;4157:109;;;4220:1;4249:2;4245;4238:14;4157:109;4301:11;4293:6;4289:24;4279:34;;4353:3;4348:2;4344;4340:11;4336:21;4326:119;;4399:1;4428:2;4424;4417:14;4326:119;4489:2;4485;4481:11;4468:25;4516:2;4541;4537;4534:10;4531:36;;;4547:18;;:::i;:::-;4595:51;4619:11;;;-1:-1:-1;;4615:25:34;4611:34;;4595:51;:::i;:::-;4580:66;;4675:2;4666:7;4659:19;4719:3;4714:2;4709;4705;4701:11;4697:20;4694:29;4691:122;;;4765:1;4795:3;4790;4783:16;4691:122;4870:2;4865;4861;4857:11;4852:2;4843:7;4839:16;4826:47;-1:-1:-1;4920:1:34;4897:16;;;4893:25;;4886:36;4935:20;;-1:-1:-1;4975:12:34;;;;4030;;3997:1000;;;-1:-1:-1;5015:5:34;3487:1539;-1:-1:-1;;;;;;;3487:1539:34:o;5031:1222::-;5158:6;5166;5219:2;5207:9;5198:7;5194:23;5190:32;5187:52;;;5235:1;5232;5225:12;5187:52;5275:9;5262:23;5304:18;5345:2;5337:6;5334:14;5331:34;;;5361:1;5358;5351:12;5331:34;5399:6;5388:9;5384:22;5374:32;;5444:7;5437:4;5433:2;5429:13;5425:27;5415:55;;5466:1;5463;5456:12;5415:55;5502:2;5489:16;5524:4;5548:60;5564:43;5604:2;5564:43;:::i;5548:60::-;5642:15;;;5724:1;5720:10;;;;5712:19;;5708:28;;;5673:12;;;;5748:19;;;5745:39;;;5780:1;5777;5770:12;5745:39;5804:11;;;;5824:217;5840:6;5835:3;5832:15;5824:217;;;5920:3;5907:17;5937:31;5962:5;5937:31;:::i;:::-;5981:18;;5857:12;;;;6019;;;;5824:217;;;6060:5;-1:-1:-1;;6103:18:34;;6090:32;;-1:-1:-1;;6134:16:34;;;6131:36;;;6163:1;6160;6153:12;6131:36;;6186:61;6239:7;6228:8;6217:9;6213:24;6186:61;:::i;:::-;6176:71;;;5031:1222;;;;;:::o;6258:754::-;6476:2;6488:21;;;6558:13;;6461:18;;;6580:22;;;6428:4;;6655;;6633:2;6618:18;;;6682:15;;;6428:4;6725:218;6739:6;6736:1;6733:13;6725:218;;;6804:13;;-1:-1:-1;;;;;6800:62:34;6788:75;;6883:12;;;;6918:15;;;;6761:1;6754:9;6725:218;;;-1:-1:-1;;;6979:18:34;;6972:34;;;;6960:3;6258:754;-1:-1:-1;;6258:754:34:o;7017:184::-;-1:-1:-1;;;7066:1:34;7059:88;7166:4;7163:1;7156:15;7190:4;7187:1;7180:15;7206:125;7246:4;7274:1;7271;7268:8;7265:34;;;7279:18;;:::i;:::-;-1:-1:-1;7316:9:34;;7206:125::o;7336:184::-;-1:-1:-1;;;7385:1:34;7378:88;7485:4;7482:1;7475:15;7509:4;7506:1;7499:15;7525:135;7564:3;-1:-1:-1;;7585:17:34;;7582:43;;;7605:18;;:::i;:::-;-1:-1:-1;7652:1:34;7641:13;;7525:135::o;7665:1019::-;7769:6;7777;7830:2;7818:9;7809:7;7805:23;7801:32;7798:52;;;7846:1;7843;7836:12;7798:52;7879:9;7873:16;7912:18;7904:6;7901:30;7898:50;;;7944:1;7941;7934:12;7898:50;7967:22;;8020:4;8012:13;;8008:27;-1:-1:-1;7998:55:34;;8049:1;8046;8039:12;7998:55;8078:2;8072:9;8100:4;8124:60;8140:43;8180:2;8140:43;:::i;8124:60::-;8218:15;;;8300:1;8296:10;;;;8288:19;;8284:28;;;8249:12;;;;8324:19;;;8321:39;;;8356:1;8353;8346:12;8321:39;8380:11;;;;8400:210;8416:6;8411:3;8408:15;8400:210;;;8489:3;8483:10;8506:31;8531:5;8506:31;:::i;:::-;8550:18;;8433:12;;;;8588;;;;8400:210;;;8659:18;;;;8653:25;8629:5;;8653:25;;-1:-1:-1;;;;;;7665:1019:34:o;8689:128::-;8729:3;8760:1;8756:6;8753:1;8750:13;8747:39;;;8766:18;;:::i;:::-;-1:-1:-1;8802:9:34;;8689:128::o" - }, - "methodIdentifiers": { - "currentEpoch()": "76671808", - "epochForHash(bytes32)": "f1501c89", - "hashForEpoch(uint256)": "ba6742e5", - "owner()": "8da5cb5b", - "transferOperatorship(bytes)": "d289d1cb", - "transferOwnership(address)": "f2fde38b", - "validateProof(bytes32,bytes)": "73e3d66a" - } - }, - "metadata": "{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes[]\",\"name\":\"recentOperators\",\"type\":\"bytes[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"InvalidOperators\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidOwner\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidSignature\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidSignatureLength\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidThreshold\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidV\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MalformedSigners\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotOwner\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SameOperators\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"newOperators\",\"type\":\"address[]\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newThreshold\",\"type\":\"uint256\"}],\"name\":\"OperatorshipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"currentEpoch\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"epochForHash\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"hashForEpoch\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"params\",\"type\":\"bytes\"}],\"name\":\"transferOperatorship\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"messageHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"proof\",\"type\":\"bytes\"}],\"name\":\"validateProof\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"currentOperators\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@axelar-network/axelar-cgp-solidity/contracts/AxelarAuthMultisig.sol\":\"AxelarAuthMultisig\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1000},\"remappings\":[]},\"sources\":{\"@axelar-network/axelar-cgp-solidity/contracts/AxelarAuthMultisig.sol\":{\"keccak256\":\"0x9859a67adc2034f5db83a7580913ed9577b59b14913909c02e59693310fdb958\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://46c4a99f6833aee03d3ffba1677afab63c1e5dd7c990151f56b496821ff49655\",\"dweb:/ipfs/QmeAM2GHo8t6Rdkmheq5tjWb1Dz8srCPC8vFjWCi4Db1Db\"]},\"@axelar-network/axelar-cgp-solidity/contracts/ECDSA.sol\":{\"keccak256\":\"0x6bab2891fba4c6a333665ce1ff97b22407d31877163d1e729ccfaa221b0baf96\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4069d2cbffc6f11af86ad299d34c6db62e492b7f1b3b7c45adec1f5d34995f07\",\"dweb:/ipfs/QmVAq2RPLdHrfcPLtrQ3XbgZUYH9oLfvEK95pNeZmj8vRo\"]},\"@axelar-network/axelar-cgp-solidity/contracts/Ownable.sol\":{\"keccak256\":\"0xd6cab35c616c549f1947be46a22669054bc25aaca04a97130df3893c60a2e270\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72c31289afb27da070075a36dbf1060d394cd2f7093a7283a6ababa7cf7c003d\",\"dweb:/ipfs/QmXv2HPzx7U6GDpjA3hMY4Uz9dQVLtHG4CSLUuCgPHJFKR\"]},\"@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarAuth.sol\":{\"keccak256\":\"0x53c03308ec456c41f8f5f0b181a61bfab8a1162d4373a84cbeecddaeb629f836\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://54b4b3137dcd827929b82c62f18cb85fcfb086845a5a359162c5cd8765d24f4d\",\"dweb:/ipfs/QmWQX2YiqehDvvMi5fVn5rJnet4Py9k5vP2Uy2mVWQ6noB\"]},\"@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarAuthMultisig.sol\":{\"keccak256\":\"0x557e2d764a0744c357afe9ca82aaca2c3776e81df79eec08bedab58ea8254ca5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://65018e9af0742fb7d97ca76e97fa001719b01ff1305268f9bc1add123f5514d0\",\"dweb:/ipfs/QmY3duyJPduTiZR4WfSnuAWzpCiuq1XeuwjbkVda9vzJNk\"]},\"@axelar-network/axelar-cgp-solidity/contracts/interfaces/IOwnable.sol\":{\"keccak256\":\"0x7a6e3ad6c339fc3d5a3f16ab1778cfae2f6b38f4c1a100b9686cf05b4bceb408\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d3801fdbd1c5cbfc105703b0da12051f5d9e17d38a4768a79fd5110cfd8712b8\",\"dweb:/ipfs/QmUnTmkpxTcbebnjDVNkfhEPRnyLfnPMEnAh53zKeZPgj9\"]}},\"version\":1}" - } - }, - "@axelar-network/axelar-cgp-solidity/contracts/AxelarGateway.sol": { - "AxelarGateway": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "authModule", - "type": "address" - }, - { - "internalType": "address", - "name": "tokenDeployerImplementation", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "name": "AlreadyVoted", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "symbol", - "type": "string" - } - ], - "name": "BurnFailed", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "admin", - "type": "address" - } - ], - "name": "DuplicateAdmin", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "symbol", - "type": "string" - } - ], - "name": "ExceedDailyMintLimit", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidAdminThreshold", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidAdmins", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidAmount", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidAuthModule", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidChainId", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidCodeHash", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidCommands", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidSetDailyMintLimitsParams", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidTokenDeployer", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "symbol", - "type": "string" - } - ], - "name": "MintFailed", - "type": "error" - }, - { - "inputs": [], - "name": "NotAdmin", - "type": "error" - }, - { - "inputs": [], - "name": "NotProxy", - "type": "error" - }, - { - "inputs": [], - "name": "NotSelf", - "type": "error" - }, - { - "inputs": [], - "name": "SetupFailed", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "symbol", - "type": "string" - } - ], - "name": "TokenAlreadyExists", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "token", - "type": "address" - } - ], - "name": "TokenContractDoesNotExist", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "symbol", - "type": "string" - } - ], - "name": "TokenDeployFailed", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "symbol", - "type": "string" - } - ], - "name": "TokenDoesNotExist", - "type": "error" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "indexed": false, - "internalType": "string", - "name": "destinationChain", - "type": "string" - }, - { - "indexed": false, - "internalType": "string", - "name": "destinationContractAddress", - "type": "string" - }, - { - "indexed": true, - "internalType": "bytes32", - "name": "payloadHash", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "bytes", - "name": "payload", - "type": "bytes" - } - ], - "name": "ContractCall", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "commandId", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "string", - "name": "sourceChain", - "type": "string" - }, - { - "indexed": false, - "internalType": "string", - "name": "sourceAddress", - "type": "string" - }, - { - "indexed": true, - "internalType": "address", - "name": "contractAddress", - "type": "address" - }, - { - "indexed": true, - "internalType": "bytes32", - "name": "payloadHash", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "bytes32", - "name": "sourceTxHash", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "sourceEventIndex", - "type": "uint256" - } - ], - "name": "ContractCallApproved", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "commandId", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "string", - "name": "sourceChain", - "type": "string" - }, - { - "indexed": false, - "internalType": "string", - "name": "sourceAddress", - "type": "string" - }, - { - "indexed": true, - "internalType": "address", - "name": "contractAddress", - "type": "address" - }, - { - "indexed": true, - "internalType": "bytes32", - "name": "payloadHash", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "string", - "name": "symbol", - "type": "string" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "bytes32", - "name": "sourceTxHash", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "sourceEventIndex", - "type": "uint256" - } - ], - "name": "ContractCallApprovedWithMint", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "indexed": false, - "internalType": "string", - "name": "destinationChain", - "type": "string" - }, - { - "indexed": false, - "internalType": "string", - "name": "destinationContractAddress", - "type": "string" - }, - { - "indexed": true, - "internalType": "bytes32", - "name": "payloadHash", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "bytes", - "name": "payload", - "type": "bytes" - }, - { - "indexed": false, - "internalType": "string", - "name": "symbol", - "type": "string" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "ContractCallWithToken", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "commandId", - "type": "bytes32" - } - ], - "name": "Executed", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "bytes", - "name": "newOperatorsData", - "type": "bytes" - } - ], - "name": "OperatorshipTransferred", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "string", - "name": "symbol", - "type": "string" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "limit", - "type": "uint256" - } - ], - "name": "TokenDailyMintLimitUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "string", - "name": "symbol", - "type": "string" - }, - { - "indexed": false, - "internalType": "address", - "name": "tokenAddresses", - "type": "address" - } - ], - "name": "TokenDeployed", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "indexed": false, - "internalType": "string", - "name": "destinationChain", - "type": "string" - }, - { - "indexed": false, - "internalType": "string", - "name": "destinationAddress", - "type": "string" - }, - { - "indexed": false, - "internalType": "string", - "name": "symbol", - "type": "string" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "TokenSent", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "implementation", - "type": "address" - } - ], - "name": "Upgraded", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "executeData", - "type": "bytes" - } - ], - "name": "_unpackLegacyCommands", - "outputs": [ - { - "internalType": "uint256", - "name": "chainId", - "type": "uint256" - }, - { - "internalType": "bytes32[]", - "name": "commandIds", - "type": "bytes32[]" - }, - { - "internalType": "string[]", - "name": "commands", - "type": "string[]" - }, - { - "internalType": "bytes[]", - "name": "params", - "type": "bytes[]" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "adminEpoch", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - } - ], - "name": "adminThreshold", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - } - ], - "name": "admins", - "outputs": [ - { - "internalType": "address[]", - "name": "results", - "type": "address[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "allTokensFrozen", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "params", - "type": "bytes" - }, - { - "internalType": "bytes32", - "name": "commandId", - "type": "bytes32" - } - ], - "name": "approveContractCall", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "params", - "type": "bytes" - }, - { - "internalType": "bytes32", - "name": "commandId", - "type": "bytes32" - } - ], - "name": "approveContractCallWithMint", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "params", - "type": "bytes" - }, - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "name": "burnToken", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "destinationChain", - "type": "string" - }, - { - "internalType": "string", - "name": "destinationContractAddress", - "type": "string" - }, - { - "internalType": "bytes", - "name": "payload", - "type": "bytes" - } - ], - "name": "callContract", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "destinationChain", - "type": "string" - }, - { - "internalType": "string", - "name": "destinationContractAddress", - "type": "string" - }, - { - "internalType": "bytes", - "name": "payload", - "type": "bytes" - }, - { - "internalType": "string", - "name": "symbol", - "type": "string" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "callContractWithToken", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "params", - "type": "bytes" - }, - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "name": "deployToken", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "input", - "type": "bytes" - } - ], - "name": "execute", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "key", - "type": "bytes32" - } - ], - "name": "getAddress", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "key", - "type": "bytes32" - } - ], - "name": "getBool", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "key", - "type": "bytes32" - } - ], - "name": "getBytes", - "outputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "key", - "type": "bytes32" - } - ], - "name": "getInt", - "outputs": [ - { - "internalType": "int256", - "name": "", - "type": "int256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "key", - "type": "bytes32" - } - ], - "name": "getString", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "key", - "type": "bytes32" - } - ], - "name": "getUint", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "implementation", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "commandId", - "type": "bytes32" - } - ], - "name": "isCommandExecuted", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "commandId", - "type": "bytes32" - }, - { - "internalType": "string", - "name": "sourceChain", - "type": "string" - }, - { - "internalType": "string", - "name": "sourceAddress", - "type": "string" - }, - { - "internalType": "address", - "name": "contractAddress", - "type": "address" - }, - { - "internalType": "bytes32", - "name": "payloadHash", - "type": "bytes32" - }, - { - "internalType": "string", - "name": "symbol", - "type": "string" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "isContractCallAndMintApproved", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "commandId", - "type": "bytes32" - }, - { - "internalType": "string", - "name": "sourceChain", - "type": "string" - }, - { - "internalType": "string", - "name": "sourceAddress", - "type": "string" - }, - { - "internalType": "address", - "name": "contractAddress", - "type": "address" - }, - { - "internalType": "bytes32", - "name": "payloadHash", - "type": "bytes32" - } - ], - "name": "isContractCallApproved", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "params", - "type": "bytes" - }, - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "name": "mintToken", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "destinationChain", - "type": "string" - }, - { - "internalType": "string", - "name": "destinationAddress", - "type": "string" - }, - { - "internalType": "string", - "name": "symbol", - "type": "string" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "sendToken", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string[]", - "name": "symbols", - "type": "string[]" - }, - { - "internalType": "uint256[]", - "name": "limits", - "type": "uint256[]" - } - ], - "name": "setTokenDailyMintLimits", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "params", - "type": "bytes" - } - ], - "name": "setup", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "symbol", - "type": "string" - } - ], - "name": "tokenAddresses", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "symbol", - "type": "string" - } - ], - "name": "tokenDailyMintAmount", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "symbol", - "type": "string" - } - ], - "name": "tokenDailyMintLimit", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "name": "tokenFrozen", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "newOperatorsData", - "type": "bytes" - }, - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "name": "transferOperatorship", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newImplementation", - "type": "address" - }, - { - "internalType": "bytes32", - "name": "newImplementationCodeHash", - "type": "bytes32" - }, - { - "internalType": "bytes", - "name": "setupParams", - "type": "bytes" - } - ], - "name": "upgrade", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "commandId", - "type": "bytes32" - }, - { - "internalType": "string", - "name": "sourceChain", - "type": "string" - }, - { - "internalType": "string", - "name": "sourceAddress", - "type": "string" - }, - { - "internalType": "bytes32", - "name": "payloadHash", - "type": "bytes32" - } - ], - "name": "validateContractCall", - "outputs": [ - { - "internalType": "bool", - "name": "valid", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "commandId", - "type": "bytes32" - }, - { - "internalType": "string", - "name": "sourceChain", - "type": "string" - }, - { - "internalType": "string", - "name": "sourceAddress", - "type": "string" - }, - { - "internalType": "bytes32", - "name": "payloadHash", - "type": "bytes32" - }, - { - "internalType": "string", - "name": "symbol", - "type": "string" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "validateContractCallAndMint", - "outputs": [ - { - "internalType": "bool", - "name": "valid", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "evm": { - "bytecode": { - "functionDebugData": { - "@_1083": { - "entryPoint": null, - "id": 1083, - "parameterSlots": 2, - "returnSlots": 0 - }, - "abi_decode_address_fromMemory": { - "entryPoint": 158, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "abi_decode_tuple_t_addresst_address_fromMemory": { - "entryPoint": 187, - "id": null, - "parameterSlots": 2, - "returnSlots": 2 - } - }, - "generatedSources": [ - { - "ast": { - "nodeType": "YulBlock", - "src": "0:491:34", - "statements": [ - { - "nodeType": "YulBlock", - "src": "6:3:34", - "statements": [] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "74:117:34", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "84:22:34", - "value": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "99:6:34" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "93:5:34" - }, - "nodeType": "YulFunctionCall", - "src": "93:13:34" - }, - "variableNames": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "84:5:34" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "169:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "178:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "181:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "171:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "171:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "171:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "128:5:34" - }, - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "139:5:34" - }, - { - "arguments": [ - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "154:3:34", - "type": "", - "value": "160" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "159:1:34", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "150:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "150:11:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "163:1:34", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "146:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "146:19:34" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "135:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "135:31:34" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "125:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "125:42:34" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "118:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "118:50:34" - }, - "nodeType": "YulIf", - "src": "115:70:34" - } - ] - }, - "name": "abi_decode_address_fromMemory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "53:6:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "64:5:34", - "type": "" - } - ], - "src": "14:177:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "294:195:34", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "340:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "349:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "352:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "342:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "342:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "342:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "315:7:34" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "324:9:34" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "311:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "311:23:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "336:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "307:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "307:32:34" - }, - "nodeType": "YulIf", - "src": "304:52:34" - }, - { - "nodeType": "YulAssignment", - "src": "365:50:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "405:9:34" - } - ], - "functionName": { - "name": "abi_decode_address_fromMemory", - "nodeType": "YulIdentifier", - "src": "375:29:34" - }, - "nodeType": "YulFunctionCall", - "src": "375:40:34" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "365:6:34" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "424:59:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "468:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "479:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "464:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "464:18:34" - } - ], - "functionName": { - "name": "abi_decode_address_fromMemory", - "nodeType": "YulIdentifier", - "src": "434:29:34" - }, - "nodeType": "YulFunctionCall", - "src": "434:49:34" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "424:6:34" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_addresst_address_fromMemory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "252:9:34", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "263:7:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "275:6:34", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "283:6:34", - "type": "" - } - ], - "src": "196:293:34" - } - ] - }, - "contents": "{\n { }\n function abi_decode_address_fromMemory(offset) -> value\n {\n value := mload(offset)\n if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n }\n function abi_decode_tuple_t_addresst_address_fromMemory(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := abi_decode_address_fromMemory(headStart)\n value1 := abi_decode_address_fromMemory(add(headStart, 32))\n }\n}", - "id": 34, - "language": "Yul", - "name": "#utility.yul" - } - ], - "linkReferences": {}, - "object": "60c06040523480156200001157600080fd5b5060405162004a1238038062004a128339810160408190526200003491620000bb565b6001600160a01b0382163b6200005d5760405163735326ab60e01b815260040160405180910390fd5b6001600160a01b0381163b6200008657604051630c84dabf60e31b815260040160405180910390fd5b6001600160a01b039182166080521660a052620000f3565b80516001600160a01b0381168114620000b657600080fd5b919050565b60008060408385031215620000cf57600080fd5b620000da836200009e565b9150620000ea602084016200009e565b90509250929050565b60805160a0516148eb62000127600039600061146e0152600081816105b70152818161169b015261197201526148eb6000f3fe608060405234801561001057600080fd5b50600436106102265760003560e01c806388b305871161012a578063bc00c216116100bd578063dc97d9621161008c578063f6a5f9f511610071578063f6a5f9f514610543578063f871f14e14610556578063fbe0a31b1461057957600080fd5b8063dc97d96214610510578063f6789c8c1461053057600080fd5b8063bc00c216146104b7578063bd02d0f5146104ca578063c031a180146104ea578063d26ff210146104fd57600080fd5b80639ded06df116100f95780639ded06df14610477578063a3499c731461048a578063aa1e1f0a1461049d578063b5417084146104a457600080fd5b806388b305871461041e578063935b13f61461043157806397b87ba614610444578063986e791a1461045757600080fd5b8063364940d8116101bd5780635dde81171161018c5780637ae1cfca116101715780637ae1cfca146103d45780637b1b769e146103f7578063886a625d1461040b57600080fd5b80635dde8117146103ae5780635f6970c3146103c157600080fd5b8063364940d8146103275780634656ae2e1461032f578063585a9fd4146103425780635c60da1b1461035557600080fd5b80631c92115f116101f95780631c92115f1461029f57806321f8a721146102b257806323275548146102f357806326ef699d1461031457600080fd5b806309c5eabe1461022b578063146e2d781461024057806314bfd6d0146102535780631876eed91461027c575b600080fd5b61023e610239366004612fdc565b61058c565b005b61023e61024e36600461301e565b610b2f565b61026661026136600461306a565b610b78565b6040516102739190613083565b60405180910390f35b61028f61028a3660046130d0565b610c22565b6040519015158152602001610273565b61023e6102ad366004613185565b610d56565b6102db6102c036600461306a565b6000908152600260205260409020546001600160a01b031690565b6040516001600160a01b039091168152602001610273565b6103066103013660046132e4565b610dc1565b604051908152602001610273565b61023e610322366004613319565b610de2565b610306610e7a565b61023e61033d36600461301e565b610ed2565b61023e61035036600461301e565b611226565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60005260026020527f11141f466c69fd409e1990e063b49cd6d61ed2ecff27a2e402e259ca6b9a01a3546001600160a01b03166102db565b6103066103bc3660046132e4565b6112d4565b61028f6103cf3660046133bc565b6112e2565b61028f6103e236600461306a565b60009081526004602052604090205460ff1690565b61028f6104053660046132e4565b50600090565b61023e61041936600461301e565b61139b565b61030661042c36600461306a565b61164b565b6102db61043f3660046132e4565b611656565b61023e61045236600461301e565b611664565b61046a61046536600461306a565b611742565b6040516102739190613496565b61023e610485366004612fdc565b6117e4565b61023e6104983660046134be565b611a18565b600061028f565b61023e6104b236600461351a565b611d4f565b61028f6104c53660046135e6565b611e05565b6103066104d836600461306a565b60009081526020819052604090205490565b61046a6104f836600461306a565b611ed8565b61028f61050b36600461306a565b611ef5565b61030661051e36600461306a565b60009081526005602052604090205490565b61023e61053e3660046136f9565b611f03565b61028f610551366004613759565b61216d565b6105696105643660046132e4565b6121f6565b6040516102739493929190613845565b61023e61058736600461301e565b612222565b60008061059b838501856138eb565b9150915060006105b183805190602001206122c2565b905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166373e3d66a83856040518363ffffffff1660e01b815260040161060392919061394f565b602060405180830381600087803b15801561061d57600080fd5b505af1158015610631573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610655919061397d565b905060006060806060306001600160a01b031663f871f14e896040518263ffffffff1660e01b815260040161068a9190613496565b60006040518083038186803b1580156106a257600080fd5b505afa9250505080156106d757506040513d6000823e601f3d908101601f191682016040526106d49190810190613b7c565b60015b6106fe57878060200190518101906106ef9190613b7c565b92965090945092509050610709565b929650909450925090505b468414610742576040517f7a47c9a200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8251825181141580610755575081518114155b1561078c576040517fca9a28f500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b81811015610b215760008582815181106107ab576107ab613c0e565b602002602001015190506107be81611ef5565b156107c95750610b11565b6000808684815181106107de576107de613c0e565b60200260200101516040516020016107f69190613c24565b6040516020818303038152906040528051906020012090507f5763814b98a3aa86f212797af3273868b5dd6e2a532d764a79b98ca859e7bbad81141561085e577f886a625d000000000000000000000000000000000000000000000000000000009150610a03565b7fec78d9c22c08bb9f0ecd5d95571ae83e3f22219c5a9278c3270691d50abfd91b8114156108ae577f146e2d78000000000000000000000000000000000000000000000000000000009150610a03565b7f37ac16aabc4d87540e53151b2b716265cfd6b195db96a9daf8e893c829bbd2338114156108fe577ffbe0a31b000000000000000000000000000000000000000000000000000000009150610a03565b7ff41504255b911b3042ee4f8786fdf7cf4bcf24ace033fa16af3c8574e025e43681141561094e577f585a9fd4000000000000000000000000000000000000000000000000000000009150610a03565b7fda199c0e76f665e0450020791c7f8eacc75f3cdbace313272c28f93e5390b62c81141561099e577f4656ae2e000000000000000000000000000000000000000000000000000000009150610a03565b7fb460dcb6fd5797fc0e7ea0f13406c80d30702ba7f73a42bd91394775dcbca7188114156109fb57896109d357505050610b11565b7f97b87ba6000000000000000000000000000000000000000000000000000000009150610a03565b505050610b11565b610a0e836001612316565b6000306001600160a01b031683888781518110610a2d57610a2d613c0e565b602002602001015186604051602401610a47929190613c40565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b0319909416939093179092529051610a859190613c24565b6000604051808303816000865af19150503d8060008114610ac2576040519150601f19603f3d011682016040523d82523d6000602084013e610ac7565b606091505b505090508015610b015760405184907fa74c8847d513feba22a0f0cb38d53081abf97562cdb293926ba243689e7c41ca90600090a2610b0c565b610b0c846000612316565b505050505b610b1a81613c78565b905061078f565b505050505050505050505050565b333014610b4f576040516314e1dbf760e11b815260040160405180910390fd5b60008080610b5f85870187613c9e565b925092509250610b70838383612342565b505050505050565b60606000610b85836124df565b90508067ffffffffffffffff811115610ba057610ba061321f565b604051908082528060200260200182016040528015610bc9578160200160208202803683370190505b50915060005b81811015610c1b57610be184826124ed565b838281518110610bf357610bf3613c0e565b6001600160a01b0390921660209283029190910190910152610c1481613c78565b9050610bcf565b5050919050565b600080610cd38b8b8b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8f018190048102820181019092528d815292508d91508c908190840183828082843760009201919091525050604080516020601f8d018190048102820181019092528b81523393508d9250908c908c90819084018382808284376000920191909152508c9250612503915050565b60008181526004602052604090205460ff16925090508115610d48576000818152600460205260409020805460ff19169055610d4885858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152503392508791506123429050565b509998505050505050505050565b8181604051610d66929190613cf8565b6040518091039020336001600160a01b03167f30ae6cc78c27e651745bf2ad08a11de83910ac1e347a52f7ac898c0fbef94dae888888888888604051610db196959493929190613d31565b60405180910390a3505050505050565b6000610ddc6104d883610dd76201518042613d7a565b612567565b92915050565b610e243384848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508692506125bc915050565b336001600160a01b03167f651d93f66c4329630e8d0f62488eff599e3be484da587335e8dc0fcf4606272688888888888888604051610e699796959493929190613d9c565b60405180910390a250505050505050565b6000610ecd7fd51dc9b187568bb94760866e1d0d066ca470037d2d331afb1a02ec74bfb8990c60009081526020527ff8d0c05cd32e3272241fdc9d5839565f8bcf94139cb4bd09e230e1b57a60ddc25490565b905090565b333014610ef2576040516314e1dbf760e11b815260040160405180910390fd5b600080610f0184860186613ded565b915091506000610f1083611656565b90506001600160a01b038116610f44578260405163395d09bf60e11b8152600401610f3b9190613496565b60405180910390fd5b6002610f4f84612827565b6002811115610f6057610f60613e32565b14156111c357600082604051610f7590612f86565b8190604051809103906000f5905080158015610f95573d6000803e3d6000fd5b506040517f70a082310000000000000000000000000000000000000000000000000000000081526001600160a01b038083166004830181905292935060009283929091631cff79cd91879163a9059cbb60e01b9130918416906370a082319060240160206040518083038186803b15801561100f57600080fd5b505afa158015611023573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110479190613e48565b6040516001600160a01b039092166024830152604482015260640160408051601f198184030181529181526020820180516001600160e01b03166001600160e01b03199485161790525160e085901b90921682526110a89291600401613e61565b600060405180830381600087803b1580156110c257600080fd5b505af11580156110d6573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526110fe9190810190613e83565b9150915081158061112b575080511580159061112b575080806020019051810190611129919061397d565b155b1561114b578560405163e217b0ad60e01b8152600401610f3b9190613496565b6040517ef55d9d0000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b0384169062f55d9d90602401600060405180830381600087803b1580156111a357600080fd5b505af11580156111b7573d6000803e3d6000fd5b50505050505050610b70565b6040516308a1eee160e01b8152600481018390526001600160a01b038216906308a1eee1906024015b600060405180830381600087803b15801561120657600080fd5b505af115801561121a573d6000803e3d6000fd5b50505050505050505050565b333014611246576040516314e1dbf760e11b815260040160405180910390fd5b60008080808080808061125b8a8c018c613ec7565b9750975097509750975097509750975061127a89898989898989612846565b84866001600160a01b03168a7f9991faa1f435675159ffae64b66d7ecfdb55c29755869a18db8497b4392347e08b8b898989896040516112bf96959493929190613f85565b60405180910390a45050505050505050505050565b6000610ddc6104d88361287c565b60008061135d8888888080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8c018190048102820181019092528a815292508a91508990819084018382808284376000920191909152503392508991506128b19050565b60008181526004602052604090205460ff16925090508115611390576000818152600460205260409020805460ff191690555b509695505050505050565b3330146113bb576040516314e1dbf760e11b815260040160405180910390fd5b600080808080806113ce888a018a613fdd565b95509550955095509550955060006001600160a01b03166113ee86611656565b6001600160a01b03161461143057846040517faa7e8b32000000000000000000000000000000000000000000000000000000008152600401610f3b9190613496565b6001600160a01b03821661159c576000856040516020016114519190613c24565b6040516020818303038152906040528051906020012090506000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316636fc95b3460e01b8a8a8a8a886040516024016114b7959493929190614080565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b03199094169390931790925290516114f59190613c24565b600060405180830381855af49150503d8060008114611530576040519150601f19603f3d011682016040523d82523d6000602084013e611535565b606091505b50915091508161157357876040517f86d52743000000000000000000000000000000000000000000000000000000008152600401610f3b9190613496565b8080602001905181019061158791906140c6565b945061159488600161290f565b5050506115f3565b6001600160a01b0382163b6115e8576040517fc5ccddde0000000000000000000000000000000000000000000000000000000081526001600160a01b0383166004820152602401610f3b565b6115f385600261290f565b6115fd858361293f565b6116078582612981565b7fbf90b5a1ec9763e8bf4b9245cef0c28db92bab309fc2c5177f17814f3824693885836040516116389291906140e3565b60405180910390a1505050505050505050565b6000610ddc826129dd565b6000610ddc6102c0836129eb565b333014611684576040516314e1dbf760e11b815260040160405180910390fd5b60405163d289d1cb60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063d289d1cb906116d2908690869060040161410e565b600060405180830381600087803b1580156116ec57600080fd5b505af1158015611700573d6000803e3d6000fd5b505050507f192e759e55f359cd9832b5c0c6e38e4b6df5c5ca33f3bd5c90738e865a521872838360405161173592919061410e565b60405180910390a1505050565b600081815260016020526040902080546060919061175f90614122565b80601f016020809104026020016040519081016040528092919081815260200182805461178b90614122565b80156117d85780601f106117ad576101008083540402835291602001916117d8565b820191906000526020600020905b8154815290600101906020018083116117bb57829003601f168201915b50505050509050919050565b60006118407f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60005260026020527f11141f466c69fd409e1990e063b49cd6d61ed2ecff27a2e402e259ca6b9a01a3546001600160a01b031690565b6001600160a01b03161415611881576040517fbf10dd3a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080806118918486018661415d565b925092509250600060016118ec7fd51dc9b187568bb94760866e1d0d066ca470037d2d331afb1a02ec74bfb8990c60009081526020527ff8d0c05cd32e3272241fdc9d5839565f8bcf94139cb4bd09e230e1b57a60ddc25490565b6118f69190614228565b9050611949817fd51dc9b187568bb94760866e1d0d066ca470037d2d331afb1a02ec74bfb8990c60009081526020527ff8d0c05cd32e3272241fdc9d5839565f8bcf94139cb4bd09e230e1b57a60ddc255565b611954818585612a23565b815115610b705760405163d289d1cb60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063d289d1cb906119a7908590600401613496565b600060405180830381600087803b1580156119c157600080fd5b505af11580156119d5573d6000803e3d6000fd5b505050507f192e759e55f359cd9832b5c0c6e38e4b6df5c5ca33f3bd5c90738e865a52187282604051611a089190613496565b60405180910390a1505050505050565b6000611a6b7fd51dc9b187568bb94760866e1d0d066ca470037d2d331afb1a02ec74bfb8990c60009081526020527ff8d0c05cd32e3272241fdc9d5839565f8bcf94139cb4bd09e230e1b57a60ddc25490565b9050611a778133612b5c565b611a9457604051637bfa4b9f60e01b815260040160405180910390fd5b60008036604051611aa6929190613cf8565b60405180910390209050611abb828233612b6b565b15611ad957604051637c9a1cf960e01b815260040160405180910390fd5b611ae68282336001612be9565b60006001611af48484612c5c565b611afe9190614228565b9050611b0b838383612c6b565b611b14836129dd565b811015611b2357505050611d49565b866001600160a01b03163f8614611b66576040517f8f84fb2400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040516001600160a01b038816907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a28315611c82576000876001600160a01b0316639ded06df60e01b8787604051602401611bc792919061410e565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b0319909416939093179092529051611c059190613c24565b600060405180830381855af49150503d8060008114611c40576040519150601f19603f3d011682016040523d82523d6000602084013e611c45565b606091505b5050905080611c80576040517f97905dfb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505b611cf9877f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60005260026020527f11141f466c69fd409e1990e063b49cd6d61ed2ecff27a2e402e259ca6b9a01a3805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03831617905550565b611d0583836000612c6b565b6000611d10846124df565b905060005b81811015611d4357611d338585611d2c88856124ed565b6000612be9565b611d3c81613c78565b9050611d15565b50505050505b50505050565b611d913384848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508692506125bc915050565b8484604051611da1929190613cf8565b6040518091039020336001600160a01b03167f7e50569d26be643bda7757722291ec66b1be66d8283474ae3fab5a98f878a7a28b8b8b8b8b8b8b8b8b604051611df299989796959493929190614240565b60405180910390a3505050505050505050565b6000611ec96103e28c8c8c8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050508b8b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8d018190048102820181019092528b81528e93508d9250908c908c90819084018382808284376000920191909152508c9250612503915050565b9b9a5050505050505050505050565b600081815260036020526040902080546060919061175f90614122565b6000610ddc6103e283612c7d565b6000611f567fd51dc9b187568bb94760866e1d0d066ca470037d2d331afb1a02ec74bfb8990c60009081526020527ff8d0c05cd32e3272241fdc9d5839565f8bcf94139cb4bd09e230e1b57a60ddc25490565b9050611f628133612b5c565b611f7f57604051637bfa4b9f60e01b815260040160405180910390fd5b60008036604051611f91929190613cf8565b60405180910390209050611fa6828233612b6b565b15611fc457604051637c9a1cf960e01b815260040160405180910390fd5b611fd18282336001612be9565b60006001611fdf8484612c5c565b611fe99190614228565b9050611ff6838383612c6b565b611fff836129dd565b81101561200e57505050611d49565b858414612047576040517f1508613d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b8681101561212957600088888381811061206657612066613c0e565b905060200281019061207891906142a8565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201829052509394508a92508991508590508181106120c3576120c3613c0e565b90506020020135905060006001600160a01b03166120e083611656565b6001600160a01b0316141561210a578160405163395d09bf60e11b8152600401610f3b9190613496565b6121148282612981565b5050808061212190613c78565b91505061204a565b5061213683836000612c6b565b6000612141846124df565b905060005b81811015611d435761215d8585611d2c88856124ed565b61216681613c78565b9050612146565b60006121ea6103e28989898080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8d018190048102820181019092528b815292508b91508a90819084018382808284376000920191909152508a92508991506128b19050565b98975050505050505050565b600060608060608480602001905181019061221191906142ef565b939991985096509194509092505050565b333014612242576040516314e1dbf760e11b815260040160405180910390fd5b60008080808080612255888a018a61438b565b95509550955095509550955061226e8787878787612cb8565b82846001600160a01b0316887f44e4f8f6bd682c5a3aeba93601ab07cb4d1f21b2aab1ae4880d9577919309aa4898987876040516122af949392919061441d565b60405180910390a4505050505050505050565b6040517f19457468657265756d205369676e6564204d6573736167653a0a3332000000006020820152603c8101829052600090605c015b604051602081830303815290604052805190602001209050919050565b61233e61232283612c7d565b6000908152600460205260409020805460ff1916831515179055565b5050565b600061234d84611656565b90506001600160a01b038116612378578360405163395d09bf60e11b8152600401610f3b9190613496565b612395848361238687610dc1565b6123909190614228565b612cc8565b60026123a085612827565b60028111156123b1576123b1613e32565b141561245e576040516001600160a01b03841660248201526044810183905260009061241d90839063a9059cbb60e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152612d44565b90508061245857846040517f90c52ed7000000000000000000000000000000000000000000000000000000008152600401610f3b9190613496565b50611d49565b6040517f40c10f190000000000000000000000000000000000000000000000000000000081526001600160a01b038481166004830152602482018490528216906340c10f1990604401600060405180830381600087803b1580156124c157600080fd5b505af11580156124d5573d6000803e3d6000fd5b5050505050505050565b6000610ddc6104d883612dd6565b60006124fc6102c08484612e11565b9392505050565b60007fb7ad972b71475860613db3ba1fe699b886c878f9002a09250dc25e769eb19a1088888888888888604051602001612544989796959493929190614456565b604051602081830303815290604052805190602001209050979650505050505050565b60007f4281768ab7480ddcf054116642fb644388166407fc26c4e8e435dd259143cfd2838360405160200161259e939291906144c9565b60405160208183030381529060405280519060200120905092915050565b60006125c783611656565b90506001600160a01b0381166125f2578260405163395d09bf60e11b8152600401610f3b9190613496565b81612629576040517f2c5211c600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600061263484612827565b90506000600282600281111561264c5761264c613e32565b14156126aa576040516001600160a01b0387166024820152306044820152606481018590526126889084906323b872dd60e01b906084016123e6565b905080610b70578460405163e217b0ad60e01b8152600401610f3b9190613496565b60018260028111156126be576126be613e32565b141561270d576040516001600160a01b0387166024820152604481018590526126889084907f79cc679000000000000000000000000000000000000000000000000000000000906064016123e6565b6040517f31eecaf4000000000000000000000000000000000000000000000000000000008152600060048201526127d89084906323b872dd60e01b9089906001600160a01b038416906331eecaf49060240160206040518083038186803b15801561277757600080fd5b505afa15801561278b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127af91906140c6565b6040516001600160a01b03928316602482015291166044820152606481018890526084016123e6565b9050806127fa578460405163e217b0ad60e01b8152600401610f3b9190613496565b6040516308a1eee160e01b8152600060048201526001600160a01b038416906308a1eee1906024016111ec565b60006128356104d883612e53565b6002811115610ddc57610ddc613e32565b61287361285888888888888888612503565b6000908152600460205260409020805460ff19166001179055565b50505050505050565b60007f385b0fbf06aae812803f7f3a3a975b7e1dce19f50fb39baf3f341e2849e5ce06826040516020016122f99291906144f6565b60007f07b0d4304f82012bd3b70b1d531c160e326067c90829e2a3d386722ad10b89c386868686866040516020016128ee9695949392919061451c565b60405160208183030381529060405280519060200120905095945050505050565b61233e61291b83612e53565b82600281111561292d5761292d613e32565b60009182526020829052604090912055565b61233e61294b836129eb565b6000908152600260205260409020805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b038416179055565b6129a061298d8361287c565b8260009182526020829052604090912055565b7fa34df38babdcfb4aa60ad9eda9583df1bcd3dbd7d4687c89d35c3ec4f4331be982826040516129d1929190613c40565b60405180910390a15050565b6000610ddc6104d883612e88565b60007fc4e632779a6a7838736dd7e5e6a0eadf171dd37dfb6230720e265576dfcf42bb826040516020016122f99291906144f6565b50565b815181811015612a465760405163f1965a0760e01b815260040160405180910390fd5b81612a7d576040517f1845300d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612a878483612ec3565b612a918482612ecf565b60005b81811015612b55576000848281518110612ab057612ab0613c0e565b60200260200101519050612ac48682612b5c565b15612b06576040517f424926de0000000000000000000000000000000000000000000000000000000081526001600160a01b0382166004820152602401610f3b565b6001600160a01b038116612b2d5760405163f1965a0760e01b815260040160405180910390fd5b612b38868383612edb565b612b4486826001612ee8565b50612b4e81613c78565b9050612a94565b5050505050565b60006124fc6103e28484612ef1565b604080517f3ced7a8caf1111e0fbf4b784c5b41aebd0f2389d9f2f64d5c3424aeed3adbd3c602080830191909152818301869052606080830186905284901b6bffffffffffffffffffffffff191660808301528251808303607401815260949092019092528051910120600090612be1906103e2565b949350505050565b604080517f3ced7a8caf1111e0fbf4b784c5b41aebd0f2389d9f2f64d5c3424aeed3adbd3c602080830191909152818301879052606080830187905285901b6bffffffffffffffffffffffff191660808301528251808303607401815260949092019092528051910120611d4990612322565b60006124fc6104d88484612f44565b612c7861298d8484612f44565b505050565b604080517f957705a374326b30f4a1069c936d736cc9993ed6c820b4e0e2fd94a8beca0d1d60208201529081018290526000906060016122f9565b612b5561285886868686866128b1565b6000612cd3836112d4565b9050600081118015612ce457508082115b15612d1d57826040517f78202795000000000000000000000000000000000000000000000000000000008152600401610f3b9190613496565b612c78612d3184610dd76201518042613d7a565b8360009182526020829052604090912055565b6000806000846001600160a01b031684604051612d619190613c24565b6000604051808303816000865af19150503d8060008114612d9e576040519150601f19603f3d011682016040523d82523d6000602084013e612da3565b606091505b5091509150818015612dcd575080511580612dcd575080806020019051810190612dcd919061397d565b95945050505050565b604080517f05112ef894367de1270cfae12afcd2285c225830eb8f74e7e938f721bb510cba60208201529081018290526000906060016122f9565b604080517ff23ec0bb4210edd5cba85afd05127efcd2fc6a781bfed49188da1081670b22d860208201529081018390526060810182905260009060800161259e565b60007fa80d2259af55890618ec2eeb3ac72de4bdba22529bb14845d8a3d712d1c3f621826040516020016122f99291906144f6565b604080517f79bd914addd90bd67ad800bf0230bb85ffdef5aeba5fd8249f116d3f17f4fb4b60208201529081018290526000906060016122f9565b61233e61298d83612e88565b61233e61298d83612dd6565b612c7861294b8484612e11565b612c7861232284845b604080517f63fa879cb478fddf1de08d49e29115fb768866711bc799ff9ab419a7f16c9afb6020820152908101839052606082811b6bffffffffffffffffffffffff19169082015260009060740161259e565b604080517fbaea1c6c0f16a0a340b10a9e980806696a68ddbb5e8361fd64630dd21abf515f60208201529081018390526060810182905260009060800161259e565b6103498061456d83390190565b60008083601f840112612fa557600080fd5b50813567ffffffffffffffff811115612fbd57600080fd5b602083019150836020828501011115612fd557600080fd5b9250929050565b60008060208385031215612fef57600080fd5b823567ffffffffffffffff81111561300657600080fd5b61301285828601612f93565b90969095509350505050565b60008060006040848603121561303357600080fd5b833567ffffffffffffffff81111561304a57600080fd5b61305686828701612f93565b909790965060209590950135949350505050565b60006020828403121561307c57600080fd5b5035919050565b6020808252825182820181905260009190848201906040850190845b818110156130c45783516001600160a01b03168352928401929184019160010161309f565b50909695505050505050565b600080600080600080600080600060c08a8c0312156130ee57600080fd5b8935985060208a013567ffffffffffffffff8082111561310d57600080fd5b6131198d838e01612f93565b909a50985060408c013591508082111561313257600080fd5b61313e8d838e01612f93565b909850965060608c0135955060808c013591508082111561315e57600080fd5b5061316b8c828d01612f93565b9a9d999c50979a9699959894979660a00135949350505050565b6000806000806000806060878903121561319e57600080fd5b863567ffffffffffffffff808211156131b657600080fd5b6131c28a838b01612f93565b909850965060208901359150808211156131db57600080fd5b6131e78a838b01612f93565b9096509450604089013591508082111561320057600080fd5b5061320d89828a01612f93565b979a9699509497509295939492505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561325e5761325e61321f565b604052919050565b600067ffffffffffffffff8211156132805761328061321f565b50601f01601f191660200190565b600082601f83011261329f57600080fd5b81356132b26132ad82613266565b613235565b8181528460208386010111156132c757600080fd5b816020850160208301376000918101602001919091529392505050565b6000602082840312156132f657600080fd5b813567ffffffffffffffff81111561330d57600080fd5b612be18482850161328e565b60008060008060008060006080888a03121561333457600080fd5b873567ffffffffffffffff8082111561334c57600080fd5b6133588b838c01612f93565b909950975060208a013591508082111561337157600080fd5b61337d8b838c01612f93565b909750955060408a013591508082111561339657600080fd5b506133a38a828b01612f93565b989b979a50959894979596606090950135949350505050565b600080600080600080608087890312156133d557600080fd5b86359550602087013567ffffffffffffffff808211156133f457600080fd5b6134008a838b01612f93565b9097509550604089013591508082111561341957600080fd5b5061342689828a01612f93565b979a9699509497949695606090950135949350505050565b60005b83811015613459578181015183820152602001613441565b83811115611d495750506000910152565b6000815180845261348281602086016020860161343e565b601f01601f19169290920160200192915050565b6020815260006124fc602083018461346a565b6001600160a01b0381168114612a2057600080fd5b600080600080606085870312156134d457600080fd5b84356134df816134a9565b935060208501359250604085013567ffffffffffffffff81111561350257600080fd5b61350e87828801612f93565b95989497509550505050565b600080600080600080600080600060a08a8c03121561353857600080fd5b893567ffffffffffffffff8082111561355057600080fd5b61355c8d838e01612f93565b909b50995060208c013591508082111561357557600080fd5b6135818d838e01612f93565b909950975060408c013591508082111561359a57600080fd5b6135a68d838e01612f93565b909750955060608c01359150808211156135bf57600080fd5b506135cc8c828d01612f93565b9a9d999c50979a9699959894979660800135949350505050565b60008060008060008060008060008060e08b8d03121561360557600080fd5b8a35995060208b013567ffffffffffffffff8082111561362457600080fd5b6136308e838f01612f93565b909b50995060408d013591508082111561364957600080fd5b6136558e838f01612f93565b909950975060608d0135915061366a826134a9565b90955060808c0135945060a08c0135908082111561368757600080fd5b506136948d828e01612f93565b9150809450508092505060c08b013590509295989b9194979a5092959850565b60008083601f8401126136c657600080fd5b50813567ffffffffffffffff8111156136de57600080fd5b6020830191508360208260051b8501011115612fd557600080fd5b6000806000806040858703121561370f57600080fd5b843567ffffffffffffffff8082111561372757600080fd5b613733888389016136b4565b9096509450602087013591508082111561374c57600080fd5b5061350e878288016136b4565b600080600080600080600060a0888a03121561377457600080fd5b87359650602088013567ffffffffffffffff8082111561379357600080fd5b61379f8b838c01612f93565b909850965060408a01359150808211156137b857600080fd5b506137c58a828b01612f93565b90955093505060608801356137d9816134a9565b809250506080880135905092959891949750929550565b600081518084526020808501808196508360051b8101915082860160005b8581101561383857828403895261382684835161346a565b9885019893509084019060010161380e565b5091979650505050505050565b600060808201868352602060808185015281875180845260a086019150828901935060005b818110156138865784518352938301939183019160010161386a565b5050848103604086015286518082528282019350600581901b8201830183890160005b838110156138d757601f198584030187526138c583835161346a565b968601969250908501906001016138a9565b50508681036060880152611ec981896137f0565b600080604083850312156138fe57600080fd5b823567ffffffffffffffff8082111561391657600080fd5b6139228683870161328e565b9350602085013591508082111561393857600080fd5b506139458582860161328e565b9150509250929050565b828152604060208201526000612be1604083018461346a565b8051801515811461397857600080fd5b919050565b60006020828403121561398f57600080fd5b6124fc82613968565b600067ffffffffffffffff8211156139b2576139b261321f565b5060051b60200190565b600082601f8301126139cd57600080fd5b815160206139dd6132ad83613998565b82815260059290921b840181019181810190868411156139fc57600080fd5b8286015b848110156113905780518352918301918301613a00565b6000613a256132ad84613266565b9050828152838383011115613a3957600080fd5b6124fc83602083018461343e565b600082601f830112613a5857600080fd5b81516020613a686132ad83613998565b82815260059290921b84018101918181019086841115613a8757600080fd5b8286015b8481101561139057805167ffffffffffffffff811115613aab5760008081fd5b8701603f81018913613abd5760008081fd5b613ace898683015160408401613a17565b845250918301918301613a8b565b600082601f830112613aed57600080fd5b6124fc83835160208501613a17565b600082601f830112613b0d57600080fd5b81516020613b1d6132ad83613998565b82815260059290921b84018101918181019086841115613b3c57600080fd5b8286015b8481101561139057805167ffffffffffffffff811115613b605760008081fd5b613b6e8986838b0101613adc565b845250918301918301613b40565b60008060008060808587031215613b9257600080fd5b84519350602085015167ffffffffffffffff80821115613bb157600080fd5b613bbd888389016139bc565b94506040870151915080821115613bd357600080fd5b613bdf88838901613a47565b93506060870151915080821115613bf557600080fd5b50613c0287828801613afc565b91505092959194509250565b634e487b7160e01b600052603260045260246000fd5b60008251613c3681846020870161343e565b9190910192915050565b604081526000613c53604083018561346a565b90508260208301529392505050565b634e487b7160e01b600052601160045260246000fd5b6000600019821415613c8c57613c8c613c62565b5060010190565b8035613978816134a9565b600080600060608486031215613cb357600080fd5b833567ffffffffffffffff811115613cca57600080fd5b613cd68682870161328e565b9350506020840135613ce7816134a9565b929592945050506040919091013590565b8183823760009101908152919050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b606081526000613d4560608301888a613d08565b8281036020840152613d58818789613d08565b90508281036040840152613d6d818587613d08565b9998505050505050505050565b600082613d9757634e487b7160e01b600052601260045260246000fd5b500490565b608081526000613db060808301898b613d08565b8281036020840152613dc381888a613d08565b90508281036040840152613dd8818688613d08565b91505082606083015298975050505050505050565b60008060408385031215613e0057600080fd5b823567ffffffffffffffff811115613e1757600080fd5b613e238582860161328e565b95602094909401359450505050565b634e487b7160e01b600052602160045260246000fd5b600060208284031215613e5a57600080fd5b5051919050565b6001600160a01b0383168152604060208201526000612be1604083018461346a565b60008060408385031215613e9657600080fd5b613e9f83613968565b9150602083015167ffffffffffffffff811115613ebb57600080fd5b61394585828601613adc565b600080600080600080600080610100898b031215613ee457600080fd5b883567ffffffffffffffff80821115613efc57600080fd5b613f088c838d0161328e565b995060208b0135915080821115613f1e57600080fd5b613f2a8c838d0161328e565b9850613f3860408c01613c93565b975060608b0135965060808b0135915080821115613f5557600080fd5b50613f628b828c0161328e565b989b979a50959894979660a0860135965060c08601359560e00135945092505050565b60c081526000613f9860c083018961346a565b8281036020840152613faa818961346a565b90508281036040840152613fbe818861346a565b60608401969096525050608081019290925260a0909101529392505050565b60008060008060008060c08789031215613ff657600080fd5b863567ffffffffffffffff8082111561400e57600080fd5b61401a8a838b0161328e565b9750602089013591508082111561403057600080fd5b5061403d89828a0161328e565b955050604087013560ff8116811461405457600080fd5b935060608701359250608087013561406b816134a9565b8092505060a087013590509295509295509295565b60a08152600061409360a083018861346a565b82810360208401526140a5818861346a565b60ff9690961660408401525050606081019290925260809091015292915050565b6000602082840312156140d857600080fd5b81516124fc816134a9565b6040815260006140f6604083018561346a565b90506001600160a01b03831660208301529392505050565b602081526000612be1602083018486613d08565b600181811c9082168061413657607f821691505b6020821081141561415757634e487b7160e01b600052602260045260246000fd5b50919050565b60008060006060848603121561417257600080fd5b833567ffffffffffffffff8082111561418a57600080fd5b818601915086601f83011261419e57600080fd5b813560206141ae6132ad83613998565b82815260059290921b8401810191818101908a8411156141cd57600080fd5b948201945b838610156141f45785356141e5816134a9565b825294820194908201906141d2565b975050870135945050604086013591508082111561421157600080fd5b5061421e8682870161328e565b9150509250925092565b6000821982111561423b5761423b613c62565b500190565b60a08152600061425460a083018b8d613d08565b8281036020840152614267818a8c613d08565b9050828103604084015261427c81888a613d08565b90508281036060840152614291818688613d08565b9150508260808301529a9950505050505050505050565b6000808335601e198436030181126142bf57600080fd5b83018035915067ffffffffffffffff8211156142da57600080fd5b602001915036819003821315612fd557600080fd5b600080600080600060a0868803121561430757600080fd5b8551945060208601519350604086015167ffffffffffffffff8082111561432d57600080fd5b61433989838a016139bc565b9450606088015191508082111561434f57600080fd5b61435b89838a01613a47565b9350608088015191508082111561437157600080fd5b5061437e88828901613afc565b9150509295509295909350565b60008060008060008060c087890312156143a457600080fd5b863567ffffffffffffffff808211156143bc57600080fd5b6143c88a838b0161328e565b975060208901359150808211156143de57600080fd5b506143eb89828a0161328e565b95505060408701356143fc816134a9565b959894975094956060810135955060808101359460a0909101359350915050565b608081526000614430608083018761346a565b8281036020840152614442818761346a565b604084019590955250506060015292915050565b60006101008a83528960208401528060408401526144768184018a61346a565b9050828103606084015261448a818961346a565b90506001600160a01b03871660808401528560a084015282810360c08401526144b3818661346a565b9150508260e08301529998505050505050505050565b838152600083516144e181602085016020880161343e565b60209201918201929092526040019392505050565b8281526000825161450e81602085016020870161343e565b919091016020019392505050565b86815285602082015260c06040820152600061453b60c083018761346a565b828103606084015261454d818761346a565b6001600160a01b03959095166080840152505060a0015294935050505056fe6080604052600160005534801561001557600080fd5b50610324806100256000396000f3fe608060405234801561001057600080fd5b50600436106100355760003560e01c8062f55d9d1461003a5780631cff79cd1461004f575b600080fd5b61004d6100483660046101da565b610079565b005b61006261005d3660046101fc565b6100bb565b60405161007092919061027f565b60405180910390f35b6002600054141561009d5760405163caa30f5560e01b815260040160405180910390fd5b600260005573ffffffffffffffffffffffffffffffffffffffff8116ff5b60006060600260005414156100e35760405163caa30f5560e01b815260040160405180910390fd5b600260005573ffffffffffffffffffffffffffffffffffffffff85163b610136576040517f6f7c43f100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8473ffffffffffffffffffffffffffffffffffffffff16848460405161015d9291906102de565b6000604051808303816000865af19150503d806000811461019a576040519150601f19603f3d011682016040523d82523d6000602084013e61019f565b606091505b50600160005590969095509350505050565b803573ffffffffffffffffffffffffffffffffffffffff811681146101d557600080fd5b919050565b6000602082840312156101ec57600080fd5b6101f5826101b1565b9392505050565b60008060006040848603121561021157600080fd5b61021a846101b1565b9250602084013567ffffffffffffffff8082111561023757600080fd5b818601915086601f83011261024b57600080fd5b81358181111561025a57600080fd5b87602082850101111561026c57600080fd5b6020830194508093505050509250925092565b821515815260006020604081840152835180604085015260005b818110156102b557858101830151858201606001528201610299565b818111156102c7576000606083870101525b50601f01601f191692909201606001949350505050565b818382376000910190815291905056fea2646970667358221220dfb702492c35c6a884ac11997b483e3fee4ff8145c7abb0799d2a2fc8674c39364736f6c63430008090033a26469706673582212208ccf7d53804e5299ae34cb40b83392c107813b7a4ebce02cc0a10d4ed07fdafe64736f6c63430008090033", - "opcodes": "PUSH1 0xC0 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH3 0x11 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH3 0x4A12 CODESIZE SUB DUP1 PUSH3 0x4A12 DUP4 CODECOPY DUP2 ADD PUSH1 0x40 DUP2 SWAP1 MSTORE PUSH3 0x34 SWAP2 PUSH3 0xBB JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND EXTCODESIZE PUSH3 0x5D JUMPI PUSH1 0x40 MLOAD PUSH4 0x735326AB PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND EXTCODESIZE PUSH3 0x86 JUMPI PUSH1 0x40 MLOAD PUSH4 0xC84DABF PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 DUP3 AND PUSH1 0x80 MSTORE AND PUSH1 0xA0 MSTORE PUSH3 0xF3 JUMP JUMPDEST DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH3 0xB6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH3 0xCF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH3 0xDA DUP4 PUSH3 0x9E JUMP JUMPDEST SWAP2 POP PUSH3 0xEA PUSH1 0x20 DUP5 ADD PUSH3 0x9E JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x80 MLOAD PUSH1 0xA0 MLOAD PUSH2 0x48EB PUSH3 0x127 PUSH1 0x0 CODECOPY PUSH1 0x0 PUSH2 0x146E ADD MSTORE PUSH1 0x0 DUP2 DUP2 PUSH2 0x5B7 ADD MSTORE DUP2 DUP2 PUSH2 0x169B ADD MSTORE PUSH2 0x1972 ADD MSTORE PUSH2 0x48EB 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 0x88B30587 GT PUSH2 0x12A JUMPI DUP1 PUSH4 0xBC00C216 GT PUSH2 0xBD JUMPI DUP1 PUSH4 0xDC97D962 GT PUSH2 0x8C JUMPI DUP1 PUSH4 0xF6A5F9F5 GT PUSH2 0x71 JUMPI DUP1 PUSH4 0xF6A5F9F5 EQ PUSH2 0x543 JUMPI DUP1 PUSH4 0xF871F14E EQ PUSH2 0x556 JUMPI DUP1 PUSH4 0xFBE0A31B EQ PUSH2 0x579 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0xDC97D962 EQ PUSH2 0x510 JUMPI DUP1 PUSH4 0xF6789C8C EQ PUSH2 0x530 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0xBC00C216 EQ PUSH2 0x4B7 JUMPI DUP1 PUSH4 0xBD02D0F5 EQ PUSH2 0x4CA JUMPI DUP1 PUSH4 0xC031A180 EQ PUSH2 0x4EA JUMPI DUP1 PUSH4 0xD26FF210 EQ PUSH2 0x4FD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x9DED06DF GT PUSH2 0xF9 JUMPI DUP1 PUSH4 0x9DED06DF EQ PUSH2 0x477 JUMPI DUP1 PUSH4 0xA3499C73 EQ PUSH2 0x48A JUMPI DUP1 PUSH4 0xAA1E1F0A EQ PUSH2 0x49D JUMPI DUP1 PUSH4 0xB5417084 EQ PUSH2 0x4A4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x88B30587 EQ PUSH2 0x41E JUMPI DUP1 PUSH4 0x935B13F6 EQ PUSH2 0x431 JUMPI DUP1 PUSH4 0x97B87BA6 EQ PUSH2 0x444 JUMPI DUP1 PUSH4 0x986E791A EQ PUSH2 0x457 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x364940D8 GT PUSH2 0x1BD JUMPI DUP1 PUSH4 0x5DDE8117 GT PUSH2 0x18C JUMPI DUP1 PUSH4 0x7AE1CFCA GT PUSH2 0x171 JUMPI DUP1 PUSH4 0x7AE1CFCA EQ PUSH2 0x3D4 JUMPI DUP1 PUSH4 0x7B1B769E EQ PUSH2 0x3F7 JUMPI DUP1 PUSH4 0x886A625D EQ PUSH2 0x40B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x5DDE8117 EQ PUSH2 0x3AE JUMPI DUP1 PUSH4 0x5F6970C3 EQ PUSH2 0x3C1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x364940D8 EQ PUSH2 0x327 JUMPI DUP1 PUSH4 0x4656AE2E EQ PUSH2 0x32F JUMPI DUP1 PUSH4 0x585A9FD4 EQ PUSH2 0x342 JUMPI DUP1 PUSH4 0x5C60DA1B EQ PUSH2 0x355 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x1C92115F GT PUSH2 0x1F9 JUMPI DUP1 PUSH4 0x1C92115F EQ PUSH2 0x29F JUMPI DUP1 PUSH4 0x21F8A721 EQ PUSH2 0x2B2 JUMPI DUP1 PUSH4 0x23275548 EQ PUSH2 0x2F3 JUMPI DUP1 PUSH4 0x26EF699D EQ PUSH2 0x314 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x9C5EABE EQ PUSH2 0x22B JUMPI DUP1 PUSH4 0x146E2D78 EQ PUSH2 0x240 JUMPI DUP1 PUSH4 0x14BFD6D0 EQ PUSH2 0x253 JUMPI DUP1 PUSH4 0x1876EED9 EQ PUSH2 0x27C JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x23E PUSH2 0x239 CALLDATASIZE PUSH1 0x4 PUSH2 0x2FDC JUMP JUMPDEST PUSH2 0x58C JUMP JUMPDEST STOP JUMPDEST PUSH2 0x23E PUSH2 0x24E CALLDATASIZE PUSH1 0x4 PUSH2 0x301E JUMP JUMPDEST PUSH2 0xB2F JUMP JUMPDEST PUSH2 0x266 PUSH2 0x261 CALLDATASIZE PUSH1 0x4 PUSH2 0x306A JUMP JUMPDEST PUSH2 0xB78 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x273 SWAP2 SWAP1 PUSH2 0x3083 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x28F PUSH2 0x28A CALLDATASIZE PUSH1 0x4 PUSH2 0x30D0 JUMP JUMPDEST PUSH2 0xC22 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x273 JUMP JUMPDEST PUSH2 0x23E PUSH2 0x2AD CALLDATASIZE PUSH1 0x4 PUSH2 0x3185 JUMP JUMPDEST PUSH2 0xD56 JUMP JUMPDEST PUSH2 0x2DB PUSH2 0x2C0 CALLDATASIZE PUSH1 0x4 PUSH2 0x306A JUMP JUMPDEST PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x273 JUMP JUMPDEST PUSH2 0x306 PUSH2 0x301 CALLDATASIZE PUSH1 0x4 PUSH2 0x32E4 JUMP JUMPDEST PUSH2 0xDC1 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x273 JUMP JUMPDEST PUSH2 0x23E PUSH2 0x322 CALLDATASIZE PUSH1 0x4 PUSH2 0x3319 JUMP JUMPDEST PUSH2 0xDE2 JUMP JUMPDEST PUSH2 0x306 PUSH2 0xE7A JUMP JUMPDEST PUSH2 0x23E PUSH2 0x33D CALLDATASIZE PUSH1 0x4 PUSH2 0x301E JUMP JUMPDEST PUSH2 0xED2 JUMP JUMPDEST PUSH2 0x23E PUSH2 0x350 CALLDATASIZE PUSH1 0x4 PUSH2 0x301E JUMP JUMPDEST PUSH2 0x1226 JUMP JUMPDEST PUSH32 0x360894A13BA1A3210667C828492DB98DCA3E2076CC3735A920A3CA505D382BBC PUSH1 0x0 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH32 0x11141F466C69FD409E1990E063B49CD6D61ED2ECFF27A2E402E259CA6B9A01A3 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x2DB JUMP JUMPDEST PUSH2 0x306 PUSH2 0x3BC CALLDATASIZE PUSH1 0x4 PUSH2 0x32E4 JUMP JUMPDEST PUSH2 0x12D4 JUMP JUMPDEST PUSH2 0x28F PUSH2 0x3CF CALLDATASIZE PUSH1 0x4 PUSH2 0x33BC JUMP JUMPDEST PUSH2 0x12E2 JUMP JUMPDEST PUSH2 0x28F PUSH2 0x3E2 CALLDATASIZE PUSH1 0x4 PUSH2 0x306A JUMP JUMPDEST PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH2 0x28F PUSH2 0x405 CALLDATASIZE PUSH1 0x4 PUSH2 0x32E4 JUMP JUMPDEST POP PUSH1 0x0 SWAP1 JUMP JUMPDEST PUSH2 0x23E PUSH2 0x419 CALLDATASIZE PUSH1 0x4 PUSH2 0x301E JUMP JUMPDEST PUSH2 0x139B JUMP JUMPDEST PUSH2 0x306 PUSH2 0x42C CALLDATASIZE PUSH1 0x4 PUSH2 0x306A JUMP JUMPDEST PUSH2 0x164B JUMP JUMPDEST PUSH2 0x2DB PUSH2 0x43F CALLDATASIZE PUSH1 0x4 PUSH2 0x32E4 JUMP JUMPDEST PUSH2 0x1656 JUMP JUMPDEST PUSH2 0x23E PUSH2 0x452 CALLDATASIZE PUSH1 0x4 PUSH2 0x301E JUMP JUMPDEST PUSH2 0x1664 JUMP JUMPDEST PUSH2 0x46A PUSH2 0x465 CALLDATASIZE PUSH1 0x4 PUSH2 0x306A JUMP JUMPDEST PUSH2 0x1742 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x273 SWAP2 SWAP1 PUSH2 0x3496 JUMP JUMPDEST PUSH2 0x23E PUSH2 0x485 CALLDATASIZE PUSH1 0x4 PUSH2 0x2FDC JUMP JUMPDEST PUSH2 0x17E4 JUMP JUMPDEST PUSH2 0x23E PUSH2 0x498 CALLDATASIZE PUSH1 0x4 PUSH2 0x34BE JUMP JUMPDEST PUSH2 0x1A18 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x28F JUMP JUMPDEST PUSH2 0x23E PUSH2 0x4B2 CALLDATASIZE PUSH1 0x4 PUSH2 0x351A JUMP JUMPDEST PUSH2 0x1D4F JUMP JUMPDEST PUSH2 0x28F PUSH2 0x4C5 CALLDATASIZE PUSH1 0x4 PUSH2 0x35E6 JUMP JUMPDEST PUSH2 0x1E05 JUMP JUMPDEST PUSH2 0x306 PUSH2 0x4D8 CALLDATASIZE PUSH1 0x4 PUSH2 0x306A JUMP JUMPDEST PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH2 0x46A PUSH2 0x4F8 CALLDATASIZE PUSH1 0x4 PUSH2 0x306A JUMP JUMPDEST PUSH2 0x1ED8 JUMP JUMPDEST PUSH2 0x28F PUSH2 0x50B CALLDATASIZE PUSH1 0x4 PUSH2 0x306A JUMP JUMPDEST PUSH2 0x1EF5 JUMP JUMPDEST PUSH2 0x306 PUSH2 0x51E CALLDATASIZE PUSH1 0x4 PUSH2 0x306A JUMP JUMPDEST PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH2 0x23E PUSH2 0x53E CALLDATASIZE PUSH1 0x4 PUSH2 0x36F9 JUMP JUMPDEST PUSH2 0x1F03 JUMP JUMPDEST PUSH2 0x28F PUSH2 0x551 CALLDATASIZE PUSH1 0x4 PUSH2 0x3759 JUMP JUMPDEST PUSH2 0x216D JUMP JUMPDEST PUSH2 0x569 PUSH2 0x564 CALLDATASIZE PUSH1 0x4 PUSH2 0x32E4 JUMP JUMPDEST PUSH2 0x21F6 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x273 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x3845 JUMP JUMPDEST PUSH2 0x23E PUSH2 0x587 CALLDATASIZE PUSH1 0x4 PUSH2 0x301E JUMP JUMPDEST PUSH2 0x2222 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x59B DUP4 DUP6 ADD DUP6 PUSH2 0x38EB JUMP JUMPDEST SWAP2 POP SWAP2 POP PUSH1 0x0 PUSH2 0x5B1 DUP4 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 PUSH2 0x22C2 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH32 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x73E3D66A DUP4 DUP6 PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x603 SWAP3 SWAP2 SWAP1 PUSH2 0x394F JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x61D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x631 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x655 SWAP2 SWAP1 PUSH2 0x397D JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH1 0x60 DUP1 PUSH1 0x60 ADDRESS PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xF871F14E DUP10 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x68A SWAP2 SWAP1 PUSH2 0x3496 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x6A2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL SWAP3 POP POP POP DUP1 ISZERO PUSH2 0x6D7 JUMPI 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 0x6D4 SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x3B7C JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0x6FE JUMPI DUP8 DUP1 PUSH1 0x20 ADD SWAP1 MLOAD DUP2 ADD SWAP1 PUSH2 0x6EF SWAP2 SWAP1 PUSH2 0x3B7C JUMP JUMPDEST SWAP3 SWAP7 POP SWAP1 SWAP5 POP SWAP3 POP SWAP1 POP PUSH2 0x709 JUMP JUMPDEST SWAP3 SWAP7 POP SWAP1 SWAP5 POP SWAP3 POP SWAP1 POP JUMPDEST CHAINID DUP5 EQ PUSH2 0x742 JUMPI PUSH1 0x40 MLOAD PUSH32 0x7A47C9A200000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP3 MLOAD DUP3 MLOAD DUP2 EQ ISZERO DUP1 PUSH2 0x755 JUMPI POP DUP2 MLOAD DUP2 EQ ISZERO JUMPDEST ISZERO PUSH2 0x78C JUMPI PUSH1 0x40 MLOAD PUSH32 0xCA9A28F500000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0xB21 JUMPI PUSH1 0x0 DUP6 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x7AB JUMPI PUSH2 0x7AB PUSH2 0x3C0E JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD SWAP1 POP PUSH2 0x7BE DUP2 PUSH2 0x1EF5 JUMP JUMPDEST ISZERO PUSH2 0x7C9 JUMPI POP PUSH2 0xB11 JUMP JUMPDEST PUSH1 0x0 DUP1 DUP7 DUP5 DUP2 MLOAD DUP2 LT PUSH2 0x7DE JUMPI PUSH2 0x7DE PUSH2 0x3C0E JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x7F6 SWAP2 SWAP1 PUSH2 0x3C24 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 SWAP1 POP PUSH32 0x5763814B98A3AA86F212797AF3273868B5DD6E2A532D764A79B98CA859E7BBAD DUP2 EQ ISZERO PUSH2 0x85E JUMPI PUSH32 0x886A625D00000000000000000000000000000000000000000000000000000000 SWAP2 POP PUSH2 0xA03 JUMP JUMPDEST PUSH32 0xEC78D9C22C08BB9F0ECD5D95571AE83E3F22219C5A9278C3270691D50ABFD91B DUP2 EQ ISZERO PUSH2 0x8AE JUMPI PUSH32 0x146E2D7800000000000000000000000000000000000000000000000000000000 SWAP2 POP PUSH2 0xA03 JUMP JUMPDEST PUSH32 0x37AC16AABC4D87540E53151B2B716265CFD6B195DB96A9DAF8E893C829BBD233 DUP2 EQ ISZERO PUSH2 0x8FE JUMPI PUSH32 0xFBE0A31B00000000000000000000000000000000000000000000000000000000 SWAP2 POP PUSH2 0xA03 JUMP JUMPDEST PUSH32 0xF41504255B911B3042EE4F8786FDF7CF4BCF24ACE033FA16AF3C8574E025E436 DUP2 EQ ISZERO PUSH2 0x94E JUMPI PUSH32 0x585A9FD400000000000000000000000000000000000000000000000000000000 SWAP2 POP PUSH2 0xA03 JUMP JUMPDEST PUSH32 0xDA199C0E76F665E0450020791C7F8EACC75F3CDBACE313272C28F93E5390B62C DUP2 EQ ISZERO PUSH2 0x99E JUMPI PUSH32 0x4656AE2E00000000000000000000000000000000000000000000000000000000 SWAP2 POP PUSH2 0xA03 JUMP JUMPDEST PUSH32 0xB460DCB6FD5797FC0E7EA0F13406C80D30702BA7F73A42BD91394775DCBCA718 DUP2 EQ ISZERO PUSH2 0x9FB JUMPI DUP10 PUSH2 0x9D3 JUMPI POP POP POP PUSH2 0xB11 JUMP JUMPDEST PUSH32 0x97B87BA600000000000000000000000000000000000000000000000000000000 SWAP2 POP PUSH2 0xA03 JUMP JUMPDEST POP POP POP PUSH2 0xB11 JUMP JUMPDEST PUSH2 0xA0E DUP4 PUSH1 0x1 PUSH2 0x2316 JUMP JUMPDEST PUSH1 0x0 ADDRESS PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 DUP9 DUP8 DUP2 MLOAD DUP2 LT PUSH2 0xA2D JUMPI PUSH2 0xA2D PUSH2 0x3C0E JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP7 PUSH1 0x40 MLOAD PUSH1 0x24 ADD PUSH2 0xA47 SWAP3 SWAP2 SWAP1 PUSH2 0x3C40 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F NOT DUP2 DUP5 SUB ADD DUP2 MSTORE SWAP2 DUP2 MSTORE PUSH1 0x20 DUP3 ADD DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT SWAP1 SWAP5 AND SWAP4 SWAP1 SWAP4 OR SWAP1 SWAP3 MSTORE SWAP1 MLOAD PUSH2 0xA85 SWAP2 SWAP1 PUSH2 0x3C24 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP7 GAS CALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0xAC2 JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0xAC7 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP POP SWAP1 POP DUP1 ISZERO PUSH2 0xB01 JUMPI PUSH1 0x40 MLOAD DUP5 SWAP1 PUSH32 0xA74C8847D513FEBA22A0F0CB38D53081ABF97562CDB293926BA243689E7C41CA SWAP1 PUSH1 0x0 SWAP1 LOG2 PUSH2 0xB0C JUMP JUMPDEST PUSH2 0xB0C DUP5 PUSH1 0x0 PUSH2 0x2316 JUMP JUMPDEST POP POP POP POP JUMPDEST PUSH2 0xB1A DUP2 PUSH2 0x3C78 JUMP JUMPDEST SWAP1 POP PUSH2 0x78F JUMP JUMPDEST POP POP POP POP POP POP POP POP POP POP POP POP JUMP JUMPDEST CALLER ADDRESS EQ PUSH2 0xB4F JUMPI PUSH1 0x40 MLOAD PUSH4 0x14E1DBF7 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 DUP1 PUSH2 0xB5F DUP6 DUP8 ADD DUP8 PUSH2 0x3C9E JUMP JUMPDEST SWAP3 POP SWAP3 POP SWAP3 POP PUSH2 0xB70 DUP4 DUP4 DUP4 PUSH2 0x2342 JUMP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 PUSH2 0xB85 DUP4 PUSH2 0x24DF JUMP JUMPDEST SWAP1 POP DUP1 PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xBA0 JUMPI PUSH2 0xBA0 PUSH2 0x321F JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0xBC9 JUMPI DUP2 PUSH1 0x20 ADD PUSH1 0x20 DUP3 MUL DUP1 CALLDATASIZE DUP4 CALLDATACOPY ADD SWAP1 POP JUMPDEST POP SWAP2 POP PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0xC1B JUMPI PUSH2 0xBE1 DUP5 DUP3 PUSH2 0x24ED JUMP JUMPDEST DUP4 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0xBF3 JUMPI PUSH2 0xBF3 PUSH2 0x3C0E JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP3 AND PUSH1 0x20 SWAP3 DUP4 MUL SWAP2 SWAP1 SWAP2 ADD SWAP1 SWAP2 ADD MSTORE PUSH2 0xC14 DUP2 PUSH2 0x3C78 JUMP JUMPDEST SWAP1 POP PUSH2 0xBCF JUMP JUMPDEST POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xCD3 DUP12 DUP12 DUP12 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 PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 PUSH1 0x1F DUP16 ADD DUP2 SWAP1 DIV DUP2 MUL DUP3 ADD DUP2 ADD SWAP1 SWAP3 MSTORE DUP14 DUP2 MSTORE SWAP3 POP DUP14 SWAP2 POP DUP13 SWAP1 DUP2 SWAP1 DUP5 ADD DUP4 DUP3 DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 SWAP3 ADD SWAP2 SWAP1 SWAP2 MSTORE POP POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 PUSH1 0x1F DUP14 ADD DUP2 SWAP1 DIV DUP2 MUL DUP3 ADD DUP2 ADD SWAP1 SWAP3 MSTORE DUP12 DUP2 MSTORE CALLER SWAP4 POP DUP14 SWAP3 POP SWAP1 DUP13 SWAP1 DUP13 SWAP1 DUP2 SWAP1 DUP5 ADD DUP4 DUP3 DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 SWAP3 ADD SWAP2 SWAP1 SWAP2 MSTORE POP DUP13 SWAP3 POP PUSH2 0x2503 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP3 POP SWAP1 POP DUP2 ISZERO PUSH2 0xD48 JUMPI PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE PUSH2 0xD48 DUP6 DUP6 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 CALLER SWAP3 POP DUP8 SWAP2 POP PUSH2 0x2342 SWAP1 POP JUMP JUMPDEST POP SWAP10 SWAP9 POP POP POP POP POP POP POP POP POP JUMP JUMPDEST DUP2 DUP2 PUSH1 0x40 MLOAD PUSH2 0xD66 SWAP3 SWAP2 SWAP1 PUSH2 0x3CF8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0x30AE6CC78C27E651745BF2AD08A11DE83910AC1E347A52F7AC898C0FBEF94DAE DUP9 DUP9 DUP9 DUP9 DUP9 DUP9 PUSH1 0x40 MLOAD PUSH2 0xDB1 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x3D31 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xDDC PUSH2 0x4D8 DUP4 PUSH2 0xDD7 PUSH3 0x15180 TIMESTAMP PUSH2 0x3D7A JUMP JUMPDEST PUSH2 0x2567 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0xE24 CALLER DUP5 DUP5 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 DUP7 SWAP3 POP PUSH2 0x25BC SWAP2 POP POP JUMP JUMPDEST CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0x651D93F66C4329630E8D0F62488EFF599E3BE484DA587335E8DC0FCF46062726 DUP9 DUP9 DUP9 DUP9 DUP9 DUP9 DUP9 PUSH1 0x40 MLOAD PUSH2 0xE69 SWAP8 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x3D9C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xECD PUSH32 0xD51DC9B187568BB94760866E1D0D066CA470037D2D331AFB1A02EC74BFB8990C PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 MSTORE PUSH32 0xF8D0C05CD32E3272241FDC9D5839565F8BCF94139CB4BD09E230E1B57A60DDC2 SLOAD SWAP1 JUMP JUMPDEST SWAP1 POP SWAP1 JUMP JUMPDEST CALLER ADDRESS EQ PUSH2 0xEF2 JUMPI PUSH1 0x40 MLOAD PUSH4 0x14E1DBF7 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xF01 DUP5 DUP7 ADD DUP7 PUSH2 0x3DED JUMP JUMPDEST SWAP2 POP SWAP2 POP PUSH1 0x0 PUSH2 0xF10 DUP4 PUSH2 0x1656 JUMP JUMPDEST SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0xF44 JUMPI DUP3 PUSH1 0x40 MLOAD PUSH4 0x395D09BF PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xF3B SWAP2 SWAP1 PUSH2 0x3496 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x2 PUSH2 0xF4F DUP5 PUSH2 0x2827 JUMP JUMPDEST PUSH1 0x2 DUP2 GT ISZERO PUSH2 0xF60 JUMPI PUSH2 0xF60 PUSH2 0x3E32 JUMP JUMPDEST EQ ISZERO PUSH2 0x11C3 JUMPI PUSH1 0x0 DUP3 PUSH1 0x40 MLOAD PUSH2 0xF75 SWAP1 PUSH2 0x2F86 JUMP JUMPDEST DUP2 SWAP1 PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 PUSH1 0x0 CREATE2 SWAP1 POP DUP1 ISZERO DUP1 ISZERO PUSH2 0xF95 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH32 0x70A0823100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP4 AND PUSH1 0x4 DUP4 ADD DUP2 SWAP1 MSTORE SWAP3 SWAP4 POP PUSH1 0x0 SWAP3 DUP4 SWAP3 SWAP1 SWAP2 PUSH4 0x1CFF79CD SWAP2 DUP8 SWAP2 PUSH4 0xA9059CBB PUSH1 0xE0 SHL SWAP2 ADDRESS SWAP2 DUP5 AND SWAP1 PUSH4 0x70A08231 SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x100F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1023 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1047 SWAP2 SWAP1 PUSH2 0x3E48 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP3 AND PUSH1 0x24 DUP4 ADD MSTORE PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F NOT DUP2 DUP5 SUB ADD DUP2 MSTORE SWAP2 DUP2 MSTORE PUSH1 0x20 DUP3 ADD DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT SWAP5 DUP6 AND OR SWAP1 MSTORE MLOAD PUSH1 0xE0 DUP6 SWAP1 SHL SWAP1 SWAP3 AND DUP3 MSTORE PUSH2 0x10A8 SWAP3 SWAP2 PUSH1 0x4 ADD PUSH2 0x3E61 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x10C2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x10D6 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 0x10FE SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x3E83 JUMP JUMPDEST SWAP2 POP SWAP2 POP DUP2 ISZERO DUP1 PUSH2 0x112B JUMPI POP DUP1 MLOAD ISZERO DUP1 ISZERO SWAP1 PUSH2 0x112B JUMPI POP DUP1 DUP1 PUSH1 0x20 ADD SWAP1 MLOAD DUP2 ADD SWAP1 PUSH2 0x1129 SWAP2 SWAP1 PUSH2 0x397D JUMP JUMPDEST ISZERO JUMPDEST ISZERO PUSH2 0x114B JUMPI DUP6 PUSH1 0x40 MLOAD PUSH4 0xE217B0AD PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xF3B SWAP2 SWAP1 PUSH2 0x3496 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH31 0xF55D9D00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE ADDRESS PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND SWAP1 PUSH3 0xF55D9D SWAP1 PUSH1 0x24 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x11A3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x11B7 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP POP POP POP PUSH2 0xB70 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x8A1EEE1 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND SWAP1 PUSH4 0x8A1EEE1 SWAP1 PUSH1 0x24 ADD JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1206 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x121A JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP POP POP POP POP POP POP JUMP JUMPDEST CALLER ADDRESS EQ PUSH2 0x1246 JUMPI PUSH1 0x40 MLOAD PUSH4 0x14E1DBF7 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 DUP1 DUP1 DUP1 DUP1 DUP1 DUP1 PUSH2 0x125B DUP11 DUP13 ADD DUP13 PUSH2 0x3EC7 JUMP JUMPDEST SWAP8 POP SWAP8 POP SWAP8 POP SWAP8 POP SWAP8 POP SWAP8 POP SWAP8 POP SWAP8 POP PUSH2 0x127A DUP10 DUP10 DUP10 DUP10 DUP10 DUP10 DUP10 PUSH2 0x2846 JUMP JUMPDEST DUP5 DUP7 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP11 PUSH32 0x9991FAA1F435675159FFAE64B66D7ECFDB55C29755869A18DB8497B4392347E0 DUP12 DUP12 DUP10 DUP10 DUP10 DUP10 PUSH1 0x40 MLOAD PUSH2 0x12BF SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x3F85 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP POP POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xDDC PUSH2 0x4D8 DUP4 PUSH2 0x287C JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x135D DUP9 DUP9 DUP9 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 PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 PUSH1 0x1F DUP13 ADD DUP2 SWAP1 DIV DUP2 MUL DUP3 ADD DUP2 ADD SWAP1 SWAP3 MSTORE DUP11 DUP2 MSTORE SWAP3 POP DUP11 SWAP2 POP DUP10 SWAP1 DUP2 SWAP1 DUP5 ADD DUP4 DUP3 DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 SWAP3 ADD SWAP2 SWAP1 SWAP2 MSTORE POP CALLER SWAP3 POP DUP10 SWAP2 POP PUSH2 0x28B1 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP3 POP SWAP1 POP DUP2 ISZERO PUSH2 0x1390 JUMPI PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE JUMPDEST POP SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST CALLER ADDRESS EQ PUSH2 0x13BB JUMPI PUSH1 0x40 MLOAD PUSH4 0x14E1DBF7 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 DUP1 DUP1 DUP1 DUP1 PUSH2 0x13CE DUP9 DUP11 ADD DUP11 PUSH2 0x3FDD JUMP JUMPDEST SWAP6 POP SWAP6 POP SWAP6 POP SWAP6 POP SWAP6 POP SWAP6 POP PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x13EE DUP7 PUSH2 0x1656 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x1430 JUMPI DUP5 PUSH1 0x40 MLOAD PUSH32 0xAA7E8B3200000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xF3B SWAP2 SWAP1 PUSH2 0x3496 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x159C JUMPI PUSH1 0x0 DUP6 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x1451 SWAP2 SWAP1 PUSH2 0x3C24 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 SWAP1 POP PUSH1 0x0 DUP1 PUSH32 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x6FC95B34 PUSH1 0xE0 SHL DUP11 DUP11 DUP11 DUP11 DUP9 PUSH1 0x40 MLOAD PUSH1 0x24 ADD PUSH2 0x14B7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x4080 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F NOT DUP2 DUP5 SUB ADD DUP2 MSTORE SWAP2 DUP2 MSTORE PUSH1 0x20 DUP3 ADD DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT SWAP1 SWAP5 AND SWAP4 SWAP1 SWAP4 OR SWAP1 SWAP3 MSTORE SWAP1 MLOAD PUSH2 0x14F5 SWAP2 SWAP1 PUSH2 0x3C24 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 GAS DELEGATECALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x1530 JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x1535 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP DUP2 PUSH2 0x1573 JUMPI DUP8 PUSH1 0x40 MLOAD PUSH32 0x86D5274300000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xF3B SWAP2 SWAP1 PUSH2 0x3496 JUMP JUMPDEST DUP1 DUP1 PUSH1 0x20 ADD SWAP1 MLOAD DUP2 ADD SWAP1 PUSH2 0x1587 SWAP2 SWAP1 PUSH2 0x40C6 JUMP JUMPDEST SWAP5 POP PUSH2 0x1594 DUP9 PUSH1 0x1 PUSH2 0x290F JUMP JUMPDEST POP POP POP PUSH2 0x15F3 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND EXTCODESIZE PUSH2 0x15E8 JUMPI PUSH1 0x40 MLOAD PUSH32 0xC5CCDDDE00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0xF3B JUMP JUMPDEST PUSH2 0x15F3 DUP6 PUSH1 0x2 PUSH2 0x290F JUMP JUMPDEST PUSH2 0x15FD DUP6 DUP4 PUSH2 0x293F JUMP JUMPDEST PUSH2 0x1607 DUP6 DUP3 PUSH2 0x2981 JUMP JUMPDEST PUSH32 0xBF90B5A1EC9763E8BF4B9245CEF0C28DB92BAB309FC2C5177F17814F38246938 DUP6 DUP4 PUSH1 0x40 MLOAD PUSH2 0x1638 SWAP3 SWAP2 SWAP1 PUSH2 0x40E3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xDDC DUP3 PUSH2 0x29DD JUMP JUMPDEST PUSH1 0x0 PUSH2 0xDDC PUSH2 0x2C0 DUP4 PUSH2 0x29EB JUMP JUMPDEST CALLER ADDRESS EQ PUSH2 0x1684 JUMPI PUSH1 0x40 MLOAD PUSH4 0x14E1DBF7 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xD289D1CB PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH32 0x0 AND SWAP1 PUSH4 0xD289D1CB SWAP1 PUSH2 0x16D2 SWAP1 DUP7 SWAP1 DUP7 SWAP1 PUSH1 0x4 ADD PUSH2 0x410E JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x16EC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x1700 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH32 0x192E759E55F359CD9832B5C0C6E38E4B6DF5C5CA33F3BD5C90738E865A521872 DUP4 DUP4 PUSH1 0x40 MLOAD PUSH2 0x1735 SWAP3 SWAP2 SWAP1 PUSH2 0x410E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x60 SWAP2 SWAP1 PUSH2 0x175F SWAP1 PUSH2 0x4122 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 0x178B SWAP1 PUSH2 0x4122 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x17D8 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x17AD JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x17D8 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 0x17BB JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1840 PUSH32 0x360894A13BA1A3210667C828492DB98DCA3E2076CC3735A920A3CA505D382BBC PUSH1 0x0 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH32 0x11141F466C69FD409E1990E063B49CD6D61ED2ECFF27A2E402E259CA6B9A01A3 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ ISZERO PUSH2 0x1881 JUMPI PUSH1 0x40 MLOAD PUSH32 0xBF10DD3A00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 DUP1 PUSH2 0x1891 DUP5 DUP7 ADD DUP7 PUSH2 0x415D JUMP JUMPDEST SWAP3 POP SWAP3 POP SWAP3 POP PUSH1 0x0 PUSH1 0x1 PUSH2 0x18EC PUSH32 0xD51DC9B187568BB94760866E1D0D066CA470037D2D331AFB1A02EC74BFB8990C PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 MSTORE PUSH32 0xF8D0C05CD32E3272241FDC9D5839565F8BCF94139CB4BD09E230E1B57A60DDC2 SLOAD SWAP1 JUMP JUMPDEST PUSH2 0x18F6 SWAP2 SWAP1 PUSH2 0x4228 JUMP JUMPDEST SWAP1 POP PUSH2 0x1949 DUP2 PUSH32 0xD51DC9B187568BB94760866E1D0D066CA470037D2D331AFB1A02EC74BFB8990C PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 MSTORE PUSH32 0xF8D0C05CD32E3272241FDC9D5839565F8BCF94139CB4BD09E230E1B57A60DDC2 SSTORE JUMP JUMPDEST PUSH2 0x1954 DUP2 DUP6 DUP6 PUSH2 0x2A23 JUMP JUMPDEST DUP2 MLOAD ISZERO PUSH2 0xB70 JUMPI PUSH1 0x40 MLOAD PUSH4 0xD289D1CB PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH32 0x0 AND SWAP1 PUSH4 0xD289D1CB SWAP1 PUSH2 0x19A7 SWAP1 DUP6 SWAP1 PUSH1 0x4 ADD PUSH2 0x3496 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x19C1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x19D5 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH32 0x192E759E55F359CD9832B5C0C6E38E4B6DF5C5CA33F3BD5C90738E865A521872 DUP3 PUSH1 0x40 MLOAD PUSH2 0x1A08 SWAP2 SWAP1 PUSH2 0x3496 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1A6B PUSH32 0xD51DC9B187568BB94760866E1D0D066CA470037D2D331AFB1A02EC74BFB8990C PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 MSTORE PUSH32 0xF8D0C05CD32E3272241FDC9D5839565F8BCF94139CB4BD09E230E1B57A60DDC2 SLOAD SWAP1 JUMP JUMPDEST SWAP1 POP PUSH2 0x1A77 DUP2 CALLER PUSH2 0x2B5C JUMP JUMPDEST PUSH2 0x1A94 JUMPI PUSH1 0x40 MLOAD PUSH4 0x7BFA4B9F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 CALLDATASIZE PUSH1 0x40 MLOAD PUSH2 0x1AA6 SWAP3 SWAP2 SWAP1 PUSH2 0x3CF8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 SWAP1 POP PUSH2 0x1ABB DUP3 DUP3 CALLER PUSH2 0x2B6B JUMP JUMPDEST ISZERO PUSH2 0x1AD9 JUMPI PUSH1 0x40 MLOAD PUSH4 0x7C9A1CF9 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x1AE6 DUP3 DUP3 CALLER PUSH1 0x1 PUSH2 0x2BE9 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH2 0x1AF4 DUP5 DUP5 PUSH2 0x2C5C JUMP JUMPDEST PUSH2 0x1AFE SWAP2 SWAP1 PUSH2 0x4228 JUMP JUMPDEST SWAP1 POP PUSH2 0x1B0B DUP4 DUP4 DUP4 PUSH2 0x2C6B JUMP JUMPDEST PUSH2 0x1B14 DUP4 PUSH2 0x29DD JUMP JUMPDEST DUP2 LT ISZERO PUSH2 0x1B23 JUMPI POP POP POP PUSH2 0x1D49 JUMP JUMPDEST DUP7 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EXTCODEHASH DUP7 EQ PUSH2 0x1B66 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8F84FB2400000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP9 AND SWAP1 PUSH32 0xBC7CD75A20EE27FD9ADEBAB32041F755214DBC6BFFA90CC0225B39DA2E5C2D3B SWAP1 PUSH1 0x0 SWAP1 LOG2 DUP4 ISZERO PUSH2 0x1C82 JUMPI PUSH1 0x0 DUP8 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x9DED06DF PUSH1 0xE0 SHL DUP8 DUP8 PUSH1 0x40 MLOAD PUSH1 0x24 ADD PUSH2 0x1BC7 SWAP3 SWAP2 SWAP1 PUSH2 0x410E JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F NOT DUP2 DUP5 SUB ADD DUP2 MSTORE SWAP2 DUP2 MSTORE PUSH1 0x20 DUP3 ADD DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT SWAP1 SWAP5 AND SWAP4 SWAP1 SWAP4 OR SWAP1 SWAP3 MSTORE SWAP1 MLOAD PUSH2 0x1C05 SWAP2 SWAP1 PUSH2 0x3C24 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 GAS DELEGATECALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x1C40 JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x1C45 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP POP SWAP1 POP DUP1 PUSH2 0x1C80 JUMPI PUSH1 0x40 MLOAD PUSH32 0x97905DFB00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP JUMPDEST PUSH2 0x1CF9 DUP8 PUSH32 0x360894A13BA1A3210667C828492DB98DCA3E2076CC3735A920A3CA505D382BBC PUSH1 0x0 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH32 0x11141F466C69FD409E1990E063B49CD6D61ED2ECFF27A2E402E259CA6B9A01A3 DUP1 SLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND OR SWAP1 SSTORE POP JUMP JUMPDEST PUSH2 0x1D05 DUP4 DUP4 PUSH1 0x0 PUSH2 0x2C6B JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1D10 DUP5 PUSH2 0x24DF JUMP JUMPDEST SWAP1 POP PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x1D43 JUMPI PUSH2 0x1D33 DUP6 DUP6 PUSH2 0x1D2C DUP9 DUP6 PUSH2 0x24ED JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2BE9 JUMP JUMPDEST PUSH2 0x1D3C DUP2 PUSH2 0x3C78 JUMP JUMPDEST SWAP1 POP PUSH2 0x1D15 JUMP JUMPDEST POP POP POP POP POP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH2 0x1D91 CALLER DUP5 DUP5 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 DUP7 SWAP3 POP PUSH2 0x25BC SWAP2 POP POP JUMP JUMPDEST DUP5 DUP5 PUSH1 0x40 MLOAD PUSH2 0x1DA1 SWAP3 SWAP2 SWAP1 PUSH2 0x3CF8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0x7E50569D26BE643BDA7757722291EC66B1BE66D8283474AE3FAB5A98F878A7A2 DUP12 DUP12 DUP12 DUP12 DUP12 DUP12 DUP12 DUP12 DUP12 PUSH1 0x40 MLOAD PUSH2 0x1DF2 SWAP10 SWAP9 SWAP8 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x4240 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1EC9 PUSH2 0x3E2 DUP13 DUP13 DUP13 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 DUP2 DUP5 ADD MSTORE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND SWAP1 POP DUP1 DUP4 ADD SWAP3 POP POP POP POP POP POP POP DUP12 DUP12 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 PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 PUSH1 0x1F DUP14 ADD DUP2 SWAP1 DIV DUP2 MUL DUP3 ADD DUP2 ADD SWAP1 SWAP3 MSTORE DUP12 DUP2 MSTORE DUP15 SWAP4 POP DUP14 SWAP3 POP SWAP1 DUP13 SWAP1 DUP13 SWAP1 DUP2 SWAP1 DUP5 ADD DUP4 DUP3 DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 SWAP3 ADD SWAP2 SWAP1 SWAP2 MSTORE POP DUP13 SWAP3 POP PUSH2 0x2503 SWAP2 POP POP JUMP JUMPDEST SWAP12 SWAP11 POP POP POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x60 SWAP2 SWAP1 PUSH2 0x175F SWAP1 PUSH2 0x4122 JUMP JUMPDEST PUSH1 0x0 PUSH2 0xDDC PUSH2 0x3E2 DUP4 PUSH2 0x2C7D JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1F56 PUSH32 0xD51DC9B187568BB94760866E1D0D066CA470037D2D331AFB1A02EC74BFB8990C PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 MSTORE PUSH32 0xF8D0C05CD32E3272241FDC9D5839565F8BCF94139CB4BD09E230E1B57A60DDC2 SLOAD SWAP1 JUMP JUMPDEST SWAP1 POP PUSH2 0x1F62 DUP2 CALLER PUSH2 0x2B5C JUMP JUMPDEST PUSH2 0x1F7F JUMPI PUSH1 0x40 MLOAD PUSH4 0x7BFA4B9F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 CALLDATASIZE PUSH1 0x40 MLOAD PUSH2 0x1F91 SWAP3 SWAP2 SWAP1 PUSH2 0x3CF8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 SWAP1 POP PUSH2 0x1FA6 DUP3 DUP3 CALLER PUSH2 0x2B6B JUMP JUMPDEST ISZERO PUSH2 0x1FC4 JUMPI PUSH1 0x40 MLOAD PUSH4 0x7C9A1CF9 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x1FD1 DUP3 DUP3 CALLER PUSH1 0x1 PUSH2 0x2BE9 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH2 0x1FDF DUP5 DUP5 PUSH2 0x2C5C JUMP JUMPDEST PUSH2 0x1FE9 SWAP2 SWAP1 PUSH2 0x4228 JUMP JUMPDEST SWAP1 POP PUSH2 0x1FF6 DUP4 DUP4 DUP4 PUSH2 0x2C6B JUMP JUMPDEST PUSH2 0x1FFF DUP4 PUSH2 0x29DD JUMP JUMPDEST DUP2 LT ISZERO PUSH2 0x200E JUMPI POP POP POP PUSH2 0x1D49 JUMP JUMPDEST DUP6 DUP5 EQ PUSH2 0x2047 JUMPI PUSH1 0x40 MLOAD PUSH32 0x1508613D00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 JUMPDEST DUP7 DUP2 LT ISZERO PUSH2 0x2129 JUMPI PUSH1 0x0 DUP9 DUP9 DUP4 DUP2 DUP2 LT PUSH2 0x2066 JUMPI PUSH2 0x2066 PUSH2 0x3C0E JUMP JUMPDEST SWAP1 POP PUSH1 0x20 MUL DUP2 ADD SWAP1 PUSH2 0x2078 SWAP2 SWAP1 PUSH2 0x42A8 JUMP JUMPDEST 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 DUP3 SWAP1 MSTORE POP SWAP4 SWAP5 POP DUP11 SWAP3 POP DUP10 SWAP2 POP DUP6 SWAP1 POP DUP2 DUP2 LT PUSH2 0x20C3 JUMPI PUSH2 0x20C3 PUSH2 0x3C0E JUMP JUMPDEST SWAP1 POP PUSH1 0x20 MUL ADD CALLDATALOAD SWAP1 POP PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x20E0 DUP4 PUSH2 0x1656 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ ISZERO PUSH2 0x210A JUMPI DUP2 PUSH1 0x40 MLOAD PUSH4 0x395D09BF PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xF3B SWAP2 SWAP1 PUSH2 0x3496 JUMP JUMPDEST PUSH2 0x2114 DUP3 DUP3 PUSH2 0x2981 JUMP JUMPDEST POP POP DUP1 DUP1 PUSH2 0x2121 SWAP1 PUSH2 0x3C78 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x204A JUMP JUMPDEST POP PUSH2 0x2136 DUP4 DUP4 PUSH1 0x0 PUSH2 0x2C6B JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2141 DUP5 PUSH2 0x24DF JUMP JUMPDEST SWAP1 POP PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x1D43 JUMPI PUSH2 0x215D DUP6 DUP6 PUSH2 0x1D2C DUP9 DUP6 PUSH2 0x24ED JUMP JUMPDEST PUSH2 0x2166 DUP2 PUSH2 0x3C78 JUMP JUMPDEST SWAP1 POP PUSH2 0x2146 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x21EA PUSH2 0x3E2 DUP10 DUP10 DUP10 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 PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 PUSH1 0x1F DUP14 ADD DUP2 SWAP1 DIV DUP2 MUL DUP3 ADD DUP2 ADD SWAP1 SWAP3 MSTORE DUP12 DUP2 MSTORE SWAP3 POP DUP12 SWAP2 POP DUP11 SWAP1 DUP2 SWAP1 DUP5 ADD DUP4 DUP3 DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 SWAP3 ADD SWAP2 SWAP1 SWAP2 MSTORE POP DUP11 SWAP3 POP DUP10 SWAP2 POP PUSH2 0x28B1 SWAP1 POP JUMP JUMPDEST SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP1 PUSH1 0x60 DUP5 DUP1 PUSH1 0x20 ADD SWAP1 MLOAD DUP2 ADD SWAP1 PUSH2 0x2211 SWAP2 SWAP1 PUSH2 0x42EF JUMP JUMPDEST SWAP4 SWAP10 SWAP2 SWAP9 POP SWAP7 POP SWAP2 SWAP5 POP SWAP1 SWAP3 POP POP POP JUMP JUMPDEST CALLER ADDRESS EQ PUSH2 0x2242 JUMPI PUSH1 0x40 MLOAD PUSH4 0x14E1DBF7 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 DUP1 DUP1 DUP1 DUP1 PUSH2 0x2255 DUP9 DUP11 ADD DUP11 PUSH2 0x438B JUMP JUMPDEST SWAP6 POP SWAP6 POP SWAP6 POP SWAP6 POP SWAP6 POP SWAP6 POP PUSH2 0x226E DUP8 DUP8 DUP8 DUP8 DUP8 PUSH2 0x2CB8 JUMP JUMPDEST DUP3 DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP9 PUSH32 0x44E4F8F6BD682C5A3AEBA93601AB07CB4D1F21B2AAB1AE4880D9577919309AA4 DUP10 DUP10 DUP8 DUP8 PUSH1 0x40 MLOAD PUSH2 0x22AF SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x441D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH32 0x19457468657265756D205369676E6564204D6573736167653A0A333200000000 PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x3C DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH1 0x5C ADD JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x233E PUSH2 0x2322 DUP4 PUSH2 0x2C7D JUMP JUMPDEST PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND DUP4 ISZERO ISZERO OR SWAP1 SSTORE JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x234D DUP5 PUSH2 0x1656 JUMP JUMPDEST SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x2378 JUMPI DUP4 PUSH1 0x40 MLOAD PUSH4 0x395D09BF PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xF3B SWAP2 SWAP1 PUSH2 0x3496 JUMP JUMPDEST PUSH2 0x2395 DUP5 DUP4 PUSH2 0x2386 DUP8 PUSH2 0xDC1 JUMP JUMPDEST PUSH2 0x2390 SWAP2 SWAP1 PUSH2 0x4228 JUMP JUMPDEST PUSH2 0x2CC8 JUMP JUMPDEST PUSH1 0x2 PUSH2 0x23A0 DUP6 PUSH2 0x2827 JUMP JUMPDEST PUSH1 0x2 DUP2 GT ISZERO PUSH2 0x23B1 JUMPI PUSH2 0x23B1 PUSH2 0x3E32 JUMP JUMPDEST EQ ISZERO PUSH2 0x245E JUMPI PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x44 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH2 0x241D SWAP1 DUP4 SWAP1 PUSH4 0xA9059CBB PUSH1 0xE0 SHL SWAP1 PUSH1 0x64 ADD JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F NOT DUP2 DUP5 SUB ADD DUP2 MSTORE SWAP2 SWAP1 MSTORE PUSH1 0x20 DUP2 ADD DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT SWAP1 SWAP4 AND SWAP3 SWAP1 SWAP3 OR SWAP1 SWAP2 MSTORE PUSH2 0x2D44 JUMP JUMPDEST SWAP1 POP DUP1 PUSH2 0x2458 JUMPI DUP5 PUSH1 0x40 MLOAD PUSH32 0x90C52ED700000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xF3B SWAP2 SWAP1 PUSH2 0x3496 JUMP JUMPDEST POP PUSH2 0x1D49 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH32 0x40C10F1900000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 DUP2 AND PUSH1 0x4 DUP4 ADD MSTORE PUSH1 0x24 DUP3 ADD DUP5 SWAP1 MSTORE DUP3 AND SWAP1 PUSH4 0x40C10F19 SWAP1 PUSH1 0x44 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x24C1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x24D5 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xDDC PUSH2 0x4D8 DUP4 PUSH2 0x2DD6 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x24FC PUSH2 0x2C0 DUP5 DUP5 PUSH2 0x2E11 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH32 0xB7AD972B71475860613DB3BA1FE699B886C878F9002A09250DC25E769EB19A10 DUP9 DUP9 DUP9 DUP9 DUP9 DUP9 DUP9 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x2544 SWAP9 SWAP8 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x4456 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 SWAP1 POP SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH32 0x4281768AB7480DDCF054116642FB644388166407FC26C4E8E435DD259143CFD2 DUP4 DUP4 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x259E SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x44C9 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x25C7 DUP4 PUSH2 0x1656 JUMP JUMPDEST SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x25F2 JUMPI DUP3 PUSH1 0x40 MLOAD PUSH4 0x395D09BF PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xF3B SWAP2 SWAP1 PUSH2 0x3496 JUMP JUMPDEST DUP2 PUSH2 0x2629 JUMPI PUSH1 0x40 MLOAD PUSH32 0x2C5211C600000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x2634 DUP5 PUSH2 0x2827 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH1 0x2 DUP3 PUSH1 0x2 DUP2 GT ISZERO PUSH2 0x264C JUMPI PUSH2 0x264C PUSH2 0x3E32 JUMP JUMPDEST EQ ISZERO PUSH2 0x26AA JUMPI PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND PUSH1 0x24 DUP3 ADD MSTORE ADDRESS PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 DUP2 ADD DUP6 SWAP1 MSTORE PUSH2 0x2688 SWAP1 DUP5 SWAP1 PUSH4 0x23B872DD PUSH1 0xE0 SHL SWAP1 PUSH1 0x84 ADD PUSH2 0x23E6 JUMP JUMPDEST SWAP1 POP DUP1 PUSH2 0xB70 JUMPI DUP5 PUSH1 0x40 MLOAD PUSH4 0xE217B0AD PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xF3B SWAP2 SWAP1 PUSH2 0x3496 JUMP JUMPDEST PUSH1 0x1 DUP3 PUSH1 0x2 DUP2 GT ISZERO PUSH2 0x26BE JUMPI PUSH2 0x26BE PUSH2 0x3E32 JUMP JUMPDEST EQ ISZERO PUSH2 0x270D JUMPI PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x44 DUP2 ADD DUP6 SWAP1 MSTORE PUSH2 0x2688 SWAP1 DUP5 SWAP1 PUSH32 0x79CC679000000000000000000000000000000000000000000000000000000000 SWAP1 PUSH1 0x64 ADD PUSH2 0x23E6 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH32 0x31EECAF400000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x0 PUSH1 0x4 DUP3 ADD MSTORE PUSH2 0x27D8 SWAP1 DUP5 SWAP1 PUSH4 0x23B872DD PUSH1 0xE0 SHL SWAP1 DUP10 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND SWAP1 PUSH4 0x31EECAF4 SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x2777 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x278B JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x27AF SWAP2 SWAP1 PUSH2 0x40C6 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 DUP4 AND PUSH1 0x24 DUP3 ADD MSTORE SWAP2 AND PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 DUP2 ADD DUP9 SWAP1 MSTORE PUSH1 0x84 ADD PUSH2 0x23E6 JUMP JUMPDEST SWAP1 POP DUP1 PUSH2 0x27FA JUMPI DUP5 PUSH1 0x40 MLOAD PUSH4 0xE217B0AD PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xF3B SWAP2 SWAP1 PUSH2 0x3496 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x8A1EEE1 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x0 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND SWAP1 PUSH4 0x8A1EEE1 SWAP1 PUSH1 0x24 ADD PUSH2 0x11EC JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2835 PUSH2 0x4D8 DUP4 PUSH2 0x2E53 JUMP JUMPDEST PUSH1 0x2 DUP2 GT ISZERO PUSH2 0xDDC JUMPI PUSH2 0xDDC PUSH2 0x3E32 JUMP JUMPDEST PUSH2 0x2873 PUSH2 0x2858 DUP9 DUP9 DUP9 DUP9 DUP9 DUP9 DUP9 PUSH2 0x2503 JUMP JUMPDEST PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE JUMP JUMPDEST POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH32 0x385B0FBF06AAE812803F7F3A3A975B7E1DCE19F50FB39BAF3F341E2849E5CE06 DUP3 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x22F9 SWAP3 SWAP2 SWAP1 PUSH2 0x44F6 JUMP JUMPDEST PUSH1 0x0 PUSH32 0x7B0D4304F82012BD3B70B1D531C160E326067C90829E2A3D386722AD10B89C3 DUP7 DUP7 DUP7 DUP7 DUP7 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x28EE SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x451C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 SWAP1 POP SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH2 0x233E PUSH2 0x291B DUP4 PUSH2 0x2E53 JUMP JUMPDEST DUP3 PUSH1 0x2 DUP2 GT ISZERO PUSH2 0x292D JUMPI PUSH2 0x292D PUSH2 0x3E32 JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 DUP3 SWAP1 MSTORE PUSH1 0x40 SWAP1 SWAP2 KECCAK256 SSTORE JUMP JUMPDEST PUSH2 0x233E PUSH2 0x294B DUP4 PUSH2 0x29EB JUMP JUMPDEST PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND OR SWAP1 SSTORE JUMP JUMPDEST PUSH2 0x29A0 PUSH2 0x298D DUP4 PUSH2 0x287C JUMP JUMPDEST DUP3 PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 DUP3 SWAP1 MSTORE PUSH1 0x40 SWAP1 SWAP2 KECCAK256 SSTORE JUMP JUMPDEST PUSH32 0xA34DF38BABDCFB4AA60AD9EDA9583DF1BCD3DBD7D4687C89D35C3EC4F4331BE9 DUP3 DUP3 PUSH1 0x40 MLOAD PUSH2 0x29D1 SWAP3 SWAP2 SWAP1 PUSH2 0x3C40 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xDDC PUSH2 0x4D8 DUP4 PUSH2 0x2E88 JUMP JUMPDEST PUSH1 0x0 PUSH32 0xC4E632779A6A7838736DD7E5E6A0EADF171DD37DFB6230720E265576DFCF42BB DUP3 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x22F9 SWAP3 SWAP2 SWAP1 PUSH2 0x44F6 JUMP JUMPDEST POP JUMP JUMPDEST DUP2 MLOAD DUP2 DUP2 LT ISZERO PUSH2 0x2A46 JUMPI PUSH1 0x40 MLOAD PUSH4 0xF1965A07 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 PUSH2 0x2A7D JUMPI PUSH1 0x40 MLOAD PUSH32 0x1845300D00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x2A87 DUP5 DUP4 PUSH2 0x2EC3 JUMP JUMPDEST PUSH2 0x2A91 DUP5 DUP3 PUSH2 0x2ECF JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x2B55 JUMPI PUSH1 0x0 DUP5 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x2AB0 JUMPI PUSH2 0x2AB0 PUSH2 0x3C0E JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD SWAP1 POP PUSH2 0x2AC4 DUP7 DUP3 PUSH2 0x2B5C JUMP JUMPDEST ISZERO PUSH2 0x2B06 JUMPI PUSH1 0x40 MLOAD PUSH32 0x424926DE00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0xF3B JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x2B2D JUMPI PUSH1 0x40 MLOAD PUSH4 0xF1965A07 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x2B38 DUP7 DUP4 DUP4 PUSH2 0x2EDB JUMP JUMPDEST PUSH2 0x2B44 DUP7 DUP3 PUSH1 0x1 PUSH2 0x2EE8 JUMP JUMPDEST POP PUSH2 0x2B4E DUP2 PUSH2 0x3C78 JUMP JUMPDEST SWAP1 POP PUSH2 0x2A94 JUMP JUMPDEST POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x24FC PUSH2 0x3E2 DUP5 DUP5 PUSH2 0x2EF1 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH32 0x3CED7A8CAF1111E0FBF4B784C5B41AEBD0F2389D9F2F64D5C3424AEED3ADBD3C PUSH1 0x20 DUP1 DUP4 ADD SWAP2 SWAP1 SWAP2 MSTORE DUP2 DUP4 ADD DUP7 SWAP1 MSTORE PUSH1 0x60 DUP1 DUP4 ADD DUP7 SWAP1 MSTORE DUP5 SWAP1 SHL PUSH12 0xFFFFFFFFFFFFFFFFFFFFFFFF NOT AND PUSH1 0x80 DUP4 ADD MSTORE DUP3 MLOAD DUP1 DUP4 SUB PUSH1 0x74 ADD DUP2 MSTORE PUSH1 0x94 SWAP1 SWAP3 ADD SWAP1 SWAP3 MSTORE DUP1 MLOAD SWAP2 ADD KECCAK256 PUSH1 0x0 SWAP1 PUSH2 0x2BE1 SWAP1 PUSH2 0x3E2 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH32 0x3CED7A8CAF1111E0FBF4B784C5B41AEBD0F2389D9F2F64D5C3424AEED3ADBD3C PUSH1 0x20 DUP1 DUP4 ADD SWAP2 SWAP1 SWAP2 MSTORE DUP2 DUP4 ADD DUP8 SWAP1 MSTORE PUSH1 0x60 DUP1 DUP4 ADD DUP8 SWAP1 MSTORE DUP6 SWAP1 SHL PUSH12 0xFFFFFFFFFFFFFFFFFFFFFFFF NOT AND PUSH1 0x80 DUP4 ADD MSTORE DUP3 MLOAD DUP1 DUP4 SUB PUSH1 0x74 ADD DUP2 MSTORE PUSH1 0x94 SWAP1 SWAP3 ADD SWAP1 SWAP3 MSTORE DUP1 MLOAD SWAP2 ADD KECCAK256 PUSH2 0x1D49 SWAP1 PUSH2 0x2322 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x24FC PUSH2 0x4D8 DUP5 DUP5 PUSH2 0x2F44 JUMP JUMPDEST PUSH2 0x2C78 PUSH2 0x298D DUP5 DUP5 PUSH2 0x2F44 JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH32 0x957705A374326B30F4A1069C936D736CC9993ED6C820B4E0E2FD94A8BECA0D1D PUSH1 0x20 DUP3 ADD MSTORE SWAP1 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH1 0x60 ADD PUSH2 0x22F9 JUMP JUMPDEST PUSH2 0x2B55 PUSH2 0x2858 DUP7 DUP7 DUP7 DUP7 DUP7 PUSH2 0x28B1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2CD3 DUP4 PUSH2 0x12D4 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 GT DUP1 ISZERO PUSH2 0x2CE4 JUMPI POP DUP1 DUP3 GT JUMPDEST ISZERO PUSH2 0x2D1D JUMPI DUP3 PUSH1 0x40 MLOAD PUSH32 0x7820279500000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xF3B SWAP2 SWAP1 PUSH2 0x3496 JUMP JUMPDEST PUSH2 0x2C78 PUSH2 0x2D31 DUP5 PUSH2 0xDD7 PUSH3 0x15180 TIMESTAMP PUSH2 0x3D7A JUMP JUMPDEST DUP4 PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 DUP3 SWAP1 MSTORE PUSH1 0x40 SWAP1 SWAP2 KECCAK256 SSTORE JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 PUSH1 0x40 MLOAD PUSH2 0x2D61 SWAP2 SWAP1 PUSH2 0x3C24 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP7 GAS CALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x2D9E JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x2DA3 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP DUP2 DUP1 ISZERO PUSH2 0x2DCD JUMPI POP DUP1 MLOAD ISZERO DUP1 PUSH2 0x2DCD JUMPI POP DUP1 DUP1 PUSH1 0x20 ADD SWAP1 MLOAD DUP2 ADD SWAP1 PUSH2 0x2DCD SWAP2 SWAP1 PUSH2 0x397D JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH32 0x5112EF894367DE1270CFAE12AFCD2285C225830EB8F74E7E938F721BB510CBA PUSH1 0x20 DUP3 ADD MSTORE SWAP1 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH1 0x60 ADD PUSH2 0x22F9 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH32 0xF23EC0BB4210EDD5CBA85AFD05127EFCD2FC6A781BFED49188DA1081670B22D8 PUSH1 0x20 DUP3 ADD MSTORE SWAP1 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x60 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH1 0x80 ADD PUSH2 0x259E JUMP JUMPDEST PUSH1 0x0 PUSH32 0xA80D2259AF55890618EC2EEB3AC72DE4BDBA22529BB14845D8A3D712D1C3F621 DUP3 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x22F9 SWAP3 SWAP2 SWAP1 PUSH2 0x44F6 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH32 0x79BD914ADDD90BD67AD800BF0230BB85FFDEF5AEBA5FD8249F116D3F17F4FB4B PUSH1 0x20 DUP3 ADD MSTORE SWAP1 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH1 0x60 ADD PUSH2 0x22F9 JUMP JUMPDEST PUSH2 0x233E PUSH2 0x298D DUP4 PUSH2 0x2E88 JUMP JUMPDEST PUSH2 0x233E PUSH2 0x298D DUP4 PUSH2 0x2DD6 JUMP JUMPDEST PUSH2 0x2C78 PUSH2 0x294B DUP5 DUP5 PUSH2 0x2E11 JUMP JUMPDEST PUSH2 0x2C78 PUSH2 0x2322 DUP5 DUP5 JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH32 0x63FA879CB478FDDF1DE08D49E29115FB768866711BC799FF9AB419A7F16C9AFB PUSH1 0x20 DUP3 ADD MSTORE SWAP1 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x60 DUP3 DUP2 SHL PUSH12 0xFFFFFFFFFFFFFFFFFFFFFFFF NOT AND SWAP1 DUP3 ADD MSTORE PUSH1 0x0 SWAP1 PUSH1 0x74 ADD PUSH2 0x259E JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH32 0xBAEA1C6C0F16A0A340B10A9E980806696A68DDBB5E8361FD64630DD21ABF515F PUSH1 0x20 DUP3 ADD MSTORE SWAP1 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x60 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH1 0x80 ADD PUSH2 0x259E JUMP JUMPDEST PUSH2 0x349 DUP1 PUSH2 0x456D DUP4 CODECOPY ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0x2FA5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP DUP2 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x2FBD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x20 DUP3 DUP6 ADD ADD GT ISZERO PUSH2 0x2FD5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x20 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x2FEF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x3006 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x3012 DUP6 DUP3 DUP7 ADD PUSH2 0x2F93 JUMP JUMPDEST SWAP1 SWAP7 SWAP1 SWAP6 POP SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x40 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x3033 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x304A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x3056 DUP7 DUP3 DUP8 ADD PUSH2 0x2F93 JUMP JUMPDEST SWAP1 SWAP8 SWAP1 SWAP7 POP PUSH1 0x20 SWAP6 SWAP1 SWAP6 ADD CALLDATALOAD SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x307C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE DUP3 MLOAD DUP3 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP2 SWAP1 DUP5 DUP3 ADD SWAP1 PUSH1 0x40 DUP6 ADD SWAP1 DUP5 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x30C4 JUMPI DUP4 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 MSTORE SWAP3 DUP5 ADD SWAP3 SWAP2 DUP5 ADD SWAP2 PUSH1 0x1 ADD PUSH2 0x309F JUMP JUMPDEST POP SWAP1 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xC0 DUP11 DUP13 SUB SLT ISZERO PUSH2 0x30EE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP10 CALLDATALOAD SWAP9 POP PUSH1 0x20 DUP11 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x310D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x3119 DUP14 DUP4 DUP15 ADD PUSH2 0x2F93 JUMP JUMPDEST SWAP1 SWAP11 POP SWAP9 POP PUSH1 0x40 DUP13 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x3132 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x313E DUP14 DUP4 DUP15 ADD PUSH2 0x2F93 JUMP JUMPDEST SWAP1 SWAP9 POP SWAP7 POP PUSH1 0x60 DUP13 ADD CALLDATALOAD SWAP6 POP PUSH1 0x80 DUP13 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x315E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x316B DUP13 DUP3 DUP14 ADD PUSH2 0x2F93 JUMP JUMPDEST SWAP11 SWAP14 SWAP10 SWAP13 POP SWAP8 SWAP11 SWAP7 SWAP10 SWAP6 SWAP9 SWAP5 SWAP8 SWAP7 PUSH1 0xA0 ADD CALLDATALOAD SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x60 DUP8 DUP10 SUB SLT ISZERO PUSH2 0x319E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP7 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x31B6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x31C2 DUP11 DUP4 DUP12 ADD PUSH2 0x2F93 JUMP JUMPDEST SWAP1 SWAP9 POP SWAP7 POP PUSH1 0x20 DUP10 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x31DB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x31E7 DUP11 DUP4 DUP12 ADD PUSH2 0x2F93 JUMP JUMPDEST SWAP1 SWAP7 POP SWAP5 POP PUSH1 0x40 DUP10 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x3200 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x320D DUP10 DUP3 DUP11 ADD PUSH2 0x2F93 JUMP JUMPDEST SWAP8 SWAP11 SWAP7 SWAP10 POP SWAP5 SWAP8 POP SWAP3 SWAP6 SWAP4 SWAP5 SWAP3 POP POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT AND DUP2 ADD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x325E JUMPI PUSH2 0x325E PUSH2 0x321F JUMP JUMPDEST PUSH1 0x40 MSTORE SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x3280 JUMPI PUSH2 0x3280 PUSH2 0x321F JUMP JUMPDEST POP PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x329F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x32B2 PUSH2 0x32AD DUP3 PUSH2 0x3266 JUMP JUMPDEST PUSH2 0x3235 JUMP JUMPDEST DUP2 DUP2 MSTORE DUP5 PUSH1 0x20 DUP4 DUP7 ADD ADD GT ISZERO PUSH2 0x32C7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 PUSH1 0x20 DUP6 ADD PUSH1 0x20 DUP4 ADD CALLDATACOPY PUSH1 0x0 SWAP2 DUP2 ADD PUSH1 0x20 ADD SWAP2 SWAP1 SWAP2 MSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x32F6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x330D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2BE1 DUP5 DUP3 DUP6 ADD PUSH2 0x328E JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x80 DUP9 DUP11 SUB SLT ISZERO PUSH2 0x3334 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP8 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x334C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x3358 DUP12 DUP4 DUP13 ADD PUSH2 0x2F93 JUMP JUMPDEST SWAP1 SWAP10 POP SWAP8 POP PUSH1 0x20 DUP11 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x3371 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x337D DUP12 DUP4 DUP13 ADD PUSH2 0x2F93 JUMP JUMPDEST SWAP1 SWAP8 POP SWAP6 POP PUSH1 0x40 DUP11 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x3396 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x33A3 DUP11 DUP3 DUP12 ADD PUSH2 0x2F93 JUMP JUMPDEST SWAP9 SWAP12 SWAP8 SWAP11 POP SWAP6 SWAP9 SWAP5 SWAP8 SWAP6 SWAP7 PUSH1 0x60 SWAP1 SWAP6 ADD CALLDATALOAD SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP8 DUP10 SUB SLT ISZERO PUSH2 0x33D5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP7 CALLDATALOAD SWAP6 POP PUSH1 0x20 DUP8 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x33F4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x3400 DUP11 DUP4 DUP12 ADD PUSH2 0x2F93 JUMP JUMPDEST SWAP1 SWAP8 POP SWAP6 POP PUSH1 0x40 DUP10 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x3419 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3426 DUP10 DUP3 DUP11 ADD PUSH2 0x2F93 JUMP JUMPDEST SWAP8 SWAP11 SWAP7 SWAP10 POP SWAP5 SWAP8 SWAP5 SWAP7 SWAP6 PUSH1 0x60 SWAP1 SWAP6 ADD CALLDATALOAD SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x3459 JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x3441 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x1D49 JUMPI POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH2 0x3482 DUP2 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP7 ADD PUSH2 0x343E JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x20 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0x24FC PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x346A JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x2A20 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x60 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x34D4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP5 CALLDATALOAD PUSH2 0x34DF DUP2 PUSH2 0x34A9 JUMP JUMPDEST SWAP4 POP PUSH1 0x20 DUP6 ADD CALLDATALOAD SWAP3 POP PUSH1 0x40 DUP6 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x3502 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x350E DUP8 DUP3 DUP9 ADD PUSH2 0x2F93 JUMP JUMPDEST SWAP6 SWAP9 SWAP5 SWAP8 POP SWAP6 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xA0 DUP11 DUP13 SUB SLT ISZERO PUSH2 0x3538 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP10 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x3550 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x355C DUP14 DUP4 DUP15 ADD PUSH2 0x2F93 JUMP JUMPDEST SWAP1 SWAP12 POP SWAP10 POP PUSH1 0x20 DUP13 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x3575 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x3581 DUP14 DUP4 DUP15 ADD PUSH2 0x2F93 JUMP JUMPDEST SWAP1 SWAP10 POP SWAP8 POP PUSH1 0x40 DUP13 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x359A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x35A6 DUP14 DUP4 DUP15 ADD PUSH2 0x2F93 JUMP JUMPDEST SWAP1 SWAP8 POP SWAP6 POP PUSH1 0x60 DUP13 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x35BF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x35CC DUP13 DUP3 DUP14 ADD PUSH2 0x2F93 JUMP JUMPDEST SWAP11 SWAP14 SWAP10 SWAP13 POP SWAP8 SWAP11 SWAP7 SWAP10 SWAP6 SWAP9 SWAP5 SWAP8 SWAP7 PUSH1 0x80 ADD CALLDATALOAD SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0xE0 DUP12 DUP14 SUB SLT ISZERO PUSH2 0x3605 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP11 CALLDATALOAD SWAP10 POP PUSH1 0x20 DUP12 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x3624 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x3630 DUP15 DUP4 DUP16 ADD PUSH2 0x2F93 JUMP JUMPDEST SWAP1 SWAP12 POP SWAP10 POP PUSH1 0x40 DUP14 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x3649 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x3655 DUP15 DUP4 DUP16 ADD PUSH2 0x2F93 JUMP JUMPDEST SWAP1 SWAP10 POP SWAP8 POP PUSH1 0x60 DUP14 ADD CALLDATALOAD SWAP2 POP PUSH2 0x366A DUP3 PUSH2 0x34A9 JUMP JUMPDEST SWAP1 SWAP6 POP PUSH1 0x80 DUP13 ADD CALLDATALOAD SWAP5 POP PUSH1 0xA0 DUP13 ADD CALLDATALOAD SWAP1 DUP1 DUP3 GT ISZERO PUSH2 0x3687 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3694 DUP14 DUP3 DUP15 ADD PUSH2 0x2F93 JUMP JUMPDEST SWAP2 POP DUP1 SWAP5 POP POP DUP1 SWAP3 POP POP PUSH1 0xC0 DUP12 ADD CALLDATALOAD SWAP1 POP SWAP3 SWAP6 SWAP9 SWAP12 SWAP2 SWAP5 SWAP8 SWAP11 POP SWAP3 SWAP6 SWAP9 POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0x36C6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP DUP2 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x36DE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x20 DUP3 PUSH1 0x5 SHL DUP6 ADD ADD GT ISZERO PUSH2 0x2FD5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x40 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x370F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP5 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x3727 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x3733 DUP9 DUP4 DUP10 ADD PUSH2 0x36B4 JUMP JUMPDEST SWAP1 SWAP7 POP SWAP5 POP PUSH1 0x20 DUP8 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x374C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x350E DUP8 DUP3 DUP9 ADD PUSH2 0x36B4 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xA0 DUP9 DUP11 SUB SLT ISZERO PUSH2 0x3774 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP8 CALLDATALOAD SWAP7 POP PUSH1 0x20 DUP9 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x3793 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x379F DUP12 DUP4 DUP13 ADD PUSH2 0x2F93 JUMP JUMPDEST SWAP1 SWAP9 POP SWAP7 POP PUSH1 0x40 DUP11 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x37B8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x37C5 DUP11 DUP3 DUP12 ADD PUSH2 0x2F93 JUMP JUMPDEST SWAP1 SWAP6 POP SWAP4 POP POP PUSH1 0x60 DUP9 ADD CALLDATALOAD PUSH2 0x37D9 DUP2 PUSH2 0x34A9 JUMP JUMPDEST DUP1 SWAP3 POP POP PUSH1 0x80 DUP9 ADD CALLDATALOAD SWAP1 POP SWAP3 SWAP6 SWAP9 SWAP2 SWAP5 SWAP8 POP SWAP3 SWAP6 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH1 0x20 DUP1 DUP6 ADD DUP1 DUP2 SWAP7 POP DUP4 PUSH1 0x5 SHL DUP2 ADD SWAP2 POP DUP3 DUP7 ADD PUSH1 0x0 JUMPDEST DUP6 DUP2 LT ISZERO PUSH2 0x3838 JUMPI DUP3 DUP5 SUB DUP10 MSTORE PUSH2 0x3826 DUP5 DUP4 MLOAD PUSH2 0x346A JUMP JUMPDEST SWAP9 DUP6 ADD SWAP9 SWAP4 POP SWAP1 DUP5 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x380E JUMP JUMPDEST POP SWAP2 SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x80 DUP3 ADD DUP7 DUP4 MSTORE PUSH1 0x20 PUSH1 0x80 DUP2 DUP6 ADD MSTORE DUP2 DUP8 MLOAD DUP1 DUP5 MSTORE PUSH1 0xA0 DUP7 ADD SWAP2 POP DUP3 DUP10 ADD SWAP4 POP PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x3886 JUMPI DUP5 MLOAD DUP4 MSTORE SWAP4 DUP4 ADD SWAP4 SWAP2 DUP4 ADD SWAP2 PUSH1 0x1 ADD PUSH2 0x386A JUMP JUMPDEST POP POP DUP5 DUP2 SUB PUSH1 0x40 DUP7 ADD MSTORE DUP7 MLOAD DUP1 DUP3 MSTORE DUP3 DUP3 ADD SWAP4 POP PUSH1 0x5 DUP2 SWAP1 SHL DUP3 ADD DUP4 ADD DUP4 DUP10 ADD PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x38D7 JUMPI PUSH1 0x1F NOT DUP6 DUP5 SUB ADD DUP8 MSTORE PUSH2 0x38C5 DUP4 DUP4 MLOAD PUSH2 0x346A JUMP JUMPDEST SWAP7 DUP7 ADD SWAP7 SWAP3 POP SWAP1 DUP6 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x38A9 JUMP JUMPDEST POP POP DUP7 DUP2 SUB PUSH1 0x60 DUP9 ADD MSTORE PUSH2 0x1EC9 DUP2 DUP10 PUSH2 0x37F0 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x38FE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x3916 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x3922 DUP7 DUP4 DUP8 ADD PUSH2 0x328E JUMP JUMPDEST SWAP4 POP PUSH1 0x20 DUP6 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x3938 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3945 DUP6 DUP3 DUP7 ADD PUSH2 0x328E JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 MSTORE PUSH1 0x40 PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x0 PUSH2 0x2BE1 PUSH1 0x40 DUP4 ADD DUP5 PUSH2 0x346A JUMP JUMPDEST DUP1 MLOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x3978 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x398F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x24FC DUP3 PUSH2 0x3968 JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x39B2 JUMPI PUSH2 0x39B2 PUSH2 0x321F JUMP JUMPDEST POP PUSH1 0x5 SHL PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x39CD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x20 PUSH2 0x39DD PUSH2 0x32AD DUP4 PUSH2 0x3998 JUMP JUMPDEST DUP3 DUP2 MSTORE PUSH1 0x5 SWAP3 SWAP1 SWAP3 SHL DUP5 ADD DUP2 ADD SWAP2 DUP2 DUP2 ADD SWAP1 DUP7 DUP5 GT ISZERO PUSH2 0x39FC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 DUP7 ADD JUMPDEST DUP5 DUP2 LT ISZERO PUSH2 0x1390 JUMPI DUP1 MLOAD DUP4 MSTORE SWAP2 DUP4 ADD SWAP2 DUP4 ADD PUSH2 0x3A00 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3A25 PUSH2 0x32AD DUP5 PUSH2 0x3266 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE DUP4 DUP4 DUP4 ADD GT ISZERO PUSH2 0x3A39 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x24FC DUP4 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x343E JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x3A58 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x20 PUSH2 0x3A68 PUSH2 0x32AD DUP4 PUSH2 0x3998 JUMP JUMPDEST DUP3 DUP2 MSTORE PUSH1 0x5 SWAP3 SWAP1 SWAP3 SHL DUP5 ADD DUP2 ADD SWAP2 DUP2 DUP2 ADD SWAP1 DUP7 DUP5 GT ISZERO PUSH2 0x3A87 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 DUP7 ADD JUMPDEST DUP5 DUP2 LT ISZERO PUSH2 0x1390 JUMPI DUP1 MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x3AAB JUMPI PUSH1 0x0 DUP1 DUP2 REVERT JUMPDEST DUP8 ADD PUSH1 0x3F DUP2 ADD DUP10 SGT PUSH2 0x3ABD JUMPI PUSH1 0x0 DUP1 DUP2 REVERT JUMPDEST PUSH2 0x3ACE DUP10 DUP7 DUP4 ADD MLOAD PUSH1 0x40 DUP5 ADD PUSH2 0x3A17 JUMP JUMPDEST DUP5 MSTORE POP SWAP2 DUP4 ADD SWAP2 DUP4 ADD PUSH2 0x3A8B JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x3AED JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x24FC DUP4 DUP4 MLOAD PUSH1 0x20 DUP6 ADD PUSH2 0x3A17 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x3B0D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x20 PUSH2 0x3B1D PUSH2 0x32AD DUP4 PUSH2 0x3998 JUMP JUMPDEST DUP3 DUP2 MSTORE PUSH1 0x5 SWAP3 SWAP1 SWAP3 SHL DUP5 ADD DUP2 ADD SWAP2 DUP2 DUP2 ADD SWAP1 DUP7 DUP5 GT ISZERO PUSH2 0x3B3C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 DUP7 ADD JUMPDEST DUP5 DUP2 LT ISZERO PUSH2 0x1390 JUMPI DUP1 MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x3B60 JUMPI PUSH1 0x0 DUP1 DUP2 REVERT JUMPDEST PUSH2 0x3B6E DUP10 DUP7 DUP4 DUP12 ADD ADD PUSH2 0x3ADC JUMP JUMPDEST DUP5 MSTORE POP SWAP2 DUP4 ADD SWAP2 DUP4 ADD PUSH2 0x3B40 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x3B92 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP5 MLOAD SWAP4 POP PUSH1 0x20 DUP6 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x3BB1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x3BBD DUP9 DUP4 DUP10 ADD PUSH2 0x39BC JUMP JUMPDEST SWAP5 POP PUSH1 0x40 DUP8 ADD MLOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x3BD3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x3BDF DUP9 DUP4 DUP10 ADD PUSH2 0x3A47 JUMP JUMPDEST SWAP4 POP PUSH1 0x60 DUP8 ADD MLOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x3BF5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3C02 DUP8 DUP3 DUP9 ADD PUSH2 0x3AFC JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP3 MLOAD PUSH2 0x3C36 DUP2 DUP5 PUSH1 0x20 DUP8 ADD PUSH2 0x343E JUMP JUMPDEST SWAP2 SWAP1 SWAP2 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x40 DUP2 MSTORE PUSH1 0x0 PUSH2 0x3C53 PUSH1 0x40 DUP4 ADD DUP6 PUSH2 0x346A JUMP JUMPDEST SWAP1 POP DUP3 PUSH1 0x20 DUP4 ADD MSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x0 NOT DUP3 EQ ISZERO PUSH2 0x3C8C JUMPI PUSH2 0x3C8C PUSH2 0x3C62 JUMP JUMPDEST POP PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST DUP1 CALLDATALOAD PUSH2 0x3978 DUP2 PUSH2 0x34A9 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x3CB3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x3CCA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x3CD6 DUP7 DUP3 DUP8 ADD PUSH2 0x328E JUMP JUMPDEST SWAP4 POP POP PUSH1 0x20 DUP5 ADD CALLDATALOAD PUSH2 0x3CE7 DUP2 PUSH2 0x34A9 JUMP JUMPDEST SWAP3 SWAP6 SWAP3 SWAP5 POP POP POP PUSH1 0x40 SWAP2 SWAP1 SWAP2 ADD CALLDATALOAD SWAP1 JUMP JUMPDEST DUP2 DUP4 DUP3 CALLDATACOPY PUSH1 0x0 SWAP2 ADD SWAP1 DUP2 MSTORE SWAP2 SWAP1 POP JUMP JUMPDEST DUP2 DUP4 MSTORE DUP2 DUP2 PUSH1 0x20 DUP6 ADD CALLDATACOPY POP PUSH1 0x0 DUP3 DUP3 ADD PUSH1 0x20 SWAP1 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x1F SWAP1 SWAP2 ADD PUSH1 0x1F NOT AND SWAP1 SWAP2 ADD ADD SWAP1 JUMP JUMPDEST PUSH1 0x60 DUP2 MSTORE PUSH1 0x0 PUSH2 0x3D45 PUSH1 0x60 DUP4 ADD DUP9 DUP11 PUSH2 0x3D08 JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x3D58 DUP2 DUP8 DUP10 PUSH2 0x3D08 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 SUB PUSH1 0x40 DUP5 ADD MSTORE PUSH2 0x3D6D DUP2 DUP6 DUP8 PUSH2 0x3D08 JUMP JUMPDEST SWAP10 SWAP9 POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x3D97 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP DIV SWAP1 JUMP JUMPDEST PUSH1 0x80 DUP2 MSTORE PUSH1 0x0 PUSH2 0x3DB0 PUSH1 0x80 DUP4 ADD DUP10 DUP12 PUSH2 0x3D08 JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x3DC3 DUP2 DUP9 DUP11 PUSH2 0x3D08 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 SUB PUSH1 0x40 DUP5 ADD MSTORE PUSH2 0x3DD8 DUP2 DUP7 DUP9 PUSH2 0x3D08 JUMP JUMPDEST SWAP2 POP POP DUP3 PUSH1 0x60 DUP4 ADD MSTORE SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x3E00 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x3E17 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x3E23 DUP6 DUP3 DUP7 ADD PUSH2 0x328E JUMP JUMPDEST SWAP6 PUSH1 0x20 SWAP5 SWAP1 SWAP5 ADD CALLDATALOAD SWAP5 POP POP POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x3E5A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND DUP2 MSTORE PUSH1 0x40 PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x0 PUSH2 0x2BE1 PUSH1 0x40 DUP4 ADD DUP5 PUSH2 0x346A JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x3E96 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x3E9F DUP4 PUSH2 0x3968 JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x3EBB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x3945 DUP6 DUP3 DUP7 ADD PUSH2 0x3ADC JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH2 0x100 DUP10 DUP12 SUB SLT ISZERO PUSH2 0x3EE4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP9 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x3EFC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x3F08 DUP13 DUP4 DUP14 ADD PUSH2 0x328E JUMP JUMPDEST SWAP10 POP PUSH1 0x20 DUP12 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x3F1E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x3F2A DUP13 DUP4 DUP14 ADD PUSH2 0x328E JUMP JUMPDEST SWAP9 POP PUSH2 0x3F38 PUSH1 0x40 DUP13 ADD PUSH2 0x3C93 JUMP JUMPDEST SWAP8 POP PUSH1 0x60 DUP12 ADD CALLDATALOAD SWAP7 POP PUSH1 0x80 DUP12 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x3F55 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3F62 DUP12 DUP3 DUP13 ADD PUSH2 0x328E JUMP JUMPDEST SWAP9 SWAP12 SWAP8 SWAP11 POP SWAP6 SWAP9 SWAP5 SWAP8 SWAP7 PUSH1 0xA0 DUP7 ADD CALLDATALOAD SWAP7 POP PUSH1 0xC0 DUP7 ADD CALLDATALOAD SWAP6 PUSH1 0xE0 ADD CALLDATALOAD SWAP5 POP SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0xC0 DUP2 MSTORE PUSH1 0x0 PUSH2 0x3F98 PUSH1 0xC0 DUP4 ADD DUP10 PUSH2 0x346A JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x3FAA DUP2 DUP10 PUSH2 0x346A JUMP JUMPDEST SWAP1 POP DUP3 DUP2 SUB PUSH1 0x40 DUP5 ADD MSTORE PUSH2 0x3FBE DUP2 DUP9 PUSH2 0x346A JUMP JUMPDEST PUSH1 0x60 DUP5 ADD SWAP7 SWAP1 SWAP7 MSTORE POP POP PUSH1 0x80 DUP2 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0xA0 SWAP1 SWAP2 ADD MSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0xC0 DUP8 DUP10 SUB SLT ISZERO PUSH2 0x3FF6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP7 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x400E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x401A DUP11 DUP4 DUP12 ADD PUSH2 0x328E JUMP JUMPDEST SWAP8 POP PUSH1 0x20 DUP10 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x4030 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x403D DUP10 DUP3 DUP11 ADD PUSH2 0x328E JUMP JUMPDEST SWAP6 POP POP PUSH1 0x40 DUP8 ADD CALLDATALOAD PUSH1 0xFF DUP2 AND DUP2 EQ PUSH2 0x4054 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP4 POP PUSH1 0x60 DUP8 ADD CALLDATALOAD SWAP3 POP PUSH1 0x80 DUP8 ADD CALLDATALOAD PUSH2 0x406B DUP2 PUSH2 0x34A9 JUMP JUMPDEST DUP1 SWAP3 POP POP PUSH1 0xA0 DUP8 ADD CALLDATALOAD SWAP1 POP SWAP3 SWAP6 POP SWAP3 SWAP6 POP SWAP3 SWAP6 JUMP JUMPDEST PUSH1 0xA0 DUP2 MSTORE PUSH1 0x0 PUSH2 0x4093 PUSH1 0xA0 DUP4 ADD DUP9 PUSH2 0x346A JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x40A5 DUP2 DUP9 PUSH2 0x346A JUMP JUMPDEST PUSH1 0xFF SWAP7 SWAP1 SWAP7 AND PUSH1 0x40 DUP5 ADD MSTORE POP POP PUSH1 0x60 DUP2 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x80 SWAP1 SWAP2 ADD MSTORE SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x40D8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x24FC DUP2 PUSH2 0x34A9 JUMP JUMPDEST PUSH1 0x40 DUP2 MSTORE PUSH1 0x0 PUSH2 0x40F6 PUSH1 0x40 DUP4 ADD DUP6 PUSH2 0x346A JUMP JUMPDEST SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x20 DUP4 ADD MSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0x2BE1 PUSH1 0x20 DUP4 ADD DUP5 DUP7 PUSH2 0x3D08 JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0x4136 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH2 0x4157 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 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x4172 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x418A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP7 ADD SWAP2 POP DUP7 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x419E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x20 PUSH2 0x41AE PUSH2 0x32AD DUP4 PUSH2 0x3998 JUMP JUMPDEST DUP3 DUP2 MSTORE PUSH1 0x5 SWAP3 SWAP1 SWAP3 SHL DUP5 ADD DUP2 ADD SWAP2 DUP2 DUP2 ADD SWAP1 DUP11 DUP5 GT ISZERO PUSH2 0x41CD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP5 DUP3 ADD SWAP5 JUMPDEST DUP4 DUP7 LT ISZERO PUSH2 0x41F4 JUMPI DUP6 CALLDATALOAD PUSH2 0x41E5 DUP2 PUSH2 0x34A9 JUMP JUMPDEST DUP3 MSTORE SWAP5 DUP3 ADD SWAP5 SWAP1 DUP3 ADD SWAP1 PUSH2 0x41D2 JUMP JUMPDEST SWAP8 POP POP DUP8 ADD CALLDATALOAD SWAP5 POP POP PUSH1 0x40 DUP7 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x4211 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x421E DUP7 DUP3 DUP8 ADD PUSH2 0x328E JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 DUP3 NOT DUP3 GT ISZERO PUSH2 0x423B JUMPI PUSH2 0x423B PUSH2 0x3C62 JUMP JUMPDEST POP ADD SWAP1 JUMP JUMPDEST PUSH1 0xA0 DUP2 MSTORE PUSH1 0x0 PUSH2 0x4254 PUSH1 0xA0 DUP4 ADD DUP12 DUP14 PUSH2 0x3D08 JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x4267 DUP2 DUP11 DUP13 PUSH2 0x3D08 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 SUB PUSH1 0x40 DUP5 ADD MSTORE PUSH2 0x427C DUP2 DUP9 DUP11 PUSH2 0x3D08 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 SUB PUSH1 0x60 DUP5 ADD MSTORE PUSH2 0x4291 DUP2 DUP7 DUP9 PUSH2 0x3D08 JUMP JUMPDEST SWAP2 POP POP DUP3 PUSH1 0x80 DUP4 ADD MSTORE SWAP11 SWAP10 POP POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 CALLDATALOAD PUSH1 0x1E NOT DUP5 CALLDATASIZE SUB ADD DUP2 SLT PUSH2 0x42BF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 ADD DUP1 CALLDATALOAD SWAP2 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x42DA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x20 ADD SWAP2 POP CALLDATASIZE DUP2 SWAP1 SUB DUP3 SGT ISZERO PUSH2 0x2FD5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xA0 DUP7 DUP9 SUB SLT ISZERO PUSH2 0x4307 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP6 MLOAD SWAP5 POP PUSH1 0x20 DUP7 ADD MLOAD SWAP4 POP PUSH1 0x40 DUP7 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x432D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4339 DUP10 DUP4 DUP11 ADD PUSH2 0x39BC JUMP JUMPDEST SWAP5 POP PUSH1 0x60 DUP9 ADD MLOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x434F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x435B DUP10 DUP4 DUP11 ADD PUSH2 0x3A47 JUMP JUMPDEST SWAP4 POP PUSH1 0x80 DUP9 ADD MLOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x4371 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x437E DUP9 DUP3 DUP10 ADD PUSH2 0x3AFC JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 POP SWAP3 SWAP6 SWAP1 SWAP4 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0xC0 DUP8 DUP10 SUB SLT ISZERO PUSH2 0x43A4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP7 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x43BC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x43C8 DUP11 DUP4 DUP12 ADD PUSH2 0x328E JUMP JUMPDEST SWAP8 POP PUSH1 0x20 DUP10 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x43DE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x43EB DUP10 DUP3 DUP11 ADD PUSH2 0x328E JUMP JUMPDEST SWAP6 POP POP PUSH1 0x40 DUP8 ADD CALLDATALOAD PUSH2 0x43FC DUP2 PUSH2 0x34A9 JUMP JUMPDEST SWAP6 SWAP9 SWAP5 SWAP8 POP SWAP5 SWAP6 PUSH1 0x60 DUP2 ADD CALLDATALOAD SWAP6 POP PUSH1 0x80 DUP2 ADD CALLDATALOAD SWAP5 PUSH1 0xA0 SWAP1 SWAP2 ADD CALLDATALOAD SWAP4 POP SWAP2 POP POP JUMP JUMPDEST PUSH1 0x80 DUP2 MSTORE PUSH1 0x0 PUSH2 0x4430 PUSH1 0x80 DUP4 ADD DUP8 PUSH2 0x346A JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x4442 DUP2 DUP8 PUSH2 0x346A JUMP JUMPDEST PUSH1 0x40 DUP5 ADD SWAP6 SWAP1 SWAP6 MSTORE POP POP PUSH1 0x60 ADD MSTORE SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x100 DUP11 DUP4 MSTORE DUP10 PUSH1 0x20 DUP5 ADD MSTORE DUP1 PUSH1 0x40 DUP5 ADD MSTORE PUSH2 0x4476 DUP2 DUP5 ADD DUP11 PUSH2 0x346A JUMP JUMPDEST SWAP1 POP DUP3 DUP2 SUB PUSH1 0x60 DUP5 ADD MSTORE PUSH2 0x448A DUP2 DUP10 PUSH2 0x346A JUMP JUMPDEST SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND PUSH1 0x80 DUP5 ADD MSTORE DUP6 PUSH1 0xA0 DUP5 ADD MSTORE DUP3 DUP2 SUB PUSH1 0xC0 DUP5 ADD MSTORE PUSH2 0x44B3 DUP2 DUP7 PUSH2 0x346A JUMP JUMPDEST SWAP2 POP POP DUP3 PUSH1 0xE0 DUP4 ADD MSTORE SWAP10 SWAP9 POP POP POP POP POP POP POP POP POP JUMP JUMPDEST DUP4 DUP2 MSTORE PUSH1 0x0 DUP4 MLOAD PUSH2 0x44E1 DUP2 PUSH1 0x20 DUP6 ADD PUSH1 0x20 DUP9 ADD PUSH2 0x343E JUMP JUMPDEST PUSH1 0x20 SWAP3 ADD SWAP2 DUP3 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x40 ADD SWAP4 SWAP3 POP POP POP JUMP JUMPDEST DUP3 DUP2 MSTORE PUSH1 0x0 DUP3 MLOAD PUSH2 0x450E DUP2 PUSH1 0x20 DUP6 ADD PUSH1 0x20 DUP8 ADD PUSH2 0x343E JUMP JUMPDEST SWAP2 SWAP1 SWAP2 ADD PUSH1 0x20 ADD SWAP4 SWAP3 POP POP POP JUMP JUMPDEST DUP7 DUP2 MSTORE DUP6 PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0xC0 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x0 PUSH2 0x453B PUSH1 0xC0 DUP4 ADD DUP8 PUSH2 0x346A JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x60 DUP5 ADD MSTORE PUSH2 0x454D DUP2 DUP8 PUSH2 0x346A JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP6 SWAP1 SWAP6 AND PUSH1 0x80 DUP5 ADD MSTORE POP POP PUSH1 0xA0 ADD MSTORE SWAP5 SWAP4 POP POP POP POP JUMP INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x1 PUSH1 0x0 SSTORE CALLVALUE DUP1 ISZERO PUSH2 0x15 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x324 DUP1 PUSH2 0x25 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 0x35 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH3 0xF55D9D EQ PUSH2 0x3A JUMPI DUP1 PUSH4 0x1CFF79CD EQ PUSH2 0x4F JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4D PUSH2 0x48 CALLDATASIZE PUSH1 0x4 PUSH2 0x1DA JUMP JUMPDEST PUSH2 0x79 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x62 PUSH2 0x5D CALLDATASIZE PUSH1 0x4 PUSH2 0x1FC JUMP JUMPDEST PUSH2 0xBB JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x70 SWAP3 SWAP2 SWAP1 PUSH2 0x27F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x2 PUSH1 0x0 SLOAD EQ ISZERO PUSH2 0x9D JUMPI PUSH1 0x40 MLOAD PUSH4 0xCAA30F55 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x2 PUSH1 0x0 SSTORE PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 AND SELFDESTRUCT JUMPDEST PUSH1 0x0 PUSH1 0x60 PUSH1 0x2 PUSH1 0x0 SLOAD EQ ISZERO PUSH2 0xE3 JUMPI PUSH1 0x40 MLOAD PUSH4 0xCAA30F55 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x2 PUSH1 0x0 SSTORE PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP6 AND EXTCODESIZE PUSH2 0x136 JUMPI PUSH1 0x40 MLOAD PUSH32 0x6F7C43F100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP5 DUP5 PUSH1 0x40 MLOAD PUSH2 0x15D SWAP3 SWAP2 SWAP1 PUSH2 0x2DE JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP7 GAS CALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x19A JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x19F JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP PUSH1 0x1 PUSH1 0x0 SSTORE SWAP1 SWAP7 SWAP1 SWAP6 POP SWAP4 POP POP POP POP JUMP JUMPDEST DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 AND DUP2 EQ PUSH2 0x1D5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1EC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1F5 DUP3 PUSH2 0x1B1 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x40 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x211 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x21A DUP5 PUSH2 0x1B1 JUMP JUMPDEST SWAP3 POP PUSH1 0x20 DUP5 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x237 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP7 ADD SWAP2 POP DUP7 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x24B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD DUP2 DUP2 GT ISZERO PUSH2 0x25A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP8 PUSH1 0x20 DUP3 DUP6 ADD ADD GT ISZERO PUSH2 0x26C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x20 DUP4 ADD SWAP5 POP DUP1 SWAP4 POP POP POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST DUP3 ISZERO ISZERO DUP2 MSTORE PUSH1 0x0 PUSH1 0x20 PUSH1 0x40 DUP2 DUP5 ADD MSTORE DUP4 MLOAD DUP1 PUSH1 0x40 DUP6 ADD MSTORE PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x2B5 JUMPI DUP6 DUP2 ADD DUP4 ADD MLOAD DUP6 DUP3 ADD PUSH1 0x60 ADD MSTORE DUP3 ADD PUSH2 0x299 JUMP JUMPDEST DUP2 DUP2 GT ISZERO PUSH2 0x2C7 JUMPI PUSH1 0x0 PUSH1 0x60 DUP4 DUP8 ADD ADD MSTORE JUMPDEST POP PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x60 ADD SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST DUP2 DUP4 DUP3 CALLDATACOPY PUSH1 0x0 SWAP2 ADD SWAP1 DUP2 MSTORE SWAP2 SWAP1 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xDF 0xB7 MUL 0x49 0x2C CALLDATALOAD 0xC6 0xA8 DUP5 0xAC GT SWAP10 PUSH28 0x483E3FEE4FF8145C7ABB0799D2A2FC8674C39364736F6C6343000809 STOP CALLER LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 DUP13 0xCF PUSH30 0x53804E5299AE34CB40B83392C107813B7A4EBCE02CC0A10D4ED07FDAFE64 PUSH20 0x6F6C634300080900330000000000000000000000 ", - "sourceMap": "548:24635:2:-:0;;;2564:338;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;2647:22:2;;;2643:59;;2683:19;;-1:-1:-1;;;2683:19:2;;;;;;;;;;;2643:59;-1:-1:-1;;;;;2716:39:2;;;2712:79;;2769:22;;-1:-1:-1;;;2769:22:2;;;;;;;;;;;2712:79;-1:-1:-1;;;;;2802:24:2;;;;;2836:59;;;548:24635;;14:177:34;93:13;;-1:-1:-1;;;;;135:31:34;;125:42;;115:70;;181:1;178;171:12;115:70;14:177;;;:::o;196:293::-;275:6;283;336:2;324:9;315:7;311:23;307:32;304:52;;;352:1;349;342:12;304:52;375:40;405:9;375:40;:::i;:::-;365:50;;434:49;479:2;468:9;464:18;434:49;:::i;:::-;424:59;;196:293;;;;;:::o;:::-;548:24635:2;;;;;;;;;;;;;;" - }, - "deployedBytecode": { - "functionDebugData": { - "@_adminEpoch_278": { - "entryPoint": null, - "id": 278, - "parameterSlots": 0, - "returnSlots": 1 - }, - "@_burnTokenFrom_2737": { - "entryPoint": 9660, - "id": 2737, - "parameterSlots": 3, - "returnSlots": 0 - }, - "@_callERC20Token_2519": { - "entryPoint": 11588, - "id": 2519, - "parameterSlots": 2, - "returnSlots": 1 - }, - "@_getAdminCountKey_192": { - "entryPoint": 11734, - "id": 192, - "parameterSlots": 1, - "returnSlots": 1 - }, - "@_getAdminCount_309": { - "entryPoint": 9439, - "id": 309, - "parameterSlots": 1, - "returnSlots": 1 - }, - "@_getAdminKey_176": { - "entryPoint": 11793, - "id": 176, - "parameterSlots": 2, - "returnSlots": 1 - }, - "@_getAdminThresholdKey_208": { - "entryPoint": 11912, - "id": 208, - "parameterSlots": 1, - "returnSlots": 1 - }, - "@_getAdminThreshold_323": { - "entryPoint": 10717, - "id": 323, - "parameterSlots": 1, - "returnSlots": 1 - }, - "@_getAdminVoteCountsKey_227": { - "entryPoint": 12100, - "id": 227, - "parameterSlots": 2, - "returnSlots": 1 - }, - "@_getAdminVotedKey_249": { - "entryPoint": null, - "id": 249, - "parameterSlots": 3, - "returnSlots": 1 - }, - "@_getAdmin_295": { - "entryPoint": 9453, - "id": 295, - "parameterSlots": 2, - "returnSlots": 1 - }, - "@_getIsAdminKey_268": { - "entryPoint": 12017, - "id": 268, - "parameterSlots": 2, - "returnSlots": 1 - }, - "@_getIsCommandExecutedKey_2820": { - "entryPoint": 11389, - "id": 2820, - "parameterSlots": 1, - "returnSlots": 1 - }, - "@_getIsContractCallApprovedKey_2848": { - "entryPoint": 10417, - "id": 2848, - "parameterSlots": 5, - "returnSlots": 1 - }, - "@_getIsContractCallApprovedWithMintKey_2882": { - "entryPoint": 9475, - "id": 2882, - "parameterSlots": 7, - "returnSlots": 1 - }, - "@_getTokenAddressKey_2804": { - "entryPoint": 10731, - "id": 2804, - "parameterSlots": 1, - "returnSlots": 1 - }, - "@_getTokenDailyMintAmountKey_2772": { - "entryPoint": 9575, - "id": 2772, - "parameterSlots": 2, - "returnSlots": 1 - }, - "@_getTokenDailyMintLimitKey_2753": { - "entryPoint": 10364, - "id": 2753, - "parameterSlots": 1, - "returnSlots": 1 - }, - "@_getTokenTypeKey_2788": { - "entryPoint": 11859, - "id": 2788, - "parameterSlots": 1, - "returnSlots": 1 - }, - "@_getTokenType_2899": { - "entryPoint": 10279, - "id": 2899, - "parameterSlots": 1, - "returnSlots": 1 - }, - "@_getVoteCount_340": { - "entryPoint": 11356, - "id": 340, - "parameterSlots": 2, - "returnSlots": 1 - }, - "@_hasVoted_360": { - "entryPoint": 11115, - "id": 360, - "parameterSlots": 3, - "returnSlots": 1 - }, - "@_isAdmin_377": { - "entryPoint": 11100, - "id": 377, - "parameterSlots": 2, - "returnSlots": 1 - }, - "@_mintToken_2593": { - "entryPoint": 9026, - "id": 2593, - "parameterSlots": 3, - "returnSlots": 0 - }, - "@_setAddress_4185": { - "entryPoint": null, - "id": 4185, - "parameterSlots": 2, - "returnSlots": 0 - }, - "@_setAdminCount_421": { - "entryPoint": 11983, - "id": 421, - "parameterSlots": 2, - "returnSlots": 0 - }, - "@_setAdminEpoch_388": { - "entryPoint": null, - "id": 388, - "parameterSlots": 1, - "returnSlots": 0 - }, - "@_setAdminThreshold_527": { - "entryPoint": 11971, - "id": 527, - "parameterSlots": 2, - "returnSlots": 0 - }, - "@_setAdmin_406": { - "entryPoint": 11995, - "id": 406, - "parameterSlots": 3, - "returnSlots": 0 - }, - "@_setAdmins_512": { - "entryPoint": 10787, - "id": 512, - "parameterSlots": 3, - "returnSlots": 0 - }, - "@_setBool_4213": { - "entryPoint": null, - "id": 4213, - "parameterSlots": 2, - "returnSlots": 0 - }, - "@_setCommandExecuted_3005": { - "entryPoint": 8982, - "id": 3005, - "parameterSlots": 2, - "returnSlots": 0 - }, - "@_setContractCallApprovedWithMint_3061": { - "entryPoint": 10310, - "id": 3061, - "parameterSlots": 7, - "returnSlots": 0 - }, - "@_setContractCallApproved_3030": { - "entryPoint": 11448, - "id": 3030, - "parameterSlots": 5, - "returnSlots": 0 - }, - "@_setHasVoted_566": { - "entryPoint": 11241, - "id": 566, - "parameterSlots": 4, - "returnSlots": 0 - }, - "@_setImplementation_3072": { - "entryPoint": null, - "id": 3072, - "parameterSlots": 1, - "returnSlots": 0 - }, - "@_setIsAdmin_584": { - "entryPoint": 12008, - "id": 584, - "parameterSlots": 3, - "returnSlots": 0 - }, - "@_setTokenAddress_2990": { - "entryPoint": 10559, - "id": 2990, - "parameterSlots": 2, - "returnSlots": 0 - }, - "@_setTokenDailyMintAmount_2956": { - "entryPoint": 11464, - "id": 2956, - "parameterSlots": 2, - "returnSlots": 0 - }, - "@_setTokenDailyMintLimit_2919": { - "entryPoint": 10625, - "id": 2919, - "parameterSlots": 2, - "returnSlots": 0 - }, - "@_setTokenType_2975": { - "entryPoint": 10511, - "id": 2975, - "parameterSlots": 2, - "returnSlots": 0 - }, - "@_setUint_4157": { - "entryPoint": null, - "id": 4157, - "parameterSlots": 2, - "returnSlots": 0 - }, - "@_setVoteCount_545": { - "entryPoint": 11371, - "id": 545, - "parameterSlots": 3, - "returnSlots": 0 - }, - "@_unpackLegacyCommands_2481": { - "entryPoint": 8694, - "id": 2481, - "parameterSlots": 1, - "returnSlots": 4 - }, - "@adminEpoch_1439": { - "entryPoint": 3706, - "id": 1439, - "parameterSlots": 0, - "returnSlots": 1 - }, - "@adminThreshold_1453": { - "entryPoint": 5707, - "id": 1453, - "parameterSlots": 1, - "returnSlots": 1 - }, - "@admins_1498": { - "entryPoint": 2936, - "id": 1498, - "parameterSlots": 1, - "returnSlots": 1 - }, - "@allTokensFrozen_1376": { - "entryPoint": null, - "id": 1376, - "parameterSlots": 0, - "returnSlots": 1 - }, - "@approveContractCallWithMint_2418": { - "entryPoint": 4646, - "id": 2418, - "parameterSlots": 3, - "returnSlots": 0 - }, - "@approveContractCall_2348": { - "entryPoint": 8738, - "id": 2348, - "parameterSlots": 3, - "returnSlots": 0 - }, - "@burnToken_2290": { - "entryPoint": 3794, - "id": 2290, - "parameterSlots": 3, - "returnSlots": 0 - }, - "@callContractWithToken_1181": { - "entryPoint": 7503, - "id": 1181, - "parameterSlots": 9, - "returnSlots": 0 - }, - "@callContract_1147": { - "entryPoint": 3414, - "id": 1147, - "parameterSlots": 6, - "returnSlots": 0 - }, - "@deployToken_2127": { - "entryPoint": 5019, - "id": 2127, - "parameterSlots": 3, - "returnSlots": 0 - }, - "@execute_1980": { - "entryPoint": 1420, - "id": 1980, - "parameterSlots": 2, - "returnSlots": 0 - }, - "@getAddress_4107": { - "entryPoint": null, - "id": 4107, - "parameterSlots": 1, - "returnSlots": 1 - }, - "@getBool_4131": { - "entryPoint": null, - "id": 4131, - "parameterSlots": 1, - "returnSlots": 1 - }, - "@getBytes_4119": { - "entryPoint": 7896, - "id": 4119, - "parameterSlots": 1, - "returnSlots": 1 - }, - "@getInt_4143": { - "entryPoint": null, - "id": 4143, - "parameterSlots": 1, - "returnSlots": 1 - }, - "@getString_4095": { - "entryPoint": 5954, - "id": 4095, - "parameterSlots": 1, - "returnSlots": 1 - }, - "@getUint_4083": { - "entryPoint": null, - "id": 4083, - "parameterSlots": 1, - "returnSlots": 1 - }, - "@implementation_1387": { - "entryPoint": null, - "id": 1387, - "parameterSlots": 0, - "returnSlots": 1 - }, - "@isCommandExecuted_1428": { - "entryPoint": 7925, - "id": 1428, - "parameterSlots": 1, - "returnSlots": 1 - }, - "@isContractCallAndMintApproved_1241": { - "entryPoint": 7685, - "id": 1241, - "parameterSlots": 10, - "returnSlots": 1 - }, - "@isContractCallApproved_1208": { - "entryPoint": 8557, - "id": 1208, - "parameterSlots": 7, - "returnSlots": 1 - }, - "@mintToken_2161": { - "entryPoint": 2863, - "id": 2161, - "parameterSlots": 3, - "returnSlots": 0 - }, - "@sendToken_1126": { - "entryPoint": 3554, - "id": 1126, - "parameterSlots": 7, - "returnSlots": 0 - }, - "@setTokenDailyMintLimits_1563": { - "entryPoint": 7939, - "id": 1563, - "parameterSlots": 4, - "returnSlots": 0 - }, - "@setup_1694": { - "entryPoint": 6116, - "id": 1694, - "parameterSlots": 2, - "returnSlots": 0 - }, - "@toEthSignedMessageHash_3477": { - "entryPoint": 8898, - "id": 3477, - "parameterSlots": 1, - "returnSlots": 1 - }, - "@tokenAddresses_1402": { - "entryPoint": 5718, - "id": 1402, - "parameterSlots": 1, - "returnSlots": 1 - }, - "@tokenDailyMintAmount_1367": { - "entryPoint": 3521, - "id": 1367, - "parameterSlots": 1, - "returnSlots": 1 - }, - "@tokenDailyMintLimit_1348": { - "entryPoint": 4820, - "id": 1348, - "parameterSlots": 1, - "returnSlots": 1 - }, - "@tokenFrozen_1413": { - "entryPoint": null, - "id": 1413, - "parameterSlots": 1, - "returnSlots": 1 - }, - "@transferOperatorship_2439": { - "entryPoint": 5732, - "id": 2439, - "parameterSlots": 3, - "returnSlots": 0 - }, - "@upgrade_1617": { - "entryPoint": 6680, - "id": 1617, - "parameterSlots": 4, - "returnSlots": 0 - }, - "@validateContractCallAndMint_1333": { - "entryPoint": 3106, - "id": 1333, - "parameterSlots": 9, - "returnSlots": 1 - }, - "@validateContractCall_1280": { - "entryPoint": 4834, - "id": 1280, - "parameterSlots": 6, - "returnSlots": 1 - }, - "abi_decode_address_payable": { - "entryPoint": 15507, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "abi_decode_array_bytes32_dyn_fromMemory": { - "entryPoint": 14780, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_decode_array_bytes_dyn_fromMemory": { - "entryPoint": 15100, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_decode_array_string_calldata_dyn_calldata": { - "entryPoint": 14004, - "id": null, - "parameterSlots": 2, - "returnSlots": 2 - }, - "abi_decode_array_string_dyn_fromMemory": { - "entryPoint": 14919, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_decode_available_length_string_fromMemory": { - "entryPoint": 14871, - "id": null, - "parameterSlots": 3, - "returnSlots": 1 - }, - "abi_decode_bool_fromMemory": { - "entryPoint": 14696, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "abi_decode_bytes_calldata": { - "entryPoint": 12179, - "id": null, - "parameterSlots": 2, - "returnSlots": 2 - }, - "abi_decode_bytes_fromMemory": { - "entryPoint": 15068, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_decode_string": { - "entryPoint": 12942, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_decode_tuple_t_address_fromMemory": { - "entryPoint": null, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_decode_tuple_t_address_payable_fromMemory": { - "entryPoint": 16582, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_decode_tuple_t_addresst_bytes32t_bytes_calldata_ptr": { - "entryPoint": 13502, - "id": null, - "parameterSlots": 2, - "returnSlots": 4 - }, - "abi_decode_tuple_t_array$_t_address_$dyn_memory_ptrt_uint256t_bytes_memory_ptr": { - "entryPoint": 16733, - "id": null, - "parameterSlots": 2, - "returnSlots": 3 - }, - "abi_decode_tuple_t_array$_t_string_calldata_ptr_$dyn_calldata_ptrt_array$_t_uint256_$dyn_calldata_ptr": { - "entryPoint": 14073, - "id": null, - "parameterSlots": 2, - "returnSlots": 4 - }, - "abi_decode_tuple_t_bool_fromMemory": { - "entryPoint": 14717, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_decode_tuple_t_boolt_bytes_memory_ptr_fromMemory": { - "entryPoint": 16003, - "id": null, - "parameterSlots": 2, - "returnSlots": 2 - }, - "abi_decode_tuple_t_bytes32": { - "entryPoint": null, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_decode_tuple_t_bytes32t_string_calldata_ptrt_string_calldata_ptrt_addresst_bytes32": { - "entryPoint": 14169, - "id": null, - "parameterSlots": 2, - "returnSlots": 7 - }, - "abi_decode_tuple_t_bytes32t_string_calldata_ptrt_string_calldata_ptrt_addresst_bytes32t_string_calldata_ptrt_uint256": { - "entryPoint": 13798, - "id": null, - "parameterSlots": 2, - "returnSlots": 10 - }, - "abi_decode_tuple_t_bytes32t_string_calldata_ptrt_string_calldata_ptrt_bytes32": { - "entryPoint": 13244, - "id": null, - "parameterSlots": 2, - "returnSlots": 6 - }, - "abi_decode_tuple_t_bytes32t_string_calldata_ptrt_string_calldata_ptrt_bytes32t_string_calldata_ptrt_uint256": { - "entryPoint": 12496, - "id": null, - "parameterSlots": 2, - "returnSlots": 9 - }, - "abi_decode_tuple_t_bytes_calldata_ptr": { - "entryPoint": 12252, - "id": null, - "parameterSlots": 2, - "returnSlots": 2 - }, - "abi_decode_tuple_t_bytes_calldata_ptrt_bytes32": { - "entryPoint": 12318, - "id": null, - "parameterSlots": 2, - "returnSlots": 3 - }, - "abi_decode_tuple_t_bytes_memory_ptr": { - "entryPoint": null, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_decode_tuple_t_bytes_memory_ptrt_bytes_memory_ptr": { - "entryPoint": 14571, - "id": null, - "parameterSlots": 2, - "returnSlots": 2 - }, - "abi_decode_tuple_t_string_calldata_ptrt_string_calldata_ptrt_bytes_calldata_ptr": { - "entryPoint": 12677, - "id": null, - "parameterSlots": 2, - "returnSlots": 6 - }, - "abi_decode_tuple_t_string_calldata_ptrt_string_calldata_ptrt_bytes_calldata_ptrt_string_calldata_ptrt_uint256": { - "entryPoint": 13594, - "id": null, - "parameterSlots": 2, - "returnSlots": 9 - }, - "abi_decode_tuple_t_string_calldata_ptrt_string_calldata_ptrt_string_calldata_ptrt_uint256": { - "entryPoint": 13081, - "id": null, - "parameterSlots": 2, - "returnSlots": 7 - }, - "abi_decode_tuple_t_string_memory_ptr": { - "entryPoint": 13028, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_decode_tuple_t_string_memory_ptrt_address_payablet_uint256": { - "entryPoint": 15518, - "id": null, - "parameterSlots": 2, - "returnSlots": 3 - }, - "abi_decode_tuple_t_string_memory_ptrt_bytes32": { - "entryPoint": 15853, - "id": null, - "parameterSlots": 2, - "returnSlots": 2 - }, - "abi_decode_tuple_t_string_memory_ptrt_string_memory_ptrt_address_payablet_bytes32t_bytes32t_uint256": { - "entryPoint": 17291, - "id": null, - "parameterSlots": 2, - "returnSlots": 6 - }, - "abi_decode_tuple_t_string_memory_ptrt_string_memory_ptrt_address_payablet_bytes32t_string_memory_ptrt_uint256t_bytes32t_uint256": { - "entryPoint": 16071, - "id": null, - "parameterSlots": 2, - "returnSlots": 8 - }, - "abi_decode_tuple_t_string_memory_ptrt_string_memory_ptrt_uint8t_uint256t_address_payablet_uint256": { - "entryPoint": 16349, - "id": null, - "parameterSlots": 2, - "returnSlots": 6 - }, - "abi_decode_tuple_t_uint256": { - "entryPoint": 12394, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_decode_tuple_t_uint256_fromMemory": { - "entryPoint": 15944, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_decode_tuple_t_uint256t_array$_t_bytes32_$dyn_memory_ptrt_array$_t_string_memory_ptr_$dyn_memory_ptrt_array$_t_bytes_memory_ptr_$dyn_memory_ptr_fromMemory": { - "entryPoint": 15228, - "id": null, - "parameterSlots": 2, - "returnSlots": 4 - }, - "abi_decode_tuple_t_uint256t_uint256t_array$_t_bytes32_$dyn_memory_ptrt_array$_t_string_memory_ptr_$dyn_memory_ptrt_array$_t_bytes_memory_ptr_$dyn_memory_ptr_fromMemory": { - "entryPoint": 17135, - "id": null, - "parameterSlots": 2, - "returnSlots": 5 - }, - "abi_encode_array_bytes_dyn": { - "entryPoint": 14320, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_encode_string": { - "entryPoint": 13418, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_encode_string_calldata": { - "entryPoint": 15624, - "id": null, - "parameterSlots": 3, - "returnSlots": 1 - }, - "abi_encode_tuple_packed_t_bytes32_t_bytes32__to_t_bytes32_t_bytes32__nonPadded_inplace_fromStack_reversed": { - "entryPoint": null, - "id": null, - "parameterSlots": 3, - "returnSlots": 1 - }, - "abi_encode_tuple_packed_t_bytes32_t_string_memory_ptr__to_t_bytes32_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed": { - "entryPoint": 17654, - "id": null, - "parameterSlots": 3, - "returnSlots": 1 - }, - "abi_encode_tuple_packed_t_bytes32_t_string_memory_ptr_t_uint256__to_t_bytes32_t_string_memory_ptr_t_uint256__nonPadded_inplace_fromStack_reversed": { - "entryPoint": 17609, - "id": null, - "parameterSlots": 4, - "returnSlots": 1 - }, - "abi_encode_tuple_packed_t_bytes32_t_uint256__to_t_bytes32_t_uint256__nonPadded_inplace_fromStack_reversed": { - "entryPoint": null, - "id": null, - "parameterSlots": 3, - "returnSlots": 1 - }, - "abi_encode_tuple_packed_t_bytes32_t_uint256_t_address__to_t_bytes32_t_uint256_t_address__nonPadded_inplace_fromStack_reversed": { - "entryPoint": null, - "id": null, - "parameterSlots": 4, - "returnSlots": 1 - }, - "abi_encode_tuple_packed_t_bytes32_t_uint256_t_bytes32__to_t_bytes32_t_uint256_t_bytes32__nonPadded_inplace_fromStack_reversed": { - "entryPoint": null, - "id": null, - "parameterSlots": 4, - "returnSlots": 1 - }, - "abi_encode_tuple_packed_t_bytes32_t_uint256_t_bytes32_t_address__to_t_bytes32_t_uint256_t_bytes32_t_address__nonPadded_inplace_fromStack_reversed": { - "entryPoint": null, - "id": null, - "parameterSlots": 5, - "returnSlots": 1 - }, - "abi_encode_tuple_packed_t_bytes32_t_uint256_t_uint256__to_t_bytes32_t_uint256_t_uint256__nonPadded_inplace_fromStack_reversed": { - "entryPoint": null, - "id": null, - "parameterSlots": 4, - "returnSlots": 1 - }, - "abi_encode_tuple_packed_t_bytes_calldata_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed": { - "entryPoint": 15608, - "id": null, - "parameterSlots": 3, - "returnSlots": 1 - }, - "abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed": { - "entryPoint": null, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_encode_tuple_packed_t_string_memory_ptr__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed": { - "entryPoint": 15396, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_encode_tuple_packed_t_stringliteral_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73_t_bytes32__to_t_string_memory_ptr_t_bytes32__nonPadded_inplace_fromStack_reversed": { - "entryPoint": null, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_encode_tuple_t_address__to_t_address__fromStack_reversed": { - "entryPoint": null, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_encode_tuple_t_address_t_address_t_uint256__to_t_address_t_address_t_uint256__fromStack_reversed": { - "entryPoint": null, - "id": null, - "parameterSlots": 4, - "returnSlots": 1 - }, - "abi_encode_tuple_t_address_t_bytes_memory_ptr__to_t_address_t_bytes_memory_ptr__fromStack_reversed": { - "entryPoint": 15969, - "id": null, - "parameterSlots": 3, - "returnSlots": 1 - }, - "abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed": { - "entryPoint": null, - "id": null, - "parameterSlots": 3, - "returnSlots": 1 - }, - "abi_encode_tuple_t_array$_t_address_$dyn_memory_ptr__to_t_array$_t_address_$dyn_memory_ptr__fromStack_reversed": { - "entryPoint": 12419, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed": { - "entryPoint": null, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed": { - "entryPoint": null, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_encode_tuple_t_bytes32_t_bytes32_t_string_memory_ptr_t_string_memory_ptr_t_address_t_bytes32__to_t_bytes32_t_bytes32_t_string_memory_ptr_t_string_memory_ptr_t_address_t_bytes32__fromStack_reversed": { - "entryPoint": 17692, - "id": null, - "parameterSlots": 7, - "returnSlots": 1 - }, - "abi_encode_tuple_t_bytes32_t_bytes32_t_string_memory_ptr_t_string_memory_ptr_t_address_t_bytes32_t_string_memory_ptr_t_uint256__to_t_bytes32_t_bytes32_t_string_memory_ptr_t_string_memory_ptr_t_address_t_bytes32_t_string_memory_ptr_t_uint256__fromStack_reversed": { - "entryPoint": 17494, - "id": null, - "parameterSlots": 9, - "returnSlots": 1 - }, - "abi_encode_tuple_t_bytes32_t_bytes_memory_ptr__to_t_bytes32_t_bytes_memory_ptr__fromStack_reversed": { - "entryPoint": 14671, - "id": null, - "parameterSlots": 3, - "returnSlots": 1 - }, - "abi_encode_tuple_t_bytes_calldata_ptr__to_t_bytes_memory_ptr__fromStack_reversed": { - "entryPoint": 16654, - "id": null, - "parameterSlots": 3, - "returnSlots": 1 - }, - "abi_encode_tuple_t_bytes_memory_ptr__to_t_bytes_memory_ptr__fromStack_reversed": { - "entryPoint": null, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_encode_tuple_t_bytes_memory_ptr_t_bytes32__to_t_bytes_memory_ptr_t_bytes32__fromStack_reversed": { - "entryPoint": 15424, - "id": null, - "parameterSlots": 3, - "returnSlots": 1 - }, - "abi_encode_tuple_t_int256__to_t_int256__fromStack_reversed": { - "entryPoint": null, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_encode_tuple_t_string_calldata_ptr_t_string_calldata_ptr_t_bytes_calldata_ptr__to_t_string_memory_ptr_t_string_memory_ptr_t_bytes_memory_ptr__fromStack_reversed": { - "entryPoint": 15665, - "id": null, - "parameterSlots": 7, - "returnSlots": 1 - }, - "abi_encode_tuple_t_string_calldata_ptr_t_string_calldata_ptr_t_bytes_calldata_ptr_t_string_calldata_ptr_t_uint256__to_t_string_memory_ptr_t_string_memory_ptr_t_bytes_memory_ptr_t_string_memory_ptr_t_uint256__fromStack_reversed": { - "entryPoint": 16960, - "id": null, - "parameterSlots": 10, - "returnSlots": 1 - }, - "abi_encode_tuple_t_string_calldata_ptr_t_string_calldata_ptr_t_string_calldata_ptr_t_uint256__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_uint256__fromStack_reversed": { - "entryPoint": 15772, - "id": null, - "parameterSlots": 8, - "returnSlots": 1 - }, - "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed": { - "entryPoint": 13462, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_encode_tuple_t_string_memory_ptr_t_address__to_t_string_memory_ptr_t_address__fromStack_reversed": { - "entryPoint": 16611, - "id": null, - "parameterSlots": 3, - "returnSlots": 1 - }, - "abi_encode_tuple_t_string_memory_ptr_t_string_memory_ptr_t_bytes32_t_uint256__to_t_string_memory_ptr_t_string_memory_ptr_t_bytes32_t_uint256__fromStack_reversed": { - "entryPoint": 17437, - "id": null, - "parameterSlots": 5, - "returnSlots": 1 - }, - "abi_encode_tuple_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_uint256_t_bytes32_t_uint256__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_uint256_t_bytes32_t_uint256__fromStack_reversed": { - "entryPoint": 16261, - "id": null, - "parameterSlots": 7, - "returnSlots": 1 - }, - "abi_encode_tuple_t_string_memory_ptr_t_string_memory_ptr_t_uint8_t_uint256_t_bytes32__to_t_string_memory_ptr_t_string_memory_ptr_t_uint8_t_uint256_t_bytes32__fromStack_reversed": { - "entryPoint": 16512, - "id": null, - "parameterSlots": 6, - "returnSlots": 1 - }, - "abi_encode_tuple_t_string_memory_ptr_t_uint256__to_t_string_memory_ptr_t_uint256__fromStack_reversed": { - "entryPoint": null, - "id": null, - "parameterSlots": 3, - "returnSlots": 1 - }, - "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": { - "entryPoint": null, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_encode_tuple_t_uint256_t_array$_t_bytes32_$dyn_memory_ptr_t_array$_t_string_memory_ptr_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr__to_t_uint256_t_array$_t_bytes32_$dyn_memory_ptr_t_array$_t_string_memory_ptr_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr__fromStack_reversed": { - "entryPoint": 14405, - "id": null, - "parameterSlots": 5, - "returnSlots": 1 - }, - "access_calldata_tail_t_string_calldata_ptr": { - "entryPoint": 17064, - "id": null, - "parameterSlots": 2, - "returnSlots": 2 - }, - "allocate_memory": { - "entryPoint": 12853, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "array_allocation_size_array_bytes32_dyn": { - "entryPoint": 14744, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "array_allocation_size_string": { - "entryPoint": 12902, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "checked_add_t_uint256": { - "entryPoint": 16936, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "checked_div_t_uint256": { - "entryPoint": 15738, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "copy_memory_to_memory": { - "entryPoint": 13374, - "id": null, - "parameterSlots": 3, - "returnSlots": 0 - }, - "extract_byte_array_length": { - "entryPoint": 16674, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "increment_t_uint256": { - "entryPoint": 15480, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "panic_error_0x11": { - "entryPoint": 15458, - "id": null, - "parameterSlots": 0, - "returnSlots": 0 - }, - "panic_error_0x21": { - "entryPoint": 15922, - "id": null, - "parameterSlots": 0, - "returnSlots": 0 - }, - "panic_error_0x32": { - "entryPoint": 15374, - "id": null, - "parameterSlots": 0, - "returnSlots": 0 - }, - "panic_error_0x41": { - "entryPoint": 12831, - "id": null, - "parameterSlots": 0, - "returnSlots": 0 - }, - "validator_revert_address": { - "entryPoint": 13481, - "id": null, - "parameterSlots": 1, - "returnSlots": 0 - } - }, - "generatedSources": [ - { - "ast": { - "nodeType": "YulBlock", - "src": "0:45484:34", - "statements": [ - { - "nodeType": "YulBlock", - "src": "6:3:34", - "statements": [] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "86:275:34", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "135:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "144:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "147:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "137:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "137:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "137:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "114:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "122:4:34", - "type": "", - "value": "0x1f" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "110:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "110:17:34" - }, - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "129:3:34" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "106:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "106:27:34" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "99:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "99:35:34" - }, - "nodeType": "YulIf", - "src": "96:55:34" - }, - { - "nodeType": "YulAssignment", - "src": "160:30:34", - "value": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "183:6:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "170:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "170:20:34" - }, - "variableNames": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "160:6:34" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "233:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "242:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "245:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "235:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "235:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "235:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "205:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "213:18:34", - "type": "", - "value": "0xffffffffffffffff" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "202:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "202:30:34" - }, - "nodeType": "YulIf", - "src": "199:50:34" - }, - { - "nodeType": "YulAssignment", - "src": "258:29:34", - "value": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "274:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "282:4:34", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "270:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "270:17:34" - }, - "variableNames": [ - { - "name": "arrayPos", - "nodeType": "YulIdentifier", - "src": "258:8:34" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "339:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "348:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "351:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "341:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "341:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "341:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "310:6:34" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "318:6:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "306:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "306:19:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "327:4:34", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "302:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "302:30:34" - }, - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "334:3:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "299:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "299:39:34" - }, - "nodeType": "YulIf", - "src": "296:59:34" - } - ] - }, - "name": "abi_decode_bytes_calldata", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "49:6:34", - "type": "" - }, - { - "name": "end", - "nodeType": "YulTypedName", - "src": "57:3:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "arrayPos", - "nodeType": "YulTypedName", - "src": "65:8:34", - "type": "" - }, - { - "name": "length", - "nodeType": "YulTypedName", - "src": "75:6:34", - "type": "" - } - ], - "src": "14:347:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "455:320:34", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "501:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "510:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "513:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "503:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "503:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "503:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "476:7:34" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "485:9:34" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "472:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "472:23:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "497:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "468:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "468:32:34" - }, - "nodeType": "YulIf", - "src": "465:52:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "526:37:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "553:9:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "540:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "540:23:34" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "530:6:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "606:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "615:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "618:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "608:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "608:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "608:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "578:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "586:18:34", - "type": "", - "value": "0xffffffffffffffff" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "575:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "575:30:34" - }, - "nodeType": "YulIf", - "src": "572:50:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "631:84:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "687:9:34" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "698:6:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "683:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "683:22:34" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "707:7:34" - } - ], - "functionName": { - "name": "abi_decode_bytes_calldata", - "nodeType": "YulIdentifier", - "src": "657:25:34" - }, - "nodeType": "YulFunctionCall", - "src": "657:58:34" - }, - "variables": [ - { - "name": "value0_1", - "nodeType": "YulTypedName", - "src": "635:8:34", - "type": "" - }, - { - "name": "value1_1", - "nodeType": "YulTypedName", - "src": "645:8:34", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "724:18:34", - "value": { - "name": "value0_1", - "nodeType": "YulIdentifier", - "src": "734:8:34" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "724:6:34" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "751:18:34", - "value": { - "name": "value1_1", - "nodeType": "YulIdentifier", - "src": "761:8:34" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "751:6:34" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_bytes_calldata_ptr", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "413:9:34", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "424:7:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "436:6:34", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "444:6:34", - "type": "" - } - ], - "src": "366:409:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "886:371:34", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "932:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "941:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "944:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "934:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "934:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "934:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "907:7:34" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "916:9:34" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "903:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "903:23:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "928:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "899:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "899:32:34" - }, - "nodeType": "YulIf", - "src": "896:52:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "957:37:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "984:9:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "971:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "971:23:34" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "961:6:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1037:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1046:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1049:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "1039:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "1039:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "1039:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "1009:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1017:18:34", - "type": "", - "value": "0xffffffffffffffff" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "1006:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "1006:30:34" - }, - "nodeType": "YulIf", - "src": "1003:50:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1062:84:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1118:9:34" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "1129:6:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1114:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1114:22:34" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "1138:7:34" - } - ], - "functionName": { - "name": "abi_decode_bytes_calldata", - "nodeType": "YulIdentifier", - "src": "1088:25:34" - }, - "nodeType": "YulFunctionCall", - "src": "1088:58:34" - }, - "variables": [ - { - "name": "value0_1", - "nodeType": "YulTypedName", - "src": "1066:8:34", - "type": "" - }, - { - "name": "value1_1", - "nodeType": "YulTypedName", - "src": "1076:8:34", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "1155:18:34", - "value": { - "name": "value0_1", - "nodeType": "YulIdentifier", - "src": "1165:8:34" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1155:6:34" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "1182:18:34", - "value": { - "name": "value1_1", - "nodeType": "YulIdentifier", - "src": "1192:8:34" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "1182:6:34" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "1209:42:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1236:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1247:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1232:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1232:18:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "1219:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "1219:32:34" - }, - "variableNames": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "1209:6:34" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_bytes_calldata_ptrt_bytes32", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "836:9:34", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "847:7:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "859:6:34", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "867:6:34", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "875:6:34", - "type": "" - } - ], - "src": "780:477:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1332:110:34", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "1378:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1387:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1390:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "1380:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "1380:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "1380:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "1353:7:34" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1362:9:34" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "1349:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1349:23:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1374:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "1345:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1345:32:34" - }, - "nodeType": "YulIf", - "src": "1342:52:34" - }, - { - "nodeType": "YulAssignment", - "src": "1403:33:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1426:9:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "1413:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "1413:23:34" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1403:6:34" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "1298:9:34", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "1309:7:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "1321:6:34", - "type": "" - } - ], - "src": "1262:180:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1598:530:34", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "1608:12:34", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1618:2:34", - "type": "", - "value": "32" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "1612:2:34", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1629:32:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1647:9:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "1658:2:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1643:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1643:18:34" - }, - "variables": [ - { - "name": "tail_1", - "nodeType": "YulTypedName", - "src": "1633:6:34", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1677:9:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "1688:2:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1670:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "1670:21:34" - }, - "nodeType": "YulExpressionStatement", - "src": "1670:21:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1700:17:34", - "value": { - "name": "tail_1", - "nodeType": "YulIdentifier", - "src": "1711:6:34" - }, - "variables": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "1704:3:34", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1726:27:34", - "value": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1746:6:34" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "1740:5:34" - }, - "nodeType": "YulFunctionCall", - "src": "1740:13:34" - }, - "variables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "1730:6:34", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "tail_1", - "nodeType": "YulIdentifier", - "src": "1769:6:34" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "1777:6:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1762:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "1762:22:34" - }, - "nodeType": "YulExpressionStatement", - "src": "1762:22:34" - }, - { - "nodeType": "YulAssignment", - "src": "1793:25:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1804:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1815:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1800:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1800:18:34" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "1793:3:34" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1827:29:34", - "value": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1845:6:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "1853:2:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1841:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1841:15:34" - }, - "variables": [ - { - "name": "srcPtr", - "nodeType": "YulTypedName", - "src": "1831:6:34", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1865:10:34", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1874:1:34", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "i", - "nodeType": "YulTypedName", - "src": "1869:1:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1933:169:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "1954:3:34" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "srcPtr", - "nodeType": "YulIdentifier", - "src": "1969:6:34" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "1963:5:34" - }, - "nodeType": "YulFunctionCall", - "src": "1963:13:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1978:42:34", - "type": "", - "value": "0xffffffffffffffffffffffffffffffffffffffff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "1959:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1959:62:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1947:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "1947:75:34" - }, - "nodeType": "YulExpressionStatement", - "src": "1947:75:34" - }, - { - "nodeType": "YulAssignment", - "src": "2035:19:34", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "2046:3:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "2051:2:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2042:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "2042:12:34" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "2035:3:34" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "2067:25:34", - "value": { - "arguments": [ - { - "name": "srcPtr", - "nodeType": "YulIdentifier", - "src": "2081:6:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "2089:2:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2077:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "2077:15:34" - }, - "variableNames": [ - { - "name": "srcPtr", - "nodeType": "YulIdentifier", - "src": "2067:6:34" - } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "1895:1:34" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "1898:6:34" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "1892:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "1892:13:34" - }, - "nodeType": "YulForLoop", - "post": { - "nodeType": "YulBlock", - "src": "1906:18:34", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "1908:14:34", - "value": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "1917:1:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1920:1:34", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1913:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1913:9:34" - }, - "variableNames": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "1908:1:34" - } - ] - } - ] - }, - "pre": { - "nodeType": "YulBlock", - "src": "1888:3:34", - "statements": [] - }, - "src": "1884:218:34" - }, - { - "nodeType": "YulAssignment", - "src": "2111:11:34", - "value": { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "2119:3:34" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "2111:4:34" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_array$_t_address_$dyn_memory_ptr__to_t_array$_t_address_$dyn_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "1567:9:34", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "1578:6:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "1589:4:34", - "type": "" - } - ], - "src": "1447:681:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2348:999:34", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "2395:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2404:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2407:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "2397:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "2397:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "2397:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "2369:7:34" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2378:9:34" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "2365:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "2365:23:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2390:3:34", - "type": "", - "value": "192" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "2361:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "2361:33:34" - }, - "nodeType": "YulIf", - "src": "2358:53:34" - }, - { - "nodeType": "YulAssignment", - "src": "2420:33:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2443:9:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "2430:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "2430:23:34" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "2420:6:34" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "2462:46:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2493:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2504:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2489:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "2489:18:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "2476:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "2476:32:34" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "2466:6:34", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "2517:28:34", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2527:18:34", - "type": "", - "value": "0xffffffffffffffff" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "2521:2:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2572:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2581:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2584:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "2574:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "2574:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "2574:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "2560:6:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "2568:2:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "2557:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "2557:14:34" - }, - "nodeType": "YulIf", - "src": "2554:34:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "2597:84:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2653:9:34" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "2664:6:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2649:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "2649:22:34" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "2673:7:34" - } - ], - "functionName": { - "name": "abi_decode_bytes_calldata", - "nodeType": "YulIdentifier", - "src": "2623:25:34" - }, - "nodeType": "YulFunctionCall", - "src": "2623:58:34" - }, - "variables": [ - { - "name": "value1_1", - "nodeType": "YulTypedName", - "src": "2601:8:34", - "type": "" - }, - { - "name": "value2_1", - "nodeType": "YulTypedName", - "src": "2611:8:34", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "2690:18:34", - "value": { - "name": "value1_1", - "nodeType": "YulIdentifier", - "src": "2700:8:34" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "2690:6:34" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "2717:18:34", - "value": { - "name": "value2_1", - "nodeType": "YulIdentifier", - "src": "2727:8:34" - }, - "variableNames": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "2717:6:34" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "2744:48:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2777:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2788:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2773:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "2773:18:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "2760:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "2760:32:34" - }, - "variables": [ - { - "name": "offset_1", - "nodeType": "YulTypedName", - "src": "2748:8:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2821:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2830:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2833:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "2823:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "2823:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "2823:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset_1", - "nodeType": "YulIdentifier", - "src": "2807:8:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "2817:2:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "2804:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "2804:16:34" - }, - "nodeType": "YulIf", - "src": "2801:36:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "2846:86:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2902:9:34" - }, - { - "name": "offset_1", - "nodeType": "YulIdentifier", - "src": "2913:8:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2898:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "2898:24:34" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "2924:7:34" - } - ], - "functionName": { - "name": "abi_decode_bytes_calldata", - "nodeType": "YulIdentifier", - "src": "2872:25:34" - }, - "nodeType": "YulFunctionCall", - "src": "2872:60:34" - }, - "variables": [ - { - "name": "value3_1", - "nodeType": "YulTypedName", - "src": "2850:8:34", - "type": "" - }, - { - "name": "value4_1", - "nodeType": "YulTypedName", - "src": "2860:8:34", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "2941:18:34", - "value": { - "name": "value3_1", - "nodeType": "YulIdentifier", - "src": "2951:8:34" - }, - "variableNames": [ - { - "name": "value3", - "nodeType": "YulIdentifier", - "src": "2941:6:34" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "2968:18:34", - "value": { - "name": "value4_1", - "nodeType": "YulIdentifier", - "src": "2978:8:34" - }, - "variableNames": [ - { - "name": "value4", - "nodeType": "YulIdentifier", - "src": "2968:6:34" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "2995:42:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3022:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3033:2:34", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3018:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "3018:18:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "3005:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "3005:32:34" - }, - "variableNames": [ - { - "name": "value5", - "nodeType": "YulIdentifier", - "src": "2995:6:34" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "3046:49:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3079:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3090:3:34", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3075:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "3075:19:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "3062:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "3062:33:34" - }, - "variables": [ - { - "name": "offset_2", - "nodeType": "YulTypedName", - "src": "3050:8:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3124:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3133:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3136:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "3126:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "3126:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "3126:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset_2", - "nodeType": "YulIdentifier", - "src": "3110:8:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "3120:2:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "3107:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "3107:16:34" - }, - "nodeType": "YulIf", - "src": "3104:36:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "3149:86:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3205:9:34" - }, - { - "name": "offset_2", - "nodeType": "YulIdentifier", - "src": "3216:8:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3201:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "3201:24:34" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "3227:7:34" - } - ], - "functionName": { - "name": "abi_decode_bytes_calldata", - "nodeType": "YulIdentifier", - "src": "3175:25:34" - }, - "nodeType": "YulFunctionCall", - "src": "3175:60:34" - }, - "variables": [ - { - "name": "value6_1", - "nodeType": "YulTypedName", - "src": "3153:8:34", - "type": "" - }, - { - "name": "value7_1", - "nodeType": "YulTypedName", - "src": "3163:8:34", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "3244:18:34", - "value": { - "name": "value6_1", - "nodeType": "YulIdentifier", - "src": "3254:8:34" - }, - "variableNames": [ - { - "name": "value6", - "nodeType": "YulIdentifier", - "src": "3244:6:34" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "3271:18:34", - "value": { - "name": "value7_1", - "nodeType": "YulIdentifier", - "src": "3281:8:34" - }, - "variableNames": [ - { - "name": "value7", - "nodeType": "YulIdentifier", - "src": "3271:6:34" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "3298:43:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3325:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3336:3:34", - "type": "", - "value": "160" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3321:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "3321:19:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "3308:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "3308:33:34" - }, - "variableNames": [ - { - "name": "value8", - "nodeType": "YulIdentifier", - "src": "3298:6:34" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_bytes32t_string_calldata_ptrt_string_calldata_ptrt_bytes32t_string_calldata_ptrt_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "2250:9:34", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "2261:7:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "2273:6:34", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "2281:6:34", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "2289:6:34", - "type": "" - }, - { - "name": "value3", - "nodeType": "YulTypedName", - "src": "2297:6:34", - "type": "" - }, - { - "name": "value4", - "nodeType": "YulTypedName", - "src": "2305:6:34", - "type": "" - }, - { - "name": "value5", - "nodeType": "YulTypedName", - "src": "2313:6:34", - "type": "" - }, - { - "name": "value6", - "nodeType": "YulTypedName", - "src": "2321:6:34", - "type": "" - }, - { - "name": "value7", - "nodeType": "YulTypedName", - "src": "2329:6:34", - "type": "" - }, - { - "name": "value8", - "nodeType": "YulTypedName", - "src": "2337:6:34", - "type": "" - } - ], - "src": "2133:1214:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3447:92:34", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "3457:26:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3469:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3480:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3465:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "3465:18:34" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "3457:4:34" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3499:9:34" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "3524:6:34" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "3517:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "3517:14:34" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "3510:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "3510:22:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "3492:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "3492:41:34" - }, - "nodeType": "YulExpressionStatement", - "src": "3492:41:34" - } - ] - }, - "name": "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "3416:9:34", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "3427:6:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "3438:4:34", - "type": "" - } - ], - "src": "3352:187:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3707:843:34", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "3753:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3762:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3765:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "3755:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "3755:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "3755:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "3728:7:34" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3737:9:34" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "3724:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "3724:23:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3749:2:34", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "3720:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "3720:32:34" - }, - "nodeType": "YulIf", - "src": "3717:52:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "3778:37:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3805:9:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "3792:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "3792:23:34" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "3782:6:34", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "3824:28:34", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3834:18:34", - "type": "", - "value": "0xffffffffffffffff" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "3828:2:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3879:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3888:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3891:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "3881:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "3881:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "3881:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "3867:6:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "3875:2:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "3864:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "3864:14:34" - }, - "nodeType": "YulIf", - "src": "3861:34:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "3904:84:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3960:9:34" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "3971:6:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3956:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "3956:22:34" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "3980:7:34" - } - ], - "functionName": { - "name": "abi_decode_bytes_calldata", - "nodeType": "YulIdentifier", - "src": "3930:25:34" - }, - "nodeType": "YulFunctionCall", - "src": "3930:58:34" - }, - "variables": [ - { - "name": "value0_1", - "nodeType": "YulTypedName", - "src": "3908:8:34", - "type": "" - }, - { - "name": "value1_1", - "nodeType": "YulTypedName", - "src": "3918:8:34", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "3997:18:34", - "value": { - "name": "value0_1", - "nodeType": "YulIdentifier", - "src": "4007:8:34" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "3997:6:34" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "4024:18:34", - "value": { - "name": "value1_1", - "nodeType": "YulIdentifier", - "src": "4034:8:34" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "4024:6:34" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "4051:48:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4084:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4095:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4080:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "4080:18:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "4067:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "4067:32:34" - }, - "variables": [ - { - "name": "offset_1", - "nodeType": "YulTypedName", - "src": "4055:8:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4128:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4137:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4140:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "4130:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "4130:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "4130:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset_1", - "nodeType": "YulIdentifier", - "src": "4114:8:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "4124:2:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "4111:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "4111:16:34" - }, - "nodeType": "YulIf", - "src": "4108:36:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "4153:86:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4209:9:34" - }, - { - "name": "offset_1", - "nodeType": "YulIdentifier", - "src": "4220:8:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4205:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "4205:24:34" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "4231:7:34" - } - ], - "functionName": { - "name": "abi_decode_bytes_calldata", - "nodeType": "YulIdentifier", - "src": "4179:25:34" - }, - "nodeType": "YulFunctionCall", - "src": "4179:60:34" - }, - "variables": [ - { - "name": "value2_1", - "nodeType": "YulTypedName", - "src": "4157:8:34", - "type": "" - }, - { - "name": "value3_1", - "nodeType": "YulTypedName", - "src": "4167:8:34", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "4248:18:34", - "value": { - "name": "value2_1", - "nodeType": "YulIdentifier", - "src": "4258:8:34" - }, - "variableNames": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "4248:6:34" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "4275:18:34", - "value": { - "name": "value3_1", - "nodeType": "YulIdentifier", - "src": "4285:8:34" - }, - "variableNames": [ - { - "name": "value3", - "nodeType": "YulIdentifier", - "src": "4275:6:34" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "4302:48:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4335:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4346:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4331:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "4331:18:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "4318:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "4318:32:34" - }, - "variables": [ - { - "name": "offset_2", - "nodeType": "YulTypedName", - "src": "4306:8:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4379:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4388:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4391:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "4381:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "4381:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "4381:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset_2", - "nodeType": "YulIdentifier", - "src": "4365:8:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "4375:2:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "4362:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "4362:16:34" - }, - "nodeType": "YulIf", - "src": "4359:36:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "4404:86:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4460:9:34" - }, - { - "name": "offset_2", - "nodeType": "YulIdentifier", - "src": "4471:8:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4456:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "4456:24:34" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "4482:7:34" - } - ], - "functionName": { - "name": "abi_decode_bytes_calldata", - "nodeType": "YulIdentifier", - "src": "4430:25:34" - }, - "nodeType": "YulFunctionCall", - "src": "4430:60:34" - }, - "variables": [ - { - "name": "value4_1", - "nodeType": "YulTypedName", - "src": "4408:8:34", - "type": "" - }, - { - "name": "value5_1", - "nodeType": "YulTypedName", - "src": "4418:8:34", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "4499:18:34", - "value": { - "name": "value4_1", - "nodeType": "YulIdentifier", - "src": "4509:8:34" - }, - "variableNames": [ - { - "name": "value4", - "nodeType": "YulIdentifier", - "src": "4499:6:34" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "4526:18:34", - "value": { - "name": "value5_1", - "nodeType": "YulIdentifier", - "src": "4536:8:34" - }, - "variableNames": [ - { - "name": "value5", - "nodeType": "YulIdentifier", - "src": "4526:6:34" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_string_calldata_ptrt_string_calldata_ptrt_bytes_calldata_ptr", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "3633:9:34", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "3644:7:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "3656:6:34", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "3664:6:34", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "3672:6:34", - "type": "" - }, - { - "name": "value3", - "nodeType": "YulTypedName", - "src": "3680:6:34", - "type": "" - }, - { - "name": "value4", - "nodeType": "YulTypedName", - "src": "3688:6:34", - "type": "" - }, - { - "name": "value5", - "nodeType": "YulTypedName", - "src": "3696:6:34", - "type": "" - } - ], - "src": "3544:1006:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4625:110:34", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "4671:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4680:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4683:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "4673:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "4673:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "4673:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "4646:7:34" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4655:9:34" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "4642:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "4642:23:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4667:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "4638:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "4638:32:34" - }, - "nodeType": "YulIf", - "src": "4635:52:34" - }, - { - "nodeType": "YulAssignment", - "src": "4696:33:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4719:9:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "4706:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "4706:23:34" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "4696:6:34" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_bytes32", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "4591:9:34", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "4602:7:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "4614:6:34", - "type": "" - } - ], - "src": "4555:180:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4841:125:34", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "4851:26:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4863:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4874:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4859:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "4859:18:34" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "4851:4:34" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4893:9:34" - }, - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "4908:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4916:42:34", - "type": "", - "value": "0xffffffffffffffffffffffffffffffffffffffff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "4904:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "4904:55:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "4886:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "4886:74:34" - }, - "nodeType": "YulExpressionStatement", - "src": "4886:74:34" - } - ] - }, - "name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "4810:9:34", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "4821:6:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "4832:4:34", - "type": "" - } - ], - "src": "4740:226:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5003:152:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5020:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5023:77:34", - "type": "", - "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "5013:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "5013:88:34" - }, - "nodeType": "YulExpressionStatement", - "src": "5013:88:34" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5117:1:34", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5120:4:34", - "type": "", - "value": "0x41" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "5110:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "5110:15:34" - }, - "nodeType": "YulExpressionStatement", - "src": "5110:15:34" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5141:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5144:4:34", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "5134:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "5134:15:34" - }, - "nodeType": "YulExpressionStatement", - "src": "5134:15:34" - } - ] - }, - "name": "panic_error_0x41", - "nodeType": "YulFunctionDefinition", - "src": "4971:184:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5205:230:34", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "5215:19:34", - "value": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5231:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "5225:5:34" - }, - "nodeType": "YulFunctionCall", - "src": "5225:9:34" - }, - "variableNames": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "5215:6:34" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "5243:58:34", - "value": { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "5265:6:34" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "size", - "nodeType": "YulIdentifier", - "src": "5281:4:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5287:2:34", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5277:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "5277:13:34" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5296:2:34", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "5292:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "5292:7:34" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "5273:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "5273:27:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5261:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "5261:40:34" - }, - "variables": [ - { - "name": "newFreePtr", - "nodeType": "YulTypedName", - "src": "5247:10:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5376:22:34", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x41", - "nodeType": "YulIdentifier", - "src": "5378:16:34" - }, - "nodeType": "YulFunctionCall", - "src": "5378:18:34" - }, - "nodeType": "YulExpressionStatement", - "src": "5378:18:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "newFreePtr", - "nodeType": "YulIdentifier", - "src": "5319:10:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5331:18:34", - "type": "", - "value": "0xffffffffffffffff" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "5316:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "5316:34:34" - }, - { - "arguments": [ - { - "name": "newFreePtr", - "nodeType": "YulIdentifier", - "src": "5355:10:34" - }, - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "5367:6:34" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "5352:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "5352:22:34" - } - ], - "functionName": { - "name": "or", - "nodeType": "YulIdentifier", - "src": "5313:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "5313:62:34" - }, - "nodeType": "YulIf", - "src": "5310:88:34" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5414:2:34", - "type": "", - "value": "64" - }, - { - "name": "newFreePtr", - "nodeType": "YulIdentifier", - "src": "5418:10:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "5407:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "5407:22:34" - }, - "nodeType": "YulExpressionStatement", - "src": "5407:22:34" - } - ] - }, - "name": "allocate_memory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "size", - "nodeType": "YulTypedName", - "src": "5185:4:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "memPtr", - "nodeType": "YulTypedName", - "src": "5194:6:34", - "type": "" - } - ], - "src": "5160:275:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5498:129:34", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "5542:22:34", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x41", - "nodeType": "YulIdentifier", - "src": "5544:16:34" - }, - "nodeType": "YulFunctionCall", - "src": "5544:18:34" - }, - "nodeType": "YulExpressionStatement", - "src": "5544:18:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "5514:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5522:18:34", - "type": "", - "value": "0xffffffffffffffff" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "5511:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "5511:30:34" - }, - "nodeType": "YulIf", - "src": "5508:56:34" - }, - { - "nodeType": "YulAssignment", - "src": "5573:48:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "5593:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5601:2:34", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5589:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "5589:15:34" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5610:2:34", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "5606:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "5606:7:34" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "5585:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "5585:29:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5616:4:34", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5581:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "5581:40:34" - }, - "variableNames": [ - { - "name": "size", - "nodeType": "YulIdentifier", - "src": "5573:4:34" - } - ] - } - ] - }, - "name": "array_allocation_size_string", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "5478:6:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "size", - "nodeType": "YulTypedName", - "src": "5489:4:34", - "type": "" - } - ], - "src": "5440:187:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5685:411:34", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "5734:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5743:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5746:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "5736:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "5736:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "5736:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "5713:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5721:4:34", - "type": "", - "value": "0x1f" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5709:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "5709:17:34" - }, - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "5728:3:34" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "5705:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "5705:27:34" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "5698:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "5698:35:34" - }, - "nodeType": "YulIf", - "src": "5695:55:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "5759:30:34", - "value": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "5782:6:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "5769:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "5769:20:34" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "5763:2:34", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "5798:64:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "5858:2:34" - } - ], - "functionName": { - "name": "array_allocation_size_string", - "nodeType": "YulIdentifier", - "src": "5829:28:34" - }, - "nodeType": "YulFunctionCall", - "src": "5829:32:34" - } - ], - "functionName": { - "name": "allocate_memory", - "nodeType": "YulIdentifier", - "src": "5813:15:34" - }, - "nodeType": "YulFunctionCall", - "src": "5813:49:34" - }, - "variables": [ - { - "name": "array_1", - "nodeType": "YulTypedName", - "src": "5802:7:34", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "array_1", - "nodeType": "YulIdentifier", - "src": "5878:7:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "5887:2:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "5871:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "5871:19:34" - }, - "nodeType": "YulExpressionStatement", - "src": "5871:19:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5938:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5947:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5950:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "5940:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "5940:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "5940:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "5913:6:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "5921:2:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5909:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "5909:15:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5926:4:34", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5905:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "5905:26:34" - }, - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "5933:3:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "5902:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "5902:35:34" - }, - "nodeType": "YulIf", - "src": "5899:55:34" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "array_1", - "nodeType": "YulIdentifier", - "src": "5980:7:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5989:4:34", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5976:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "5976:18:34" - }, - { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "6000:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6008:4:34", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5996:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "5996:17:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "6015:2:34" - } - ], - "functionName": { - "name": "calldatacopy", - "nodeType": "YulIdentifier", - "src": "5963:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "5963:55:34" - }, - "nodeType": "YulExpressionStatement", - "src": "5963:55:34" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "array_1", - "nodeType": "YulIdentifier", - "src": "6042:7:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "6051:2:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6038:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "6038:16:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6056:4:34", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6034:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "6034:27:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6063:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "6027:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "6027:38:34" - }, - "nodeType": "YulExpressionStatement", - "src": "6027:38:34" - }, - { - "nodeType": "YulAssignment", - "src": "6074:16:34", - "value": { - "name": "array_1", - "nodeType": "YulIdentifier", - "src": "6083:7:34" - }, - "variableNames": [ - { - "name": "array", - "nodeType": "YulIdentifier", - "src": "6074:5:34" - } - ] - } - ] - }, - "name": "abi_decode_string", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "5659:6:34", - "type": "" - }, - { - "name": "end", - "nodeType": "YulTypedName", - "src": "5667:3:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "array", - "nodeType": "YulTypedName", - "src": "5675:5:34", - "type": "" - } - ], - "src": "5632:464:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "6181:242:34", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "6227:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6236:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6239:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "6229:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "6229:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "6229:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "6202:7:34" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6211:9:34" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "6198:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "6198:23:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6223:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "6194:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "6194:32:34" - }, - "nodeType": "YulIf", - "src": "6191:52:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "6252:37:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6279:9:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "6266:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "6266:23:34" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "6256:6:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "6332:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6341:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6344:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "6334:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "6334:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "6334:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "6304:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6312:18:34", - "type": "", - "value": "0xffffffffffffffff" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "6301:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "6301:30:34" - }, - "nodeType": "YulIf", - "src": "6298:50:34" - }, - { - "nodeType": "YulAssignment", - "src": "6357:60:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6389:9:34" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "6400:6:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6385:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "6385:22:34" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "6409:7:34" - } - ], - "functionName": { - "name": "abi_decode_string", - "nodeType": "YulIdentifier", - "src": "6367:17:34" - }, - "nodeType": "YulFunctionCall", - "src": "6367:50:34" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "6357:6:34" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_string_memory_ptr", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "6147:9:34", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "6158:7:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "6170:6:34", - "type": "" - } - ], - "src": "6101:322:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "6529:76:34", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "6539:26:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6551:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6562:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6547:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "6547:18:34" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "6539:4:34" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6581:9:34" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "6592:6:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "6574:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "6574:25:34" - }, - "nodeType": "YulExpressionStatement", - "src": "6574:25:34" - } - ] - }, - "name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "6498:9:34", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "6509:6:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "6520:4:34", - "type": "" - } - ], - "src": "6428:177:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "6791:895:34", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "6838:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6847:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6850:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "6840:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "6840:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "6840:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "6812:7:34" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6821:9:34" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "6808:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "6808:23:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6833:3:34", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "6804:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "6804:33:34" - }, - "nodeType": "YulIf", - "src": "6801:53:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "6863:37:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6890:9:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "6877:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "6877:23:34" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "6867:6:34", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "6909:28:34", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6919:18:34", - "type": "", - "value": "0xffffffffffffffff" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "6913:2:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "6964:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6973:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6976:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "6966:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "6966:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "6966:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "6952:6:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "6960:2:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "6949:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "6949:14:34" - }, - "nodeType": "YulIf", - "src": "6946:34:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "6989:84:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7045:9:34" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "7056:6:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7041:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "7041:22:34" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "7065:7:34" - } - ], - "functionName": { - "name": "abi_decode_bytes_calldata", - "nodeType": "YulIdentifier", - "src": "7015:25:34" - }, - "nodeType": "YulFunctionCall", - "src": "7015:58:34" - }, - "variables": [ - { - "name": "value0_1", - "nodeType": "YulTypedName", - "src": "6993:8:34", - "type": "" - }, - { - "name": "value1_1", - "nodeType": "YulTypedName", - "src": "7003:8:34", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "7082:18:34", - "value": { - "name": "value0_1", - "nodeType": "YulIdentifier", - "src": "7092:8:34" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "7082:6:34" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "7109:18:34", - "value": { - "name": "value1_1", - "nodeType": "YulIdentifier", - "src": "7119:8:34" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "7109:6:34" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "7136:48:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7169:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7180:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7165:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "7165:18:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "7152:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "7152:32:34" - }, - "variables": [ - { - "name": "offset_1", - "nodeType": "YulTypedName", - "src": "7140:8:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "7213:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7222:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7225:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "7215:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "7215:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "7215:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset_1", - "nodeType": "YulIdentifier", - "src": "7199:8:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "7209:2:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "7196:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "7196:16:34" - }, - "nodeType": "YulIf", - "src": "7193:36:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "7238:86:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7294:9:34" - }, - { - "name": "offset_1", - "nodeType": "YulIdentifier", - "src": "7305:8:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7290:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "7290:24:34" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "7316:7:34" - } - ], - "functionName": { - "name": "abi_decode_bytes_calldata", - "nodeType": "YulIdentifier", - "src": "7264:25:34" - }, - "nodeType": "YulFunctionCall", - "src": "7264:60:34" - }, - "variables": [ - { - "name": "value2_1", - "nodeType": "YulTypedName", - "src": "7242:8:34", - "type": "" - }, - { - "name": "value3_1", - "nodeType": "YulTypedName", - "src": "7252:8:34", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "7333:18:34", - "value": { - "name": "value2_1", - "nodeType": "YulIdentifier", - "src": "7343:8:34" - }, - "variableNames": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "7333:6:34" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "7360:18:34", - "value": { - "name": "value3_1", - "nodeType": "YulIdentifier", - "src": "7370:8:34" - }, - "variableNames": [ - { - "name": "value3", - "nodeType": "YulIdentifier", - "src": "7360:6:34" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "7387:48:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7420:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7431:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7416:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "7416:18:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "7403:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "7403:32:34" - }, - "variables": [ - { - "name": "offset_2", - "nodeType": "YulTypedName", - "src": "7391:8:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "7464:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7473:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7476:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "7466:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "7466:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "7466:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset_2", - "nodeType": "YulIdentifier", - "src": "7450:8:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "7460:2:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "7447:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "7447:16:34" - }, - "nodeType": "YulIf", - "src": "7444:36:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "7489:86:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7545:9:34" - }, - { - "name": "offset_2", - "nodeType": "YulIdentifier", - "src": "7556:8:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7541:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "7541:24:34" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "7567:7:34" - } - ], - "functionName": { - "name": "abi_decode_bytes_calldata", - "nodeType": "YulIdentifier", - "src": "7515:25:34" - }, - "nodeType": "YulFunctionCall", - "src": "7515:60:34" - }, - "variables": [ - { - "name": "value4_1", - "nodeType": "YulTypedName", - "src": "7493:8:34", - "type": "" - }, - { - "name": "value5_1", - "nodeType": "YulTypedName", - "src": "7503:8:34", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "7584:18:34", - "value": { - "name": "value4_1", - "nodeType": "YulIdentifier", - "src": "7594:8:34" - }, - "variableNames": [ - { - "name": "value4", - "nodeType": "YulIdentifier", - "src": "7584:6:34" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "7611:18:34", - "value": { - "name": "value5_1", - "nodeType": "YulIdentifier", - "src": "7621:8:34" - }, - "variableNames": [ - { - "name": "value5", - "nodeType": "YulIdentifier", - "src": "7611:6:34" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "7638:42:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7665:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7676:2:34", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7661:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "7661:18:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "7648:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "7648:32:34" - }, - "variableNames": [ - { - "name": "value6", - "nodeType": "YulIdentifier", - "src": "7638:6:34" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_string_calldata_ptrt_string_calldata_ptrt_string_calldata_ptrt_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "6709:9:34", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "6720:7:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "6732:6:34", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "6740:6:34", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "6748:6:34", - "type": "" - }, - { - "name": "value3", - "nodeType": "YulTypedName", - "src": "6756:6:34", - "type": "" - }, - { - "name": "value4", - "nodeType": "YulTypedName", - "src": "6764:6:34", - "type": "" - }, - { - "name": "value5", - "nodeType": "YulTypedName", - "src": "6772:6:34", - "type": "" - }, - { - "name": "value6", - "nodeType": "YulTypedName", - "src": "6780:6:34", - "type": "" - } - ], - "src": "6610:1076:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "7852:695:34", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "7899:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7908:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7911:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "7901:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "7901:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "7901:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "7873:7:34" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7882:9:34" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "7869:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "7869:23:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7894:3:34", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "7865:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "7865:33:34" - }, - "nodeType": "YulIf", - "src": "7862:53:34" - }, - { - "nodeType": "YulAssignment", - "src": "7924:33:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7947:9:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "7934:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "7934:23:34" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "7924:6:34" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "7966:46:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7997:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8008:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7993:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "7993:18:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "7980:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "7980:32:34" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "7970:6:34", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "8021:28:34", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8031:18:34", - "type": "", - "value": "0xffffffffffffffff" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "8025:2:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "8076:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8085:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8088:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "8078:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "8078:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "8078:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "8064:6:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "8072:2:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "8061:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "8061:14:34" - }, - "nodeType": "YulIf", - "src": "8058:34:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "8101:84:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "8157:9:34" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "8168:6:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8153:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "8153:22:34" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "8177:7:34" - } - ], - "functionName": { - "name": "abi_decode_bytes_calldata", - "nodeType": "YulIdentifier", - "src": "8127:25:34" - }, - "nodeType": "YulFunctionCall", - "src": "8127:58:34" - }, - "variables": [ - { - "name": "value1_1", - "nodeType": "YulTypedName", - "src": "8105:8:34", - "type": "" - }, - { - "name": "value2_1", - "nodeType": "YulTypedName", - "src": "8115:8:34", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "8194:18:34", - "value": { - "name": "value1_1", - "nodeType": "YulIdentifier", - "src": "8204:8:34" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "8194:6:34" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "8221:18:34", - "value": { - "name": "value2_1", - "nodeType": "YulIdentifier", - "src": "8231:8:34" - }, - "variableNames": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "8221:6:34" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "8248:48:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "8281:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8292:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8277:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "8277:18:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "8264:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "8264:32:34" - }, - "variables": [ - { - "name": "offset_1", - "nodeType": "YulTypedName", - "src": "8252:8:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "8325:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8334:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8337:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "8327:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "8327:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "8327:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset_1", - "nodeType": "YulIdentifier", - "src": "8311:8:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "8321:2:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "8308:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "8308:16:34" - }, - "nodeType": "YulIf", - "src": "8305:36:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "8350:86:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "8406:9:34" - }, - { - "name": "offset_1", - "nodeType": "YulIdentifier", - "src": "8417:8:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8402:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "8402:24:34" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "8428:7:34" - } - ], - "functionName": { - "name": "abi_decode_bytes_calldata", - "nodeType": "YulIdentifier", - "src": "8376:25:34" - }, - "nodeType": "YulFunctionCall", - "src": "8376:60:34" - }, - "variables": [ - { - "name": "value3_1", - "nodeType": "YulTypedName", - "src": "8354:8:34", - "type": "" - }, - { - "name": "value4_1", - "nodeType": "YulTypedName", - "src": "8364:8:34", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "8445:18:34", - "value": { - "name": "value3_1", - "nodeType": "YulIdentifier", - "src": "8455:8:34" - }, - "variableNames": [ - { - "name": "value3", - "nodeType": "YulIdentifier", - "src": "8445:6:34" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "8472:18:34", - "value": { - "name": "value4_1", - "nodeType": "YulIdentifier", - "src": "8482:8:34" - }, - "variableNames": [ - { - "name": "value4", - "nodeType": "YulIdentifier", - "src": "8472:6:34" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "8499:42:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "8526:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8537:2:34", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8522:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "8522:18:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "8509:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "8509:32:34" - }, - "variableNames": [ - { - "name": "value5", - "nodeType": "YulIdentifier", - "src": "8499:6:34" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_bytes32t_string_calldata_ptrt_string_calldata_ptrt_bytes32", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "7778:9:34", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "7789:7:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "7801:6:34", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "7809:6:34", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "7817:6:34", - "type": "" - }, - { - "name": "value3", - "nodeType": "YulTypedName", - "src": "7825:6:34", - "type": "" - }, - { - "name": "value4", - "nodeType": "YulTypedName", - "src": "7833:6:34", - "type": "" - }, - { - "name": "value5", - "nodeType": "YulTypedName", - "src": "7841:6:34", - "type": "" - } - ], - "src": "7691:856:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "8605:205:34", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "8615:10:34", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8624:1:34", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "i", - "nodeType": "YulTypedName", - "src": "8619:1:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "8684:63:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "8709:3:34" - }, - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "8714:1:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8705:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "8705:11:34" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "8728:3:34" - }, - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "8733:1:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8724:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "8724:11:34" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "8718:5:34" - }, - "nodeType": "YulFunctionCall", - "src": "8718:18:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "8698:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "8698:39:34" - }, - "nodeType": "YulExpressionStatement", - "src": "8698:39:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "8645:1:34" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "8648:6:34" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "8642:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "8642:13:34" - }, - "nodeType": "YulForLoop", - "post": { - "nodeType": "YulBlock", - "src": "8656:19:34", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "8658:15:34", - "value": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "8667:1:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8670:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8663:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "8663:10:34" - }, - "variableNames": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "8658:1:34" - } - ] - } - ] - }, - "pre": { - "nodeType": "YulBlock", - "src": "8638:3:34", - "statements": [] - }, - "src": "8634:113:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "8773:31:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "8786:3:34" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "8791:6:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8782:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "8782:16:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8800:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "8775:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "8775:27:34" - }, - "nodeType": "YulExpressionStatement", - "src": "8775:27:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "8762:1:34" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "8765:6:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "8759:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "8759:13:34" - }, - "nodeType": "YulIf", - "src": "8756:48:34" - } - ] - }, - "name": "copy_memory_to_memory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "src", - "nodeType": "YulTypedName", - "src": "8583:3:34", - "type": "" - }, - { - "name": "dst", - "nodeType": "YulTypedName", - "src": "8588:3:34", - "type": "" - }, - { - "name": "length", - "nodeType": "YulTypedName", - "src": "8593:6:34", - "type": "" - } - ], - "src": "8552:258:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "8865:208:34", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "8875:26:34", - "value": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "8895:5:34" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "8889:5:34" - }, - "nodeType": "YulFunctionCall", - "src": "8889:12:34" - }, - "variables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "8879:6:34", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "8917:3:34" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "8922:6:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "8910:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "8910:19:34" - }, - "nodeType": "YulExpressionStatement", - "src": "8910:19:34" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "8964:5:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8971:4:34", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8960:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "8960:16:34" - }, - { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "8982:3:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8987:4:34", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8978:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "8978:14:34" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "8994:6:34" - } - ], - "functionName": { - "name": "copy_memory_to_memory", - "nodeType": "YulIdentifier", - "src": "8938:21:34" - }, - "nodeType": "YulFunctionCall", - "src": "8938:63:34" - }, - "nodeType": "YulExpressionStatement", - "src": "8938:63:34" - }, - { - "nodeType": "YulAssignment", - "src": "9010:57:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "9025:3:34" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "9038:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9046:2:34", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9034:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "9034:15:34" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9055:2:34", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "9051:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "9051:7:34" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "9030:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "9030:29:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9021:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "9021:39:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9062:4:34", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9017:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "9017:50:34" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "9010:3:34" - } - ] - } - ] - }, - "name": "abi_encode_string", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "8842:5:34", - "type": "" - }, - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "8849:3:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "8857:3:34", - "type": "" - } - ], - "src": "8815:258:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "9199:99:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9216:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9227:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "9209:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "9209:21:34" - }, - "nodeType": "YulExpressionStatement", - "src": "9209:21:34" - }, - { - "nodeType": "YulAssignment", - "src": "9239:53:34", - "value": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "9265:6:34" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9277:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9288:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9273:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "9273:18:34" - } - ], - "functionName": { - "name": "abi_encode_string", - "nodeType": "YulIdentifier", - "src": "9247:17:34" - }, - "nodeType": "YulFunctionCall", - "src": "9247:45:34" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "9239:4:34" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "9168:9:34", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "9179:6:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "9190:4:34", - "type": "" - } - ], - "src": "9078:220:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "9348:109:34", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "9435:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9444:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9447:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "9437:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "9437:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "9437:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "9371:5:34" - }, - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "9382:5:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9389:42:34", - "type": "", - "value": "0xffffffffffffffffffffffffffffffffffffffff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "9378:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "9378:54:34" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "9368:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "9368:65:34" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "9361:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "9361:73:34" - }, - "nodeType": "YulIf", - "src": "9358:93:34" - } - ] - }, - "name": "validator_revert_address", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "9337:5:34", - "type": "" - } - ], - "src": "9303:154:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "9585:489:34", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "9631:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9640:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9643:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "9633:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "9633:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "9633:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "9606:7:34" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9615:9:34" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "9602:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "9602:23:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9627:2:34", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "9598:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "9598:32:34" - }, - "nodeType": "YulIf", - "src": "9595:52:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "9656:36:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9682:9:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "9669:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "9669:23:34" - }, - "variables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "9660:5:34", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "9726:5:34" - } - ], - "functionName": { - "name": "validator_revert_address", - "nodeType": "YulIdentifier", - "src": "9701:24:34" - }, - "nodeType": "YulFunctionCall", - "src": "9701:31:34" - }, - "nodeType": "YulExpressionStatement", - "src": "9701:31:34" - }, - { - "nodeType": "YulAssignment", - "src": "9741:15:34", - "value": { - "name": "value", - "nodeType": "YulIdentifier", - "src": "9751:5:34" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "9741:6:34" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "9765:42:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9792:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9803:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9788:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "9788:18:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "9775:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "9775:32:34" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "9765:6:34" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "9816:46:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9847:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9858:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9843:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "9843:18:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "9830:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "9830:32:34" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "9820:6:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "9905:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9914:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9917:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "9907:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "9907:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "9907:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "9877:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9885:18:34", - "type": "", - "value": "0xffffffffffffffff" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "9874:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "9874:30:34" - }, - "nodeType": "YulIf", - "src": "9871:50:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "9930:84:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9986:9:34" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "9997:6:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9982:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "9982:22:34" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "10006:7:34" - } - ], - "functionName": { - "name": "abi_decode_bytes_calldata", - "nodeType": "YulIdentifier", - "src": "9956:25:34" - }, - "nodeType": "YulFunctionCall", - "src": "9956:58:34" - }, - "variables": [ - { - "name": "value2_1", - "nodeType": "YulTypedName", - "src": "9934:8:34", - "type": "" - }, - { - "name": "value3_1", - "nodeType": "YulTypedName", - "src": "9944:8:34", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "10023:18:34", - "value": { - "name": "value2_1", - "nodeType": "YulIdentifier", - "src": "10033:8:34" - }, - "variableNames": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "10023:6:34" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "10050:18:34", - "value": { - "name": "value3_1", - "nodeType": "YulIdentifier", - "src": "10060:8:34" - }, - "variableNames": [ - { - "name": "value3", - "nodeType": "YulIdentifier", - "src": "10050:6:34" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_addresst_bytes32t_bytes_calldata_ptr", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "9527:9:34", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "9538:7:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "9550:6:34", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "9558:6:34", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "9566:6:34", - "type": "" - }, - { - "name": "value3", - "nodeType": "YulTypedName", - "src": "9574:6:34", - "type": "" - } - ], - "src": "9462:612:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "10296:1147:34", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "10343:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10352:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10355:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "10345:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "10345:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "10345:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "10317:7:34" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "10326:9:34" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "10313:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "10313:23:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10338:3:34", - "type": "", - "value": "160" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "10309:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "10309:33:34" - }, - "nodeType": "YulIf", - "src": "10306:53:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "10368:37:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "10395:9:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "10382:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "10382:23:34" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "10372:6:34", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "10414:28:34", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10424:18:34", - "type": "", - "value": "0xffffffffffffffff" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "10418:2:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "10469:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10478:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10481:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "10471:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "10471:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "10471:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "10457:6:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "10465:2:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "10454:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "10454:14:34" - }, - "nodeType": "YulIf", - "src": "10451:34:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "10494:84:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "10550:9:34" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "10561:6:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "10546:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "10546:22:34" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "10570:7:34" - } - ], - "functionName": { - "name": "abi_decode_bytes_calldata", - "nodeType": "YulIdentifier", - "src": "10520:25:34" - }, - "nodeType": "YulFunctionCall", - "src": "10520:58:34" - }, - "variables": [ - { - "name": "value0_1", - "nodeType": "YulTypedName", - "src": "10498:8:34", - "type": "" - }, - { - "name": "value1_1", - "nodeType": "YulTypedName", - "src": "10508:8:34", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "10587:18:34", - "value": { - "name": "value0_1", - "nodeType": "YulIdentifier", - "src": "10597:8:34" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "10587:6:34" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "10614:18:34", - "value": { - "name": "value1_1", - "nodeType": "YulIdentifier", - "src": "10624:8:34" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "10614:6:34" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "10641:48:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "10674:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10685:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "10670:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "10670:18:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "10657:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "10657:32:34" - }, - "variables": [ - { - "name": "offset_1", - "nodeType": "YulTypedName", - "src": "10645:8:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "10718:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10727:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10730:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "10720:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "10720:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "10720:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset_1", - "nodeType": "YulIdentifier", - "src": "10704:8:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "10714:2:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "10701:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "10701:16:34" - }, - "nodeType": "YulIf", - "src": "10698:36:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "10743:86:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "10799:9:34" - }, - { - "name": "offset_1", - "nodeType": "YulIdentifier", - "src": "10810:8:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "10795:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "10795:24:34" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "10821:7:34" - } - ], - "functionName": { - "name": "abi_decode_bytes_calldata", - "nodeType": "YulIdentifier", - "src": "10769:25:34" - }, - "nodeType": "YulFunctionCall", - "src": "10769:60:34" - }, - "variables": [ - { - "name": "value2_1", - "nodeType": "YulTypedName", - "src": "10747:8:34", - "type": "" - }, - { - "name": "value3_1", - "nodeType": "YulTypedName", - "src": "10757:8:34", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "10838:18:34", - "value": { - "name": "value2_1", - "nodeType": "YulIdentifier", - "src": "10848:8:34" - }, - "variableNames": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "10838:6:34" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "10865:18:34", - "value": { - "name": "value3_1", - "nodeType": "YulIdentifier", - "src": "10875:8:34" - }, - "variableNames": [ - { - "name": "value3", - "nodeType": "YulIdentifier", - "src": "10865:6:34" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "10892:48:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "10925:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10936:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "10921:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "10921:18:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "10908:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "10908:32:34" - }, - "variables": [ - { - "name": "offset_2", - "nodeType": "YulTypedName", - "src": "10896:8:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "10969:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10978:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10981:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "10971:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "10971:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "10971:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset_2", - "nodeType": "YulIdentifier", - "src": "10955:8:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "10965:2:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "10952:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "10952:16:34" - }, - "nodeType": "YulIf", - "src": "10949:36:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "10994:86:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "11050:9:34" - }, - { - "name": "offset_2", - "nodeType": "YulIdentifier", - "src": "11061:8:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "11046:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "11046:24:34" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "11072:7:34" - } - ], - "functionName": { - "name": "abi_decode_bytes_calldata", - "nodeType": "YulIdentifier", - "src": "11020:25:34" - }, - "nodeType": "YulFunctionCall", - "src": "11020:60:34" - }, - "variables": [ - { - "name": "value4_1", - "nodeType": "YulTypedName", - "src": "10998:8:34", - "type": "" - }, - { - "name": "value5_1", - "nodeType": "YulTypedName", - "src": "11008:8:34", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "11089:18:34", - "value": { - "name": "value4_1", - "nodeType": "YulIdentifier", - "src": "11099:8:34" - }, - "variableNames": [ - { - "name": "value4", - "nodeType": "YulIdentifier", - "src": "11089:6:34" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "11116:18:34", - "value": { - "name": "value5_1", - "nodeType": "YulIdentifier", - "src": "11126:8:34" - }, - "variableNames": [ - { - "name": "value5", - "nodeType": "YulIdentifier", - "src": "11116:6:34" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "11143:48:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "11176:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11187:2:34", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "11172:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "11172:18:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "11159:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "11159:32:34" - }, - "variables": [ - { - "name": "offset_3", - "nodeType": "YulTypedName", - "src": "11147:8:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "11220:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11229:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11232:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "11222:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "11222:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "11222:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset_3", - "nodeType": "YulIdentifier", - "src": "11206:8:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "11216:2:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "11203:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "11203:16:34" - }, - "nodeType": "YulIf", - "src": "11200:36:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "11245:86:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "11301:9:34" - }, - { - "name": "offset_3", - "nodeType": "YulIdentifier", - "src": "11312:8:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "11297:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "11297:24:34" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "11323:7:34" - } - ], - "functionName": { - "name": "abi_decode_bytes_calldata", - "nodeType": "YulIdentifier", - "src": "11271:25:34" - }, - "nodeType": "YulFunctionCall", - "src": "11271:60:34" - }, - "variables": [ - { - "name": "value6_1", - "nodeType": "YulTypedName", - "src": "11249:8:34", - "type": "" - }, - { - "name": "value7_1", - "nodeType": "YulTypedName", - "src": "11259:8:34", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "11340:18:34", - "value": { - "name": "value6_1", - "nodeType": "YulIdentifier", - "src": "11350:8:34" - }, - "variableNames": [ - { - "name": "value6", - "nodeType": "YulIdentifier", - "src": "11340:6:34" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "11367:18:34", - "value": { - "name": "value7_1", - "nodeType": "YulIdentifier", - "src": "11377:8:34" - }, - "variableNames": [ - { - "name": "value7", - "nodeType": "YulIdentifier", - "src": "11367:6:34" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "11394:43:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "11421:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11432:3:34", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "11417:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "11417:19:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "11404:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "11404:33:34" - }, - "variableNames": [ - { - "name": "value8", - "nodeType": "YulIdentifier", - "src": "11394:6:34" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_string_calldata_ptrt_string_calldata_ptrt_bytes_calldata_ptrt_string_calldata_ptrt_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "10198:9:34", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "10209:7:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "10221:6:34", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "10229:6:34", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "10237:6:34", - "type": "" - }, - { - "name": "value3", - "nodeType": "YulTypedName", - "src": "10245:6:34", - "type": "" - }, - { - "name": "value4", - "nodeType": "YulTypedName", - "src": "10253:6:34", - "type": "" - }, - { - "name": "value5", - "nodeType": "YulTypedName", - "src": "10261:6:34", - "type": "" - }, - { - "name": "value6", - "nodeType": "YulTypedName", - "src": "10269:6:34", - "type": "" - }, - { - "name": "value7", - "nodeType": "YulTypedName", - "src": "10277:6:34", - "type": "" - }, - { - "name": "value8", - "nodeType": "YulTypedName", - "src": "10285:6:34", - "type": "" - } - ], - "src": "10079:1364:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "11680:1118:34", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "11727:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11736:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11739:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "11729:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "11729:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "11729:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "11701:7:34" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "11710:9:34" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "11697:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "11697:23:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11722:3:34", - "type": "", - "value": "224" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "11693:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "11693:33:34" - }, - "nodeType": "YulIf", - "src": "11690:53:34" - }, - { - "nodeType": "YulAssignment", - "src": "11752:33:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "11775:9:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "11762:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "11762:23:34" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "11752:6:34" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "11794:46:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "11825:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11836:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "11821:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "11821:18:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "11808:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "11808:32:34" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "11798:6:34", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "11849:28:34", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11859:18:34", - "type": "", - "value": "0xffffffffffffffff" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "11853:2:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "11904:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11913:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11916:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "11906:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "11906:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "11906:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "11892:6:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "11900:2:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "11889:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "11889:14:34" - }, - "nodeType": "YulIf", - "src": "11886:34:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "11929:84:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "11985:9:34" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "11996:6:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "11981:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "11981:22:34" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "12005:7:34" - } - ], - "functionName": { - "name": "abi_decode_bytes_calldata", - "nodeType": "YulIdentifier", - "src": "11955:25:34" - }, - "nodeType": "YulFunctionCall", - "src": "11955:58:34" - }, - "variables": [ - { - "name": "value1_1", - "nodeType": "YulTypedName", - "src": "11933:8:34", - "type": "" - }, - { - "name": "value2_1", - "nodeType": "YulTypedName", - "src": "11943:8:34", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "12022:18:34", - "value": { - "name": "value1_1", - "nodeType": "YulIdentifier", - "src": "12032:8:34" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "12022:6:34" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "12049:18:34", - "value": { - "name": "value2_1", - "nodeType": "YulIdentifier", - "src": "12059:8:34" - }, - "variableNames": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "12049:6:34" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "12076:48:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "12109:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12120:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "12105:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "12105:18:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "12092:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "12092:32:34" - }, - "variables": [ - { - "name": "offset_1", - "nodeType": "YulTypedName", - "src": "12080:8:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "12153:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12162:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12165:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "12155:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "12155:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "12155:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset_1", - "nodeType": "YulIdentifier", - "src": "12139:8:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "12149:2:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "12136:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "12136:16:34" - }, - "nodeType": "YulIf", - "src": "12133:36:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "12178:86:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "12234:9:34" - }, - { - "name": "offset_1", - "nodeType": "YulIdentifier", - "src": "12245:8:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "12230:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "12230:24:34" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "12256:7:34" - } - ], - "functionName": { - "name": "abi_decode_bytes_calldata", - "nodeType": "YulIdentifier", - "src": "12204:25:34" - }, - "nodeType": "YulFunctionCall", - "src": "12204:60:34" - }, - "variables": [ - { - "name": "value3_1", - "nodeType": "YulTypedName", - "src": "12182:8:34", - "type": "" - }, - { - "name": "value4_1", - "nodeType": "YulTypedName", - "src": "12192:8:34", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "12273:18:34", - "value": { - "name": "value3_1", - "nodeType": "YulIdentifier", - "src": "12283:8:34" - }, - "variableNames": [ - { - "name": "value3", - "nodeType": "YulIdentifier", - "src": "12273:6:34" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "12300:18:34", - "value": { - "name": "value4_1", - "nodeType": "YulIdentifier", - "src": "12310:8:34" - }, - "variableNames": [ - { - "name": "value4", - "nodeType": "YulIdentifier", - "src": "12300:6:34" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "12327:45:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "12357:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12368:2:34", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "12353:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "12353:18:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "12340:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "12340:32:34" - }, - "variables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "12331:5:34", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "12406:5:34" - } - ], - "functionName": { - "name": "validator_revert_address", - "nodeType": "YulIdentifier", - "src": "12381:24:34" - }, - "nodeType": "YulFunctionCall", - "src": "12381:31:34" - }, - "nodeType": "YulExpressionStatement", - "src": "12381:31:34" - }, - { - "nodeType": "YulAssignment", - "src": "12421:15:34", - "value": { - "name": "value", - "nodeType": "YulIdentifier", - "src": "12431:5:34" - }, - "variableNames": [ - { - "name": "value5", - "nodeType": "YulIdentifier", - "src": "12421:6:34" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "12445:43:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "12472:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12483:3:34", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "12468:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "12468:19:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "12455:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "12455:33:34" - }, - "variableNames": [ - { - "name": "value6", - "nodeType": "YulIdentifier", - "src": "12445:6:34" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "12497:49:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "12530:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12541:3:34", - "type": "", - "value": "160" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "12526:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "12526:19:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "12513:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "12513:33:34" - }, - "variables": [ - { - "name": "offset_2", - "nodeType": "YulTypedName", - "src": "12501:8:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "12575:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12584:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12587:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "12577:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "12577:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "12577:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset_2", - "nodeType": "YulIdentifier", - "src": "12561:8:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "12571:2:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "12558:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "12558:16:34" - }, - "nodeType": "YulIf", - "src": "12555:36:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "12600:86:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "12656:9:34" - }, - { - "name": "offset_2", - "nodeType": "YulIdentifier", - "src": "12667:8:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "12652:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "12652:24:34" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "12678:7:34" - } - ], - "functionName": { - "name": "abi_decode_bytes_calldata", - "nodeType": "YulIdentifier", - "src": "12626:25:34" - }, - "nodeType": "YulFunctionCall", - "src": "12626:60:34" - }, - "variables": [ - { - "name": "value7_1", - "nodeType": "YulTypedName", - "src": "12604:8:34", - "type": "" - }, - { - "name": "value8_1", - "nodeType": "YulTypedName", - "src": "12614:8:34", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "12695:18:34", - "value": { - "name": "value7_1", - "nodeType": "YulIdentifier", - "src": "12705:8:34" - }, - "variableNames": [ - { - "name": "value7", - "nodeType": "YulIdentifier", - "src": "12695:6:34" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "12722:18:34", - "value": { - "name": "value8_1", - "nodeType": "YulIdentifier", - "src": "12732:8:34" - }, - "variableNames": [ - { - "name": "value8", - "nodeType": "YulIdentifier", - "src": "12722:6:34" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "12749:43:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "12776:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12787:3:34", - "type": "", - "value": "192" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "12772:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "12772:19:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "12759:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "12759:33:34" - }, - "variableNames": [ - { - "name": "value9", - "nodeType": "YulIdentifier", - "src": "12749:6:34" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_bytes32t_string_calldata_ptrt_string_calldata_ptrt_addresst_bytes32t_string_calldata_ptrt_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "11574:9:34", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "11585:7:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "11597:6:34", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "11605:6:34", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "11613:6:34", - "type": "" - }, - { - "name": "value3", - "nodeType": "YulTypedName", - "src": "11621:6:34", - "type": "" - }, - { - "name": "value4", - "nodeType": "YulTypedName", - "src": "11629:6:34", - "type": "" - }, - { - "name": "value5", - "nodeType": "YulTypedName", - "src": "11637:6:34", - "type": "" - }, - { - "name": "value6", - "nodeType": "YulTypedName", - "src": "11645:6:34", - "type": "" - }, - { - "name": "value7", - "nodeType": "YulTypedName", - "src": "11653:6:34", - "type": "" - }, - { - "name": "value8", - "nodeType": "YulTypedName", - "src": "11661:6:34", - "type": "" - }, - { - "name": "value9", - "nodeType": "YulTypedName", - "src": "11669:6:34", - "type": "" - } - ], - "src": "11448:1350:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "12922:99:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "12939:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12950:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "12932:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "12932:21:34" - }, - "nodeType": "YulExpressionStatement", - "src": "12932:21:34" - }, - { - "nodeType": "YulAssignment", - "src": "12962:53:34", - "value": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "12988:6:34" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "13000:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13011:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "12996:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "12996:18:34" - } - ], - "functionName": { - "name": "abi_encode_string", - "nodeType": "YulIdentifier", - "src": "12970:17:34" - }, - "nodeType": "YulFunctionCall", - "src": "12970:45:34" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "12962:4:34" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_bytes_memory_ptr__to_t_bytes_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "12891:9:34", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "12902:6:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "12913:4:34", - "type": "" - } - ], - "src": "12803:218:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "13125:76:34", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "13135:26:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "13147:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13158:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "13143:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "13143:18:34" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "13135:4:34" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "13177:9:34" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "13188:6:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "13170:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "13170:25:34" - }, - "nodeType": "YulExpressionStatement", - "src": "13170:25:34" - } - ] - }, - "name": "abi_encode_tuple_t_int256__to_t_int256__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "13094:9:34", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "13105:6:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "13116:4:34", - "type": "" - } - ], - "src": "13026:175:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "13298:283:34", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "13347:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13356:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13359:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "13349:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "13349:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "13349:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "13326:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13334:4:34", - "type": "", - "value": "0x1f" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "13322:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "13322:17:34" - }, - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "13341:3:34" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "13318:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "13318:27:34" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "13311:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "13311:35:34" - }, - "nodeType": "YulIf", - "src": "13308:55:34" - }, - { - "nodeType": "YulAssignment", - "src": "13372:30:34", - "value": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "13395:6:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "13382:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "13382:20:34" - }, - "variableNames": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "13372:6:34" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "13445:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13454:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13457:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "13447:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "13447:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "13447:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "13417:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13425:18:34", - "type": "", - "value": "0xffffffffffffffff" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "13414:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "13414:30:34" - }, - "nodeType": "YulIf", - "src": "13411:50:34" - }, - { - "nodeType": "YulAssignment", - "src": "13470:29:34", - "value": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "13486:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13494:4:34", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "13482:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "13482:17:34" - }, - "variableNames": [ - { - "name": "arrayPos", - "nodeType": "YulIdentifier", - "src": "13470:8:34" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "13559:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13568:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13571:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "13561:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "13561:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "13561:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "13522:6:34" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13534:1:34", - "type": "", - "value": "5" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "13537:6:34" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "13530:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "13530:14:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "13518:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "13518:27:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13547:4:34", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "13514:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "13514:38:34" - }, - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "13554:3:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "13511:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "13511:47:34" - }, - "nodeType": "YulIf", - "src": "13508:67:34" - } - ] - }, - "name": "abi_decode_array_string_calldata_dyn_calldata", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "13261:6:34", - "type": "" - }, - { - "name": "end", - "nodeType": "YulTypedName", - "src": "13269:3:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "arrayPos", - "nodeType": "YulTypedName", - "src": "13277:8:34", - "type": "" - }, - { - "name": "length", - "nodeType": "YulTypedName", - "src": "13287:6:34", - "type": "" - } - ], - "src": "13206:375:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "13755:632:34", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "13801:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13810:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13813:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "13803:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "13803:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "13803:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "13776:7:34" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "13785:9:34" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "13772:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "13772:23:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13797:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "13768:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "13768:32:34" - }, - "nodeType": "YulIf", - "src": "13765:52:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "13826:37:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "13853:9:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "13840:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "13840:23:34" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "13830:6:34", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "13872:28:34", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13882:18:34", - "type": "", - "value": "0xffffffffffffffff" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "13876:2:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "13927:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13936:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13939:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "13929:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "13929:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "13929:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "13915:6:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "13923:2:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "13912:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "13912:14:34" - }, - "nodeType": "YulIf", - "src": "13909:34:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "13952:104:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "14028:9:34" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "14039:6:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "14024:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "14024:22:34" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "14048:7:34" - } - ], - "functionName": { - "name": "abi_decode_array_string_calldata_dyn_calldata", - "nodeType": "YulIdentifier", - "src": "13978:45:34" - }, - "nodeType": "YulFunctionCall", - "src": "13978:78:34" - }, - "variables": [ - { - "name": "value0_1", - "nodeType": "YulTypedName", - "src": "13956:8:34", - "type": "" - }, - { - "name": "value1_1", - "nodeType": "YulTypedName", - "src": "13966:8:34", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "14065:18:34", - "value": { - "name": "value0_1", - "nodeType": "YulIdentifier", - "src": "14075:8:34" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "14065:6:34" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "14092:18:34", - "value": { - "name": "value1_1", - "nodeType": "YulIdentifier", - "src": "14102:8:34" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "14092:6:34" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "14119:48:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "14152:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14163:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "14148:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "14148:18:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "14135:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "14135:32:34" - }, - "variables": [ - { - "name": "offset_1", - "nodeType": "YulTypedName", - "src": "14123:8:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "14196:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14205:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14208:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "14198:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "14198:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "14198:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset_1", - "nodeType": "YulIdentifier", - "src": "14182:8:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "14192:2:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "14179:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "14179:16:34" - }, - "nodeType": "YulIf", - "src": "14176:36:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "14221:106:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "14297:9:34" - }, - { - "name": "offset_1", - "nodeType": "YulIdentifier", - "src": "14308:8:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "14293:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "14293:24:34" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "14319:7:34" - } - ], - "functionName": { - "name": "abi_decode_array_string_calldata_dyn_calldata", - "nodeType": "YulIdentifier", - "src": "14247:45:34" - }, - "nodeType": "YulFunctionCall", - "src": "14247:80:34" - }, - "variables": [ - { - "name": "value2_1", - "nodeType": "YulTypedName", - "src": "14225:8:34", - "type": "" - }, - { - "name": "value3_1", - "nodeType": "YulTypedName", - "src": "14235:8:34", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "14336:18:34", - "value": { - "name": "value2_1", - "nodeType": "YulIdentifier", - "src": "14346:8:34" - }, - "variableNames": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "14336:6:34" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "14363:18:34", - "value": { - "name": "value3_1", - "nodeType": "YulIdentifier", - "src": "14373:8:34" - }, - "variableNames": [ - { - "name": "value3", - "nodeType": "YulIdentifier", - "src": "14363:6:34" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_array$_t_string_calldata_ptr_$dyn_calldata_ptrt_array$_t_uint256_$dyn_calldata_ptr", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "13697:9:34", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "13708:7:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "13720:6:34", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "13728:6:34", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "13736:6:34", - "type": "" - }, - { - "name": "value3", - "nodeType": "YulTypedName", - "src": "13744:6:34", - "type": "" - } - ], - "src": "13586:801:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "14570:814:34", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "14617:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14626:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14629:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "14619:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "14619:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "14619:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "14591:7:34" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "14600:9:34" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "14587:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "14587:23:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14612:3:34", - "type": "", - "value": "160" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "14583:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "14583:33:34" - }, - "nodeType": "YulIf", - "src": "14580:53:34" - }, - { - "nodeType": "YulAssignment", - "src": "14642:33:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "14665:9:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "14652:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "14652:23:34" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "14642:6:34" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "14684:46:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "14715:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14726:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "14711:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "14711:18:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "14698:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "14698:32:34" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "14688:6:34", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "14739:28:34", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14749:18:34", - "type": "", - "value": "0xffffffffffffffff" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "14743:2:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "14794:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14803:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14806:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "14796:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "14796:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "14796:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "14782:6:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "14790:2:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "14779:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "14779:14:34" - }, - "nodeType": "YulIf", - "src": "14776:34:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "14819:84:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "14875:9:34" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "14886:6:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "14871:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "14871:22:34" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "14895:7:34" - } - ], - "functionName": { - "name": "abi_decode_bytes_calldata", - "nodeType": "YulIdentifier", - "src": "14845:25:34" - }, - "nodeType": "YulFunctionCall", - "src": "14845:58:34" - }, - "variables": [ - { - "name": "value1_1", - "nodeType": "YulTypedName", - "src": "14823:8:34", - "type": "" - }, - { - "name": "value2_1", - "nodeType": "YulTypedName", - "src": "14833:8:34", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "14912:18:34", - "value": { - "name": "value1_1", - "nodeType": "YulIdentifier", - "src": "14922:8:34" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "14912:6:34" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "14939:18:34", - "value": { - "name": "value2_1", - "nodeType": "YulIdentifier", - "src": "14949:8:34" - }, - "variableNames": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "14939:6:34" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "14966:48:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "14999:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15010:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "14995:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "14995:18:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "14982:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "14982:32:34" - }, - "variables": [ - { - "name": "offset_1", - "nodeType": "YulTypedName", - "src": "14970:8:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "15043:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15052:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15055:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "15045:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "15045:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "15045:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset_1", - "nodeType": "YulIdentifier", - "src": "15029:8:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "15039:2:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "15026:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "15026:16:34" - }, - "nodeType": "YulIf", - "src": "15023:36:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "15068:86:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "15124:9:34" - }, - { - "name": "offset_1", - "nodeType": "YulIdentifier", - "src": "15135:8:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "15120:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "15120:24:34" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "15146:7:34" - } - ], - "functionName": { - "name": "abi_decode_bytes_calldata", - "nodeType": "YulIdentifier", - "src": "15094:25:34" - }, - "nodeType": "YulFunctionCall", - "src": "15094:60:34" - }, - "variables": [ - { - "name": "value3_1", - "nodeType": "YulTypedName", - "src": "15072:8:34", - "type": "" - }, - { - "name": "value4_1", - "nodeType": "YulTypedName", - "src": "15082:8:34", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "15163:18:34", - "value": { - "name": "value3_1", - "nodeType": "YulIdentifier", - "src": "15173:8:34" - }, - "variableNames": [ - { - "name": "value3", - "nodeType": "YulIdentifier", - "src": "15163:6:34" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "15190:18:34", - "value": { - "name": "value4_1", - "nodeType": "YulIdentifier", - "src": "15200:8:34" - }, - "variableNames": [ - { - "name": "value4", - "nodeType": "YulIdentifier", - "src": "15190:6:34" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "15217:45:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "15247:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15258:2:34", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "15243:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "15243:18:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "15230:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "15230:32:34" - }, - "variables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "15221:5:34", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "15296:5:34" - } - ], - "functionName": { - "name": "validator_revert_address", - "nodeType": "YulIdentifier", - "src": "15271:24:34" - }, - "nodeType": "YulFunctionCall", - "src": "15271:31:34" - }, - "nodeType": "YulExpressionStatement", - "src": "15271:31:34" - }, - { - "nodeType": "YulAssignment", - "src": "15311:15:34", - "value": { - "name": "value", - "nodeType": "YulIdentifier", - "src": "15321:5:34" - }, - "variableNames": [ - { - "name": "value5", - "nodeType": "YulIdentifier", - "src": "15311:6:34" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "15335:43:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "15362:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15373:3:34", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "15358:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "15358:19:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "15345:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "15345:33:34" - }, - "variableNames": [ - { - "name": "value6", - "nodeType": "YulIdentifier", - "src": "15335:6:34" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_bytes32t_string_calldata_ptrt_string_calldata_ptrt_addresst_bytes32", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "14488:9:34", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "14499:7:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "14511:6:34", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "14519:6:34", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "14527:6:34", - "type": "" - }, - { - "name": "value3", - "nodeType": "YulTypedName", - "src": "14535:6:34", - "type": "" - }, - { - "name": "value4", - "nodeType": "YulTypedName", - "src": "14543:6:34", - "type": "" - }, - { - "name": "value5", - "nodeType": "YulTypedName", - "src": "14551:6:34", - "type": "" - }, - { - "name": "value6", - "nodeType": "YulTypedName", - "src": "14559:6:34", - "type": "" - } - ], - "src": "14392:992:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "15468:242:34", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "15514:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15523:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15526:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "15516:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "15516:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "15516:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "15489:7:34" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "15498:9:34" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "15485:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "15485:23:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15510:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "15481:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "15481:32:34" - }, - "nodeType": "YulIf", - "src": "15478:52:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "15539:37:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "15566:9:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "15553:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "15553:23:34" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "15543:6:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "15619:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15628:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15631:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "15621:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "15621:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "15621:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "15591:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15599:18:34", - "type": "", - "value": "0xffffffffffffffff" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "15588:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "15588:30:34" - }, - "nodeType": "YulIf", - "src": "15585:50:34" - }, - { - "nodeType": "YulAssignment", - "src": "15644:60:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "15676:9:34" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "15687:6:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "15672:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "15672:22:34" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "15696:7:34" - } - ], - "functionName": { - "name": "abi_decode_string", - "nodeType": "YulIdentifier", - "src": "15654:17:34" - }, - "nodeType": "YulFunctionCall", - "src": "15654:50:34" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "15644:6:34" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_bytes_memory_ptr", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "15434:9:34", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "15445:7:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "15457:6:34", - "type": "" - } - ], - "src": "15389:321:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "15774:556:34", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "15784:26:34", - "value": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "15804:5:34" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "15798:5:34" - }, - "nodeType": "YulFunctionCall", - "src": "15798:12:34" - }, - "variables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "15788:6:34", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "15826:3:34" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "15831:6:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "15819:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "15819:19:34" - }, - "nodeType": "YulExpressionStatement", - "src": "15819:19:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "15847:14:34", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15857:4:34", - "type": "", - "value": "0x20" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "15851:2:34", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "15870:31:34", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "15893:3:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "15898:2:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "15889:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "15889:12:34" - }, - "variables": [ - { - "name": "updated_pos", - "nodeType": "YulTypedName", - "src": "15874:11:34", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "15910:24:34", - "value": { - "name": "updated_pos", - "nodeType": "YulIdentifier", - "src": "15923:11:34" - }, - "variables": [ - { - "name": "pos_1", - "nodeType": "YulTypedName", - "src": "15914:5:34", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "15943:18:34", - "value": { - "name": "updated_pos", - "nodeType": "YulIdentifier", - "src": "15950:11:34" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "15943:3:34" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "15970:38:34", - "value": { - "arguments": [ - { - "name": "pos_1", - "nodeType": "YulIdentifier", - "src": "15986:5:34" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15997:1:34", - "type": "", - "value": "5" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "16000:6:34" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "15993:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "15993:14:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "15982:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "15982:26:34" - }, - "variables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "15974:4:34", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "16017:28:34", - "value": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "16035:5:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "16042:2:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "16031:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "16031:14:34" - }, - "variables": [ - { - "name": "srcPtr", - "nodeType": "YulTypedName", - "src": "16021:6:34", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "16054:10:34", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16063:1:34", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "i", - "nodeType": "YulTypedName", - "src": "16058:1:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "16122:182:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "16143:3:34" - }, - { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "16152:4:34" - }, - { - "name": "pos_1", - "nodeType": "YulIdentifier", - "src": "16158:5:34" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "16148:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "16148:16:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "16136:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "16136:29:34" - }, - "nodeType": "YulExpressionStatement", - "src": "16136:29:34" - }, - { - "nodeType": "YulAssignment", - "src": "16178:46:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "srcPtr", - "nodeType": "YulIdentifier", - "src": "16210:6:34" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "16204:5:34" - }, - "nodeType": "YulFunctionCall", - "src": "16204:13:34" - }, - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "16219:4:34" - } - ], - "functionName": { - "name": "abi_encode_string", - "nodeType": "YulIdentifier", - "src": "16186:17:34" - }, - "nodeType": "YulFunctionCall", - "src": "16186:38:34" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "16178:4:34" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "16237:25:34", - "value": { - "arguments": [ - { - "name": "srcPtr", - "nodeType": "YulIdentifier", - "src": "16251:6:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "16259:2:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "16247:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "16247:15:34" - }, - "variableNames": [ - { - "name": "srcPtr", - "nodeType": "YulIdentifier", - "src": "16237:6:34" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "16275:19:34", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "16286:3:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "16291:2:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "16282:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "16282:12:34" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "16275:3:34" - } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "16084:1:34" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "16087:6:34" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "16081:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "16081:13:34" - }, - "nodeType": "YulForLoop", - "post": { - "nodeType": "YulBlock", - "src": "16095:18:34", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "16097:14:34", - "value": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "16106:1:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16109:1:34", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "16102:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "16102:9:34" - }, - "variableNames": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "16097:1:34" - } - ] - } - ] - }, - "pre": { - "nodeType": "YulBlock", - "src": "16077:3:34", - "statements": [] - }, - "src": "16073:231:34" - }, - { - "nodeType": "YulAssignment", - "src": "16313:11:34", - "value": { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "16320:4:34" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "16313:3:34" - } - ] - } - ] - }, - "name": "abi_encode_array_bytes_dyn", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "15751:5:34", - "type": "" - }, - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "15758:3:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "15766:3:34", - "type": "" - } - ], - "src": "15715:615:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "16708:1201:34", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "16718:33:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "16736:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16747:3:34", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "16732:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "16732:19:34" - }, - "variables": [ - { - "name": "tail_1", - "nodeType": "YulTypedName", - "src": "16722:6:34", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "16767:9:34" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "16778:6:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "16760:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "16760:25:34" - }, - "nodeType": "YulExpressionStatement", - "src": "16760:25:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "16794:12:34", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16804:2:34", - "type": "", - "value": "32" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "16798:2:34", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "16826:9:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "16837:2:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "16822:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "16822:18:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16842:3:34", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "16815:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "16815:31:34" - }, - "nodeType": "YulExpressionStatement", - "src": "16815:31:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "16855:17:34", - "value": { - "name": "tail_1", - "nodeType": "YulIdentifier", - "src": "16866:6:34" - }, - "variables": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "16859:3:34", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "16881:27:34", - "value": { - "arguments": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "16901:6:34" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "16895:5:34" - }, - "nodeType": "YulFunctionCall", - "src": "16895:13:34" - }, - "variables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "16885:6:34", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "tail_1", - "nodeType": "YulIdentifier", - "src": "16924:6:34" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "16932:6:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "16917:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "16917:22:34" - }, - "nodeType": "YulExpressionStatement", - "src": "16917:22:34" - }, - { - "nodeType": "YulAssignment", - "src": "16948:26:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "16959:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16970:3:34", - "type": "", - "value": "160" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "16955:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "16955:19:34" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "16948:3:34" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "16983:29:34", - "value": { - "arguments": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "17001:6:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "17009:2:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "16997:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "16997:15:34" - }, - "variables": [ - { - "name": "srcPtr", - "nodeType": "YulTypedName", - "src": "16987:6:34", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "17021:10:34", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "17030:1:34", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "i", - "nodeType": "YulTypedName", - "src": "17025:1:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "17089:120:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "17110:3:34" - }, - { - "arguments": [ - { - "name": "srcPtr", - "nodeType": "YulIdentifier", - "src": "17121:6:34" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "17115:5:34" - }, - "nodeType": "YulFunctionCall", - "src": "17115:13:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "17103:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "17103:26:34" - }, - "nodeType": "YulExpressionStatement", - "src": "17103:26:34" - }, - { - "nodeType": "YulAssignment", - "src": "17142:19:34", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "17153:3:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "17158:2:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "17149:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "17149:12:34" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "17142:3:34" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "17174:25:34", - "value": { - "arguments": [ - { - "name": "srcPtr", - "nodeType": "YulIdentifier", - "src": "17188:6:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "17196:2:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "17184:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "17184:15:34" - }, - "variableNames": [ - { - "name": "srcPtr", - "nodeType": "YulIdentifier", - "src": "17174:6:34" - } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "17051:1:34" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "17054:6:34" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "17048:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "17048:13:34" - }, - "nodeType": "YulForLoop", - "post": { - "nodeType": "YulBlock", - "src": "17062:18:34", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "17064:14:34", - "value": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "17073:1:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "17076:1:34", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "17069:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "17069:9:34" - }, - "variableNames": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "17064:1:34" - } - ] - } - ] - }, - "pre": { - "nodeType": "YulBlock", - "src": "17044:3:34", - "statements": [] - }, - "src": "17040:169:34" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "17229:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "17240:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "17225:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "17225:18:34" - }, - { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "17249:3:34" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "17254:9:34" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "17245:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "17245:19:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "17218:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "17218:47:34" - }, - "nodeType": "YulExpressionStatement", - "src": "17218:47:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "17274:16:34", - "value": { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "17287:3:34" - }, - "variables": [ - { - "name": "pos_1", - "nodeType": "YulTypedName", - "src": "17278:5:34", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "17299:29:34", - "value": { - "arguments": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "17321:6:34" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "17315:5:34" - }, - "nodeType": "YulFunctionCall", - "src": "17315:13:34" - }, - "variables": [ - { - "name": "length_1", - "nodeType": "YulTypedName", - "src": "17303:8:34", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "17344:3:34" - }, - { - "name": "length_1", - "nodeType": "YulIdentifier", - "src": "17349:8:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "17337:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "17337:21:34" - }, - "nodeType": "YulExpressionStatement", - "src": "17337:21:34" - }, - { - "nodeType": "YulAssignment", - "src": "17367:21:34", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "17380:3:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "17385:2:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "17376:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "17376:12:34" - }, - "variableNames": [ - { - "name": "pos_1", - "nodeType": "YulIdentifier", - "src": "17367:5:34" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "17397:49:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "17419:3:34" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "17428:1:34", - "type": "", - "value": "5" - }, - { - "name": "length_1", - "nodeType": "YulIdentifier", - "src": "17431:8:34" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "17424:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "17424:16:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "17415:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "17415:26:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "17443:2:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "17411:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "17411:35:34" - }, - "variables": [ - { - "name": "tail_2", - "nodeType": "YulTypedName", - "src": "17401:6:34", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "17455:31:34", - "value": { - "arguments": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "17475:6:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "17483:2:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "17471:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "17471:15:34" - }, - "variables": [ - { - "name": "srcPtr_1", - "nodeType": "YulTypedName", - "src": "17459:8:34", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "17495:12:34", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "17506:1:34", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "i_1", - "nodeType": "YulTypedName", - "src": "17499:3:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "17573:212:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "pos_1", - "nodeType": "YulIdentifier", - "src": "17594:5:34" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "tail_2", - "nodeType": "YulIdentifier", - "src": "17609:6:34" - }, - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "17617:3:34" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "17605:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "17605:16:34" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "17627:2:34", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "17623:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "17623:7:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "17601:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "17601:30:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "17587:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "17587:45:34" - }, - "nodeType": "YulExpressionStatement", - "src": "17587:45:34" - }, - { - "nodeType": "YulAssignment", - "src": "17645:52:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "srcPtr_1", - "nodeType": "YulIdentifier", - "src": "17679:8:34" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "17673:5:34" - }, - "nodeType": "YulFunctionCall", - "src": "17673:15:34" - }, - { - "name": "tail_2", - "nodeType": "YulIdentifier", - "src": "17690:6:34" - } - ], - "functionName": { - "name": "abi_encode_string", - "nodeType": "YulIdentifier", - "src": "17655:17:34" - }, - "nodeType": "YulFunctionCall", - "src": "17655:42:34" - }, - "variableNames": [ - { - "name": "tail_2", - "nodeType": "YulIdentifier", - "src": "17645:6:34" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "17710:29:34", - "value": { - "arguments": [ - { - "name": "srcPtr_1", - "nodeType": "YulIdentifier", - "src": "17726:8:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "17736:2:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "17722:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "17722:17:34" - }, - "variableNames": [ - { - "name": "srcPtr_1", - "nodeType": "YulIdentifier", - "src": "17710:8:34" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "17752:23:34", - "value": { - "arguments": [ - { - "name": "pos_1", - "nodeType": "YulIdentifier", - "src": "17765:5:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "17772:2:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "17761:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "17761:14:34" - }, - "variableNames": [ - { - "name": "pos_1", - "nodeType": "YulIdentifier", - "src": "17752:5:34" - } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i_1", - "nodeType": "YulIdentifier", - "src": "17527:3:34" - }, - { - "name": "length_1", - "nodeType": "YulIdentifier", - "src": "17532:8:34" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "17524:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "17524:17:34" - }, - "nodeType": "YulForLoop", - "post": { - "nodeType": "YulBlock", - "src": "17542:22:34", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "17544:18:34", - "value": { - "arguments": [ - { - "name": "i_1", - "nodeType": "YulIdentifier", - "src": "17555:3:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "17560:1:34", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "17551:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "17551:11:34" - }, - "variableNames": [ - { - "name": "i_1", - "nodeType": "YulIdentifier", - "src": "17544:3:34" - } - ] - } - ] - }, - "pre": { - "nodeType": "YulBlock", - "src": "17520:3:34", - "statements": [] - }, - "src": "17516:269:34" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "17805:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "17816:2:34", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "17801:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "17801:18:34" - }, - { - "arguments": [ - { - "name": "tail_2", - "nodeType": "YulIdentifier", - "src": "17825:6:34" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "17833:9:34" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "17821:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "17821:22:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "17794:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "17794:50:34" - }, - "nodeType": "YulExpressionStatement", - "src": "17794:50:34" - }, - { - "nodeType": "YulAssignment", - "src": "17853:50:34", - "value": { - "arguments": [ - { - "name": "value3", - "nodeType": "YulIdentifier", - "src": "17888:6:34" - }, - { - "name": "tail_2", - "nodeType": "YulIdentifier", - "src": "17896:6:34" - } - ], - "functionName": { - "name": "abi_encode_array_bytes_dyn", - "nodeType": "YulIdentifier", - "src": "17861:26:34" - }, - "nodeType": "YulFunctionCall", - "src": "17861:42:34" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "17853:4:34" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_uint256_t_array$_t_bytes32_$dyn_memory_ptr_t_array$_t_string_memory_ptr_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr__to_t_uint256_t_array$_t_bytes32_$dyn_memory_ptr_t_array$_t_string_memory_ptr_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "16653:9:34", - "type": "" - }, - { - "name": "value3", - "nodeType": "YulTypedName", - "src": "16664:6:34", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "16672:6:34", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "16680:6:34", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "16688:6:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "16699:4:34", - "type": "" - } - ], - "src": "16335:1574:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "18019:436:34", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "18065:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "18074:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "18077:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "18067:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "18067:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "18067:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "18040:7:34" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "18049:9:34" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "18036:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "18036:23:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "18061:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "18032:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "18032:32:34" - }, - "nodeType": "YulIf", - "src": "18029:52:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "18090:37:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "18117:9:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "18104:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "18104:23:34" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "18094:6:34", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "18136:28:34", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "18146:18:34", - "type": "", - "value": "0xffffffffffffffff" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "18140:2:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "18191:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "18200:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "18203:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "18193:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "18193:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "18193:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "18179:6:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "18187:2:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "18176:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "18176:14:34" - }, - "nodeType": "YulIf", - "src": "18173:34:34" - }, - { - "nodeType": "YulAssignment", - "src": "18216:60:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "18248:9:34" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "18259:6:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "18244:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "18244:22:34" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "18268:7:34" - } - ], - "functionName": { - "name": "abi_decode_string", - "nodeType": "YulIdentifier", - "src": "18226:17:34" - }, - "nodeType": "YulFunctionCall", - "src": "18226:50:34" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "18216:6:34" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "18285:48:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "18318:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "18329:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "18314:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "18314:18:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "18301:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "18301:32:34" - }, - "variables": [ - { - "name": "offset_1", - "nodeType": "YulTypedName", - "src": "18289:8:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "18362:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "18371:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "18374:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "18364:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "18364:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "18364:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset_1", - "nodeType": "YulIdentifier", - "src": "18348:8:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "18358:2:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "18345:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "18345:16:34" - }, - "nodeType": "YulIf", - "src": "18342:36:34" - }, - { - "nodeType": "YulAssignment", - "src": "18387:62:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "18419:9:34" - }, - { - "name": "offset_1", - "nodeType": "YulIdentifier", - "src": "18430:8:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "18415:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "18415:24:34" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "18441:7:34" - } - ], - "functionName": { - "name": "abi_decode_string", - "nodeType": "YulIdentifier", - "src": "18397:17:34" - }, - "nodeType": "YulFunctionCall", - "src": "18397:52:34" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "18387:6:34" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_bytes_memory_ptrt_bytes_memory_ptr", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "17977:9:34", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "17988:7:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "18000:6:34", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "18008:6:34", - "type": "" - } - ], - "src": "17914:541:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "18607:142:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "18624:9:34" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "18635:6:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "18617:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "18617:25:34" - }, - "nodeType": "YulExpressionStatement", - "src": "18617:25:34" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "18662:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "18673:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "18658:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "18658:18:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "18678:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "18651:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "18651:30:34" - }, - "nodeType": "YulExpressionStatement", - "src": "18651:30:34" - }, - { - "nodeType": "YulAssignment", - "src": "18690:53:34", - "value": { - "arguments": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "18716:6:34" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "18728:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "18739:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "18724:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "18724:18:34" - } - ], - "functionName": { - "name": "abi_encode_string", - "nodeType": "YulIdentifier", - "src": "18698:17:34" - }, - "nodeType": "YulFunctionCall", - "src": "18698:45:34" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "18690:4:34" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_bytes32_t_bytes_memory_ptr__to_t_bytes32_t_bytes_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "18568:9:34", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "18579:6:34", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "18587:6:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "18598:4:34", - "type": "" - } - ], - "src": "18460:289:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "18811:107:34", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "18821:22:34", - "value": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "18836:6:34" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "18830:5:34" - }, - "nodeType": "YulFunctionCall", - "src": "18830:13:34" - }, - "variableNames": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "18821:5:34" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "18896:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "18905:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "18908:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "18898:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "18898:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "18898:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "18865:5:34" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "18886:5:34" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "18879:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "18879:13:34" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "18872:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "18872:21:34" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "18862:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "18862:32:34" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "18855:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "18855:40:34" - }, - "nodeType": "YulIf", - "src": "18852:60:34" - } - ] - }, - "name": "abi_decode_bool_fromMemory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "18790:6:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "18801:5:34", - "type": "" - } - ], - "src": "18754:164:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "19001:124:34", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "19047:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "19056:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "19059:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "19049:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "19049:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "19049:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "19022:7:34" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "19031:9:34" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "19018:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "19018:23:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "19043:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "19014:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "19014:32:34" - }, - "nodeType": "YulIf", - "src": "19011:52:34" - }, - { - "nodeType": "YulAssignment", - "src": "19072:47:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "19109:9:34" - } - ], - "functionName": { - "name": "abi_decode_bool_fromMemory", - "nodeType": "YulIdentifier", - "src": "19082:26:34" - }, - "nodeType": "YulFunctionCall", - "src": "19082:37:34" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "19072:6:34" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_bool_fromMemory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "18967:9:34", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "18978:7:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "18990:6:34", - "type": "" - } - ], - "src": "18923:202:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "19199:114:34", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "19243:22:34", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x41", - "nodeType": "YulIdentifier", - "src": "19245:16:34" - }, - "nodeType": "YulFunctionCall", - "src": "19245:18:34" - }, - "nodeType": "YulExpressionStatement", - "src": "19245:18:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "19215:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "19223:18:34", - "type": "", - "value": "0xffffffffffffffff" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "19212:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "19212:30:34" - }, - "nodeType": "YulIf", - "src": "19209:56:34" - }, - { - "nodeType": "YulAssignment", - "src": "19274:33:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "19290:1:34", - "type": "", - "value": "5" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "19293:6:34" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "19286:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "19286:14:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "19302:4:34", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "19282:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "19282:25:34" - }, - "variableNames": [ - { - "name": "size", - "nodeType": "YulIdentifier", - "src": "19274:4:34" - } - ] - } - ] - }, - "name": "array_allocation_size_array_bytes32_dyn", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "19179:6:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "size", - "nodeType": "YulTypedName", - "src": "19190:4:34", - "type": "" - } - ], - "src": "19130:183:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "19393:584:34", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "19442:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "19451:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "19454:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "19444:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "19444:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "19444:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "19421:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "19429:4:34", - "type": "", - "value": "0x1f" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "19417:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "19417:17:34" - }, - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "19436:3:34" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "19413:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "19413:27:34" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "19406:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "19406:35:34" - }, - "nodeType": "YulIf", - "src": "19403:55:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "19467:23:34", - "value": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "19483:6:34" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "19477:5:34" - }, - "nodeType": "YulFunctionCall", - "src": "19477:13:34" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "19471:2:34", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "19499:14:34", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "19509:4:34", - "type": "", - "value": "0x20" - }, - "variables": [ - { - "name": "_2", - "nodeType": "YulTypedName", - "src": "19503:2:34", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "19522:71:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "19589:2:34" - } - ], - "functionName": { - "name": "array_allocation_size_array_bytes32_dyn", - "nodeType": "YulIdentifier", - "src": "19549:39:34" - }, - "nodeType": "YulFunctionCall", - "src": "19549:43:34" - } - ], - "functionName": { - "name": "allocate_memory", - "nodeType": "YulIdentifier", - "src": "19533:15:34" - }, - "nodeType": "YulFunctionCall", - "src": "19533:60:34" - }, - "variables": [ - { - "name": "dst", - "nodeType": "YulTypedName", - "src": "19526:3:34", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "19602:16:34", - "value": { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "19615:3:34" - }, - "variables": [ - { - "name": "dst_1", - "nodeType": "YulTypedName", - "src": "19606:5:34", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "19634:3:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "19639:2:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "19627:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "19627:15:34" - }, - "nodeType": "YulExpressionStatement", - "src": "19627:15:34" - }, - { - "nodeType": "YulAssignment", - "src": "19651:19:34", - "value": { - "arguments": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "19662:3:34" - }, - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "19667:2:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "19658:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "19658:12:34" - }, - "variableNames": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "19651:3:34" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "19679:46:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "19701:6:34" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "19713:1:34", - "type": "", - "value": "5" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "19716:2:34" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "19709:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "19709:10:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "19697:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "19697:23:34" - }, - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "19722:2:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "19693:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "19693:32:34" - }, - "variables": [ - { - "name": "srcEnd", - "nodeType": "YulTypedName", - "src": "19683:6:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "19753:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "19762:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "19765:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "19755:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "19755:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "19755:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "srcEnd", - "nodeType": "YulIdentifier", - "src": "19740:6:34" - }, - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "19748:3:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "19737:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "19737:15:34" - }, - "nodeType": "YulIf", - "src": "19734:35:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "19778:26:34", - "value": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "19793:6:34" - }, - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "19801:2:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "19789:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "19789:15:34" - }, - "variables": [ - { - "name": "src", - "nodeType": "YulTypedName", - "src": "19782:3:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "19869:79:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "19890:3:34" - }, - { - "arguments": [ - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "19901:3:34" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "19895:5:34" - }, - "nodeType": "YulFunctionCall", - "src": "19895:10:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "19883:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "19883:23:34" - }, - "nodeType": "YulExpressionStatement", - "src": "19883:23:34" - }, - { - "nodeType": "YulAssignment", - "src": "19919:19:34", - "value": { - "arguments": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "19930:3:34" - }, - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "19935:2:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "19926:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "19926:12:34" - }, - "variableNames": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "19919:3:34" - } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "19824:3:34" - }, - { - "name": "srcEnd", - "nodeType": "YulIdentifier", - "src": "19829:6:34" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "19821:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "19821:15:34" - }, - "nodeType": "YulForLoop", - "post": { - "nodeType": "YulBlock", - "src": "19837:23:34", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "19839:19:34", - "value": { - "arguments": [ - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "19850:3:34" - }, - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "19855:2:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "19846:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "19846:12:34" - }, - "variableNames": [ - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "19839:3:34" - } - ] - } - ] - }, - "pre": { - "nodeType": "YulBlock", - "src": "19817:3:34", - "statements": [] - }, - "src": "19813:135:34" - }, - { - "nodeType": "YulAssignment", - "src": "19957:14:34", - "value": { - "name": "dst_1", - "nodeType": "YulIdentifier", - "src": "19966:5:34" - }, - "variableNames": [ - { - "name": "array", - "nodeType": "YulIdentifier", - "src": "19957:5:34" - } - ] - } - ] - }, - "name": "abi_decode_array_bytes32_dyn_fromMemory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "19367:6:34", - "type": "" - }, - { - "name": "end", - "nodeType": "YulTypedName", - "src": "19375:3:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "array", - "nodeType": "YulTypedName", - "src": "19383:5:34", - "type": "" - } - ], - "src": "19318:659:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "20068:223:34", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "20078:62:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "20132:6:34" - } - ], - "functionName": { - "name": "array_allocation_size_string", - "nodeType": "YulIdentifier", - "src": "20103:28:34" - }, - "nodeType": "YulFunctionCall", - "src": "20103:36:34" - } - ], - "functionName": { - "name": "allocate_memory", - "nodeType": "YulIdentifier", - "src": "20087:15:34" - }, - "nodeType": "YulFunctionCall", - "src": "20087:53:34" - }, - "variableNames": [ - { - "name": "array", - "nodeType": "YulIdentifier", - "src": "20078:5:34" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "array", - "nodeType": "YulIdentifier", - "src": "20156:5:34" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "20163:6:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "20149:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "20149:21:34" - }, - "nodeType": "YulExpressionStatement", - "src": "20149:21:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "20208:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "20217:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "20220:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "20210:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "20210:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "20210:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "20189:3:34" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "20194:6:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "20185:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "20185:16:34" - }, - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "20203:3:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "20182:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "20182:25:34" - }, - "nodeType": "YulIf", - "src": "20179:45:34" - }, - { - "expression": { - "arguments": [ - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "20255:3:34" - }, - { - "arguments": [ - { - "name": "array", - "nodeType": "YulIdentifier", - "src": "20264:5:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "20271:4:34", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "20260:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "20260:16:34" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "20278:6:34" - } - ], - "functionName": { - "name": "copy_memory_to_memory", - "nodeType": "YulIdentifier", - "src": "20233:21:34" - }, - "nodeType": "YulFunctionCall", - "src": "20233:52:34" - }, - "nodeType": "YulExpressionStatement", - "src": "20233:52:34" - } - ] - }, - "name": "abi_decode_available_length_string_fromMemory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "src", - "nodeType": "YulTypedName", - "src": "20037:3:34", - "type": "" - }, - { - "name": "length", - "nodeType": "YulTypedName", - "src": "20042:6:34", - "type": "" - }, - { - "name": "end", - "nodeType": "YulTypedName", - "src": "20050:3:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "array", - "nodeType": "YulTypedName", - "src": "20058:5:34", - "type": "" - } - ], - "src": "19982:309:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "20370:1016:34", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "20419:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "20428:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "20431:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "20421:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "20421:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "20421:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "20398:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "20406:4:34", - "type": "", - "value": "0x1f" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "20394:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "20394:17:34" - }, - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "20413:3:34" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "20390:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "20390:27:34" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "20383:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "20383:35:34" - }, - "nodeType": "YulIf", - "src": "20380:55:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "20444:23:34", - "value": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "20460:6:34" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "20454:5:34" - }, - "nodeType": "YulFunctionCall", - "src": "20454:13:34" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "20448:2:34", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "20476:14:34", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "20486:4:34", - "type": "", - "value": "0x20" - }, - "variables": [ - { - "name": "_2", - "nodeType": "YulTypedName", - "src": "20480:2:34", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "20499:71:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "20566:2:34" - } - ], - "functionName": { - "name": "array_allocation_size_array_bytes32_dyn", - "nodeType": "YulIdentifier", - "src": "20526:39:34" - }, - "nodeType": "YulFunctionCall", - "src": "20526:43:34" - } - ], - "functionName": { - "name": "allocate_memory", - "nodeType": "YulIdentifier", - "src": "20510:15:34" - }, - "nodeType": "YulFunctionCall", - "src": "20510:60:34" - }, - "variables": [ - { - "name": "dst", - "nodeType": "YulTypedName", - "src": "20503:3:34", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "20579:16:34", - "value": { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "20592:3:34" - }, - "variables": [ - { - "name": "dst_1", - "nodeType": "YulTypedName", - "src": "20583:5:34", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "20611:3:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "20616:2:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "20604:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "20604:15:34" - }, - "nodeType": "YulExpressionStatement", - "src": "20604:15:34" - }, - { - "nodeType": "YulAssignment", - "src": "20628:19:34", - "value": { - "arguments": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "20639:3:34" - }, - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "20644:2:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "20635:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "20635:12:34" - }, - "variableNames": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "20628:3:34" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "20656:46:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "20678:6:34" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "20690:1:34", - "type": "", - "value": "5" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "20693:2:34" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "20686:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "20686:10:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "20674:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "20674:23:34" - }, - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "20699:2:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "20670:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "20670:32:34" - }, - "variables": [ - { - "name": "srcEnd", - "nodeType": "YulTypedName", - "src": "20660:6:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "20730:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "20739:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "20742:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "20732:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "20732:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "20732:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "srcEnd", - "nodeType": "YulIdentifier", - "src": "20717:6:34" - }, - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "20725:3:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "20714:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "20714:15:34" - }, - "nodeType": "YulIf", - "src": "20711:35:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "20755:26:34", - "value": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "20770:6:34" - }, - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "20778:2:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "20766:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "20766:15:34" - }, - "variables": [ - { - "name": "src", - "nodeType": "YulTypedName", - "src": "20759:3:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "20846:511:34", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "20860:29:34", - "value": { - "arguments": [ - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "20885:3:34" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "20879:5:34" - }, - "nodeType": "YulFunctionCall", - "src": "20879:10:34" - }, - "variables": [ - { - "name": "innerOffset", - "nodeType": "YulTypedName", - "src": "20864:11:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "20953:74:34", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "20971:11:34", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "20981:1:34", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "_3", - "nodeType": "YulTypedName", - "src": "20975:2:34", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "_3", - "nodeType": "YulIdentifier", - "src": "21006:2:34" - }, - { - "name": "_3", - "nodeType": "YulIdentifier", - "src": "21010:2:34" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "20999:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "20999:14:34" - }, - "nodeType": "YulExpressionStatement", - "src": "20999:14:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "innerOffset", - "nodeType": "YulIdentifier", - "src": "20908:11:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "20921:18:34", - "type": "", - "value": "0xffffffffffffffff" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "20905:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "20905:35:34" - }, - "nodeType": "YulIf", - "src": "20902:125:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "21040:34:34", - "value": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "21054:6:34" - }, - { - "name": "innerOffset", - "nodeType": "YulIdentifier", - "src": "21062:11:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "21050:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "21050:24:34" - }, - "variables": [ - { - "name": "_4", - "nodeType": "YulTypedName", - "src": "21044:2:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "21132:74:34", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "21150:11:34", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "21160:1:34", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "_5", - "nodeType": "YulTypedName", - "src": "21154:2:34", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "_5", - "nodeType": "YulIdentifier", - "src": "21185:2:34" - }, - { - "name": "_5", - "nodeType": "YulIdentifier", - "src": "21189:2:34" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "21178:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "21178:14:34" - }, - "nodeType": "YulExpressionStatement", - "src": "21178:14:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "_4", - "nodeType": "YulIdentifier", - "src": "21105:2:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "21109:2:34", - "type": "", - "value": "63" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "21101:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "21101:11:34" - }, - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "21114:3:34" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "21097:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "21097:21:34" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "21090:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "21090:29:34" - }, - "nodeType": "YulIf", - "src": "21087:119:34" - }, - { - "expression": { - "arguments": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "21226:3:34" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "_4", - "nodeType": "YulIdentifier", - "src": "21281:2:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "21285:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "21277:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "21277:11:34" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "_4", - "nodeType": "YulIdentifier", - "src": "21300:2:34" - }, - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "21304:2:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "21296:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "21296:11:34" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "21290:5:34" - }, - "nodeType": "YulFunctionCall", - "src": "21290:18:34" - }, - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "21310:3:34" - } - ], - "functionName": { - "name": "abi_decode_available_length_string_fromMemory", - "nodeType": "YulIdentifier", - "src": "21231:45:34" - }, - "nodeType": "YulFunctionCall", - "src": "21231:83:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "21219:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "21219:96:34" - }, - "nodeType": "YulExpressionStatement", - "src": "21219:96:34" - }, - { - "nodeType": "YulAssignment", - "src": "21328:19:34", - "value": { - "arguments": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "21339:3:34" - }, - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "21344:2:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "21335:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "21335:12:34" - }, - "variableNames": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "21328:3:34" - } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "20801:3:34" - }, - { - "name": "srcEnd", - "nodeType": "YulIdentifier", - "src": "20806:6:34" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "20798:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "20798:15:34" - }, - "nodeType": "YulForLoop", - "post": { - "nodeType": "YulBlock", - "src": "20814:23:34", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "20816:19:34", - "value": { - "arguments": [ - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "20827:3:34" - }, - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "20832:2:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "20823:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "20823:12:34" - }, - "variableNames": [ - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "20816:3:34" - } - ] - } - ] - }, - "pre": { - "nodeType": "YulBlock", - "src": "20794:3:34", - "statements": [] - }, - "src": "20790:567:34" - }, - { - "nodeType": "YulAssignment", - "src": "21366:14:34", - "value": { - "name": "dst_1", - "nodeType": "YulIdentifier", - "src": "21375:5:34" - }, - "variableNames": [ - { - "name": "array", - "nodeType": "YulIdentifier", - "src": "21366:5:34" - } - ] - } - ] - }, - "name": "abi_decode_array_string_dyn_fromMemory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "20344:6:34", - "type": "" - }, - { - "name": "end", - "nodeType": "YulTypedName", - "src": "20352:3:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "array", - "nodeType": "YulTypedName", - "src": "20360:5:34", - "type": "" - } - ], - "src": "20296:1090:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "21454:173:34", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "21503:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "21512:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "21515:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "21505:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "21505:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "21505:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "21482:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "21490:4:34", - "type": "", - "value": "0x1f" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "21478:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "21478:17:34" - }, - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "21497:3:34" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "21474:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "21474:27:34" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "21467:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "21467:35:34" - }, - "nodeType": "YulIf", - "src": "21464:55:34" - }, - { - "nodeType": "YulAssignment", - "src": "21528:93:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "21587:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "21595:4:34", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "21583:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "21583:17:34" - }, - { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "21608:6:34" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "21602:5:34" - }, - "nodeType": "YulFunctionCall", - "src": "21602:13:34" - }, - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "21617:3:34" - } - ], - "functionName": { - "name": "abi_decode_available_length_string_fromMemory", - "nodeType": "YulIdentifier", - "src": "21537:45:34" - }, - "nodeType": "YulFunctionCall", - "src": "21537:84:34" - }, - "variableNames": [ - { - "name": "array", - "nodeType": "YulIdentifier", - "src": "21528:5:34" - } - ] - } - ] - }, - "name": "abi_decode_bytes_fromMemory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "21428:6:34", - "type": "" - }, - { - "name": "end", - "nodeType": "YulTypedName", - "src": "21436:3:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "array", - "nodeType": "YulTypedName", - "src": "21444:5:34", - "type": "" - } - ], - "src": "21391:236:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "21705:821:34", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "21754:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "21763:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "21766:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "21756:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "21756:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "21756:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "21733:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "21741:4:34", - "type": "", - "value": "0x1f" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "21729:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "21729:17:34" - }, - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "21748:3:34" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "21725:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "21725:27:34" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "21718:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "21718:35:34" - }, - "nodeType": "YulIf", - "src": "21715:55:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "21779:23:34", - "value": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "21795:6:34" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "21789:5:34" - }, - "nodeType": "YulFunctionCall", - "src": "21789:13:34" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "21783:2:34", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "21811:14:34", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "21821:4:34", - "type": "", - "value": "0x20" - }, - "variables": [ - { - "name": "_2", - "nodeType": "YulTypedName", - "src": "21815:2:34", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "21834:71:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "21901:2:34" - } - ], - "functionName": { - "name": "array_allocation_size_array_bytes32_dyn", - "nodeType": "YulIdentifier", - "src": "21861:39:34" - }, - "nodeType": "YulFunctionCall", - "src": "21861:43:34" - } - ], - "functionName": { - "name": "allocate_memory", - "nodeType": "YulIdentifier", - "src": "21845:15:34" - }, - "nodeType": "YulFunctionCall", - "src": "21845:60:34" - }, - "variables": [ - { - "name": "dst", - "nodeType": "YulTypedName", - "src": "21838:3:34", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "21914:16:34", - "value": { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "21927:3:34" - }, - "variables": [ - { - "name": "dst_1", - "nodeType": "YulTypedName", - "src": "21918:5:34", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "21946:3:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "21951:2:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "21939:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "21939:15:34" - }, - "nodeType": "YulExpressionStatement", - "src": "21939:15:34" - }, - { - "nodeType": "YulAssignment", - "src": "21963:19:34", - "value": { - "arguments": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "21974:3:34" - }, - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "21979:2:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "21970:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "21970:12:34" - }, - "variableNames": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "21963:3:34" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "21991:46:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "22013:6:34" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "22025:1:34", - "type": "", - "value": "5" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "22028:2:34" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "22021:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "22021:10:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "22009:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "22009:23:34" - }, - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "22034:2:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "22005:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "22005:32:34" - }, - "variables": [ - { - "name": "srcEnd", - "nodeType": "YulTypedName", - "src": "21995:6:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "22065:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "22074:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "22077:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "22067:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "22067:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "22067:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "srcEnd", - "nodeType": "YulIdentifier", - "src": "22052:6:34" - }, - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "22060:3:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "22049:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "22049:15:34" - }, - "nodeType": "YulIf", - "src": "22046:35:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "22090:26:34", - "value": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "22105:6:34" - }, - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "22113:2:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "22101:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "22101:15:34" - }, - "variables": [ - { - "name": "src", - "nodeType": "YulTypedName", - "src": "22094:3:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "22181:316:34", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "22195:29:34", - "value": { - "arguments": [ - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "22220:3:34" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "22214:5:34" - }, - "nodeType": "YulFunctionCall", - "src": "22214:10:34" - }, - "variables": [ - { - "name": "innerOffset", - "nodeType": "YulTypedName", - "src": "22199:11:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "22288:74:34", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "22306:11:34", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "22316:1:34", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "_3", - "nodeType": "YulTypedName", - "src": "22310:2:34", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "_3", - "nodeType": "YulIdentifier", - "src": "22341:2:34" - }, - { - "name": "_3", - "nodeType": "YulIdentifier", - "src": "22345:2:34" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "22334:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "22334:14:34" - }, - "nodeType": "YulExpressionStatement", - "src": "22334:14:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "innerOffset", - "nodeType": "YulIdentifier", - "src": "22243:11:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "22256:18:34", - "type": "", - "value": "0xffffffffffffffff" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "22240:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "22240:35:34" - }, - "nodeType": "YulIf", - "src": "22237:125:34" - }, - { - "expression": { - "arguments": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "22382:3:34" - }, - { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "22423:6:34" - }, - { - "name": "innerOffset", - "nodeType": "YulIdentifier", - "src": "22431:11:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "22419:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "22419:24:34" - }, - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "22445:2:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "22415:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "22415:33:34" - }, - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "22450:3:34" - } - ], - "functionName": { - "name": "abi_decode_bytes_fromMemory", - "nodeType": "YulIdentifier", - "src": "22387:27:34" - }, - "nodeType": "YulFunctionCall", - "src": "22387:67:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "22375:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "22375:80:34" - }, - "nodeType": "YulExpressionStatement", - "src": "22375:80:34" - }, - { - "nodeType": "YulAssignment", - "src": "22468:19:34", - "value": { - "arguments": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "22479:3:34" - }, - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "22484:2:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "22475:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "22475:12:34" - }, - "variableNames": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "22468:3:34" - } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "22136:3:34" - }, - { - "name": "srcEnd", - "nodeType": "YulIdentifier", - "src": "22141:6:34" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "22133:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "22133:15:34" - }, - "nodeType": "YulForLoop", - "post": { - "nodeType": "YulBlock", - "src": "22149:23:34", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "22151:19:34", - "value": { - "arguments": [ - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "22162:3:34" - }, - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "22167:2:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "22158:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "22158:12:34" - }, - "variableNames": [ - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "22151:3:34" - } - ] - } - ] - }, - "pre": { - "nodeType": "YulBlock", - "src": "22129:3:34", - "statements": [] - }, - "src": "22125:372:34" - }, - { - "nodeType": "YulAssignment", - "src": "22506:14:34", - "value": { - "name": "dst_1", - "nodeType": "YulIdentifier", - "src": "22515:5:34" - }, - "variableNames": [ - { - "name": "array", - "nodeType": "YulIdentifier", - "src": "22506:5:34" - } - ] - } - ] - }, - "name": "abi_decode_array_bytes_dyn_fromMemory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "21679:6:34", - "type": "" - }, - { - "name": "end", - "nodeType": "YulTypedName", - "src": "21687:3:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "array", - "nodeType": "YulTypedName", - "src": "21695:5:34", - "type": "" - } - ], - "src": "21632:894:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "22757:696:34", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "22804:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "22813:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "22816:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "22806:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "22806:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "22806:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "22778:7:34" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "22787:9:34" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "22774:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "22774:23:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "22799:3:34", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "22770:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "22770:33:34" - }, - "nodeType": "YulIf", - "src": "22767:53:34" - }, - { - "nodeType": "YulAssignment", - "src": "22829:26:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "22845:9:34" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "22839:5:34" - }, - "nodeType": "YulFunctionCall", - "src": "22839:16:34" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "22829:6:34" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "22864:39:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "22888:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "22899:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "22884:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "22884:18:34" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "22878:5:34" - }, - "nodeType": "YulFunctionCall", - "src": "22878:25:34" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "22868:6:34", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "22912:28:34", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "22922:18:34", - "type": "", - "value": "0xffffffffffffffff" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "22916:2:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "22967:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "22976:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "22979:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "22969:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "22969:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "22969:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "22955:6:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "22963:2:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "22952:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "22952:14:34" - }, - "nodeType": "YulIf", - "src": "22949:34:34" - }, - { - "nodeType": "YulAssignment", - "src": "22992:82:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "23046:9:34" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "23057:6:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "23042:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "23042:22:34" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "23066:7:34" - } - ], - "functionName": { - "name": "abi_decode_array_bytes32_dyn_fromMemory", - "nodeType": "YulIdentifier", - "src": "23002:39:34" - }, - "nodeType": "YulFunctionCall", - "src": "23002:72:34" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "22992:6:34" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "23083:41:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "23109:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "23120:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "23105:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "23105:18:34" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "23099:5:34" - }, - "nodeType": "YulFunctionCall", - "src": "23099:25:34" - }, - "variables": [ - { - "name": "offset_1", - "nodeType": "YulTypedName", - "src": "23087:8:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "23153:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "23162:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "23165:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "23155:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "23155:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "23155:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset_1", - "nodeType": "YulIdentifier", - "src": "23139:8:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "23149:2:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "23136:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "23136:16:34" - }, - "nodeType": "YulIf", - "src": "23133:36:34" - }, - { - "nodeType": "YulAssignment", - "src": "23178:83:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "23231:9:34" - }, - { - "name": "offset_1", - "nodeType": "YulIdentifier", - "src": "23242:8:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "23227:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "23227:24:34" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "23253:7:34" - } - ], - "functionName": { - "name": "abi_decode_array_string_dyn_fromMemory", - "nodeType": "YulIdentifier", - "src": "23188:38:34" - }, - "nodeType": "YulFunctionCall", - "src": "23188:73:34" - }, - "variableNames": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "23178:6:34" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "23270:41:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "23296:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "23307:2:34", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "23292:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "23292:18:34" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "23286:5:34" - }, - "nodeType": "YulFunctionCall", - "src": "23286:25:34" - }, - "variables": [ - { - "name": "offset_2", - "nodeType": "YulTypedName", - "src": "23274:8:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "23340:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "23349:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "23352:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "23342:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "23342:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "23342:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset_2", - "nodeType": "YulIdentifier", - "src": "23326:8:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "23336:2:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "23323:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "23323:16:34" - }, - "nodeType": "YulIf", - "src": "23320:36:34" - }, - { - "nodeType": "YulAssignment", - "src": "23365:82:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "23417:9:34" - }, - { - "name": "offset_2", - "nodeType": "YulIdentifier", - "src": "23428:8:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "23413:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "23413:24:34" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "23439:7:34" - } - ], - "functionName": { - "name": "abi_decode_array_bytes_dyn_fromMemory", - "nodeType": "YulIdentifier", - "src": "23375:37:34" - }, - "nodeType": "YulFunctionCall", - "src": "23375:72:34" - }, - "variableNames": [ - { - "name": "value3", - "nodeType": "YulIdentifier", - "src": "23365:6:34" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_uint256t_array$_t_bytes32_$dyn_memory_ptrt_array$_t_string_memory_ptr_$dyn_memory_ptrt_array$_t_bytes_memory_ptr_$dyn_memory_ptr_fromMemory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "22699:9:34", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "22710:7:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "22722:6:34", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "22730:6:34", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "22738:6:34", - "type": "" - }, - { - "name": "value3", - "nodeType": "YulTypedName", - "src": "22746:6:34", - "type": "" - } - ], - "src": "22531:922:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "23490:152:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "23507:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "23510:77:34", - "type": "", - "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "23500:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "23500:88:34" - }, - "nodeType": "YulExpressionStatement", - "src": "23500:88:34" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "23604:1:34", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "23607:4:34", - "type": "", - "value": "0x32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "23597:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "23597:15:34" - }, - "nodeType": "YulExpressionStatement", - "src": "23597:15:34" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "23628:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "23631:4:34", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "23621:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "23621:15:34" - }, - "nodeType": "YulExpressionStatement", - "src": "23621:15:34" - } - ] - }, - "name": "panic_error_0x32", - "nodeType": "YulFunctionDefinition", - "src": "23458:184:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "23786:137:34", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "23796:27:34", - "value": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "23816:6:34" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "23810:5:34" - }, - "nodeType": "YulFunctionCall", - "src": "23810:13:34" - }, - "variables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "23800:6:34", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "23858:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "23866:4:34", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "23854:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "23854:17:34" - }, - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "23873:3:34" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "23878:6:34" - } - ], - "functionName": { - "name": "copy_memory_to_memory", - "nodeType": "YulIdentifier", - "src": "23832:21:34" - }, - "nodeType": "YulFunctionCall", - "src": "23832:53:34" - }, - "nodeType": "YulExpressionStatement", - "src": "23832:53:34" - }, - { - "nodeType": "YulAssignment", - "src": "23894:23:34", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "23905:3:34" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "23910:6:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "23901:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "23901:16:34" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "23894:3:34" - } - ] - } - ] - }, - "name": "abi_encode_tuple_packed_t_string_memory_ptr__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "23762:3:34", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "23767:6:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "23778:3:34", - "type": "" - } - ], - "src": "23647:276:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "24075:142:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "24092:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "24103:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "24085:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "24085:21:34" - }, - "nodeType": "YulExpressionStatement", - "src": "24085:21:34" - }, - { - "nodeType": "YulAssignment", - "src": "24115:53:34", - "value": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "24141:6:34" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "24153:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "24164:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "24149:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "24149:18:34" - } - ], - "functionName": { - "name": "abi_encode_string", - "nodeType": "YulIdentifier", - "src": "24123:17:34" - }, - "nodeType": "YulFunctionCall", - "src": "24123:45:34" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "24115:4:34" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "24188:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "24199:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "24184:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "24184:18:34" - }, - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "24204:6:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "24177:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "24177:34:34" - }, - "nodeType": "YulExpressionStatement", - "src": "24177:34:34" - } - ] - }, - "name": "abi_encode_tuple_t_bytes_memory_ptr_t_bytes32__to_t_bytes_memory_ptr_t_bytes32__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "24036:9:34", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "24047:6:34", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "24055:6:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "24066:4:34", - "type": "" - } - ], - "src": "23928:289:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "24359:137:34", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "24369:27:34", - "value": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "24389:6:34" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "24383:5:34" - }, - "nodeType": "YulFunctionCall", - "src": "24383:13:34" - }, - "variables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "24373:6:34", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "24431:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "24439:4:34", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "24427:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "24427:17:34" - }, - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "24446:3:34" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "24451:6:34" - } - ], - "functionName": { - "name": "copy_memory_to_memory", - "nodeType": "YulIdentifier", - "src": "24405:21:34" - }, - "nodeType": "YulFunctionCall", - "src": "24405:53:34" - }, - "nodeType": "YulExpressionStatement", - "src": "24405:53:34" - }, - { - "nodeType": "YulAssignment", - "src": "24467:23:34", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "24478:3:34" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "24483:6:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "24474:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "24474:16:34" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "24467:3:34" - } - ] - } - ] - }, - "name": "abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "24335:3:34", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "24340:6:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "24351:3:34", - "type": "" - } - ], - "src": "24222:274:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "24533:152:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "24550:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "24553:77:34", - "type": "", - "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "24543:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "24543:88:34" - }, - "nodeType": "YulExpressionStatement", - "src": "24543:88:34" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "24647:1:34", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "24650:4:34", - "type": "", - "value": "0x11" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "24640:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "24640:15:34" - }, - "nodeType": "YulExpressionStatement", - "src": "24640:15:34" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "24671:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "24674:4:34", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "24664:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "24664:15:34" - }, - "nodeType": "YulExpressionStatement", - "src": "24664:15:34" - } - ] - }, - "name": "panic_error_0x11", - "nodeType": "YulFunctionDefinition", - "src": "24501:184:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "24737:88:34", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "24768:22:34", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x11", - "nodeType": "YulIdentifier", - "src": "24770:16:34" - }, - "nodeType": "YulFunctionCall", - "src": "24770:18:34" - }, - "nodeType": "YulExpressionStatement", - "src": "24770:18:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "24753:5:34" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "24764:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "24760:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "24760:6:34" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "24750:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "24750:17:34" - }, - "nodeType": "YulIf", - "src": "24747:43:34" - }, - { - "nodeType": "YulAssignment", - "src": "24799:20:34", - "value": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "24810:5:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "24817:1:34", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "24806:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "24806:13:34" - }, - "variableNames": [ - { - "name": "ret", - "nodeType": "YulIdentifier", - "src": "24799:3:34" - } - ] - } - ] - }, - "name": "increment_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "24719:5:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "ret", - "nodeType": "YulTypedName", - "src": "24729:3:34", - "type": "" - } - ], - "src": "24690:135:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "24887:85:34", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "24897:29:34", - "value": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "24919:6:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "24906:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "24906:20:34" - }, - "variableNames": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "24897:5:34" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "24960:5:34" - } - ], - "functionName": { - "name": "validator_revert_address", - "nodeType": "YulIdentifier", - "src": "24935:24:34" - }, - "nodeType": "YulFunctionCall", - "src": "24935:31:34" - }, - "nodeType": "YulExpressionStatement", - "src": "24935:31:34" - } - ] - }, - "name": "abi_decode_address_payable", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "24866:6:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "24877:5:34", - "type": "" - } - ], - "src": "24830:142:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "25099:411:34", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "25145:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "25154:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "25157:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "25147:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "25147:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "25147:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "25120:7:34" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "25129:9:34" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "25116:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "25116:23:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "25141:2:34", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "25112:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "25112:32:34" - }, - "nodeType": "YulIf", - "src": "25109:52:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "25170:37:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "25197:9:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "25184:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "25184:23:34" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "25174:6:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "25250:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "25259:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "25262:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "25252:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "25252:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "25252:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "25222:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "25230:18:34", - "type": "", - "value": "0xffffffffffffffff" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "25219:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "25219:30:34" - }, - "nodeType": "YulIf", - "src": "25216:50:34" - }, - { - "nodeType": "YulAssignment", - "src": "25275:60:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "25307:9:34" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "25318:6:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "25303:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "25303:22:34" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "25327:7:34" - } - ], - "functionName": { - "name": "abi_decode_string", - "nodeType": "YulIdentifier", - "src": "25285:17:34" - }, - "nodeType": "YulFunctionCall", - "src": "25285:50:34" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "25275:6:34" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "25344:45:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "25374:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "25385:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "25370:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "25370:18:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "25357:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "25357:32:34" - }, - "variables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "25348:5:34", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "25423:5:34" - } - ], - "functionName": { - "name": "validator_revert_address", - "nodeType": "YulIdentifier", - "src": "25398:24:34" - }, - "nodeType": "YulFunctionCall", - "src": "25398:31:34" - }, - "nodeType": "YulExpressionStatement", - "src": "25398:31:34" - }, - { - "nodeType": "YulAssignment", - "src": "25438:15:34", - "value": { - "name": "value", - "nodeType": "YulIdentifier", - "src": "25448:5:34" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "25438:6:34" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "25462:42:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "25489:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "25500:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "25485:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "25485:18:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "25472:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "25472:32:34" - }, - "variableNames": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "25462:6:34" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_string_memory_ptrt_address_payablet_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "25049:9:34", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "25060:7:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "25072:6:34", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "25080:6:34", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "25088:6:34", - "type": "" - } - ], - "src": "24977:533:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "25662:124:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "25685:3:34" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "25690:6:34" - }, - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "25698:6:34" - } - ], - "functionName": { - "name": "calldatacopy", - "nodeType": "YulIdentifier", - "src": "25672:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "25672:33:34" - }, - "nodeType": "YulExpressionStatement", - "src": "25672:33:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "25714:26:34", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "25728:3:34" - }, - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "25733:6:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "25724:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "25724:16:34" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "25718:2:34", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "25756:2:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "25760:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "25749:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "25749:13:34" - }, - "nodeType": "YulExpressionStatement", - "src": "25749:13:34" - }, - { - "nodeType": "YulAssignment", - "src": "25771:9:34", - "value": { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "25778:2:34" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "25771:3:34" - } - ] - } - ] - }, - "name": "abi_encode_tuple_packed_t_bytes_calldata_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "25630:3:34", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "25635:6:34", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "25643:6:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "25654:3:34", - "type": "" - } - ], - "src": "25515:271:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "25858:200:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "25875:3:34" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "25880:6:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "25868:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "25868:19:34" - }, - "nodeType": "YulExpressionStatement", - "src": "25868:19:34" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "25913:3:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "25918:4:34", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "25909:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "25909:14:34" - }, - { - "name": "start", - "nodeType": "YulIdentifier", - "src": "25925:5:34" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "25932:6:34" - } - ], - "functionName": { - "name": "calldatacopy", - "nodeType": "YulIdentifier", - "src": "25896:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "25896:43:34" - }, - "nodeType": "YulExpressionStatement", - "src": "25896:43:34" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "25963:3:34" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "25968:6:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "25959:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "25959:16:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "25977:4:34", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "25955:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "25955:27:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "25984:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "25948:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "25948:38:34" - }, - "nodeType": "YulExpressionStatement", - "src": "25948:38:34" - }, - { - "nodeType": "YulAssignment", - "src": "25995:57:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "26010:3:34" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "26023:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "26031:2:34", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "26019:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "26019:15:34" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "26040:2:34", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "26036:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "26036:7:34" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "26015:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "26015:29:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "26006:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "26006:39:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "26047:4:34", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "26002:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "26002:50:34" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "25995:3:34" - } - ] - } - ] - }, - "name": "abi_encode_string_calldata", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "start", - "nodeType": "YulTypedName", - "src": "25827:5:34", - "type": "" - }, - { - "name": "length", - "nodeType": "YulTypedName", - "src": "25834:6:34", - "type": "" - }, - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "25842:3:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "25850:3:34", - "type": "" - } - ], - "src": "25791:267:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "26308:380:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "26325:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "26336:2:34", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "26318:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "26318:21:34" - }, - "nodeType": "YulExpressionStatement", - "src": "26318:21:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "26348:76:34", - "value": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "26389:6:34" - }, - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "26397:6:34" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "26409:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "26420:2:34", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "26405:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "26405:18:34" - } - ], - "functionName": { - "name": "abi_encode_string_calldata", - "nodeType": "YulIdentifier", - "src": "26362:26:34" - }, - "nodeType": "YulFunctionCall", - "src": "26362:62:34" - }, - "variables": [ - { - "name": "tail_1", - "nodeType": "YulTypedName", - "src": "26352:6:34", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "26444:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "26455:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "26440:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "26440:18:34" - }, - { - "arguments": [ - { - "name": "tail_1", - "nodeType": "YulIdentifier", - "src": "26464:6:34" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "26472:9:34" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "26460:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "26460:22:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "26433:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "26433:50:34" - }, - "nodeType": "YulExpressionStatement", - "src": "26433:50:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "26492:64:34", - "value": { - "arguments": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "26533:6:34" - }, - { - "name": "value3", - "nodeType": "YulIdentifier", - "src": "26541:6:34" - }, - { - "name": "tail_1", - "nodeType": "YulIdentifier", - "src": "26549:6:34" - } - ], - "functionName": { - "name": "abi_encode_string_calldata", - "nodeType": "YulIdentifier", - "src": "26506:26:34" - }, - "nodeType": "YulFunctionCall", - "src": "26506:50:34" - }, - "variables": [ - { - "name": "tail_2", - "nodeType": "YulTypedName", - "src": "26496:6:34", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "26576:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "26587:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "26572:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "26572:18:34" - }, - { - "arguments": [ - { - "name": "tail_2", - "nodeType": "YulIdentifier", - "src": "26596:6:34" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "26604:9:34" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "26592:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "26592:22:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "26565:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "26565:50:34" - }, - "nodeType": "YulExpressionStatement", - "src": "26565:50:34" - }, - { - "nodeType": "YulAssignment", - "src": "26624:58:34", - "value": { - "arguments": [ - { - "name": "value4", - "nodeType": "YulIdentifier", - "src": "26659:6:34" - }, - { - "name": "value5", - "nodeType": "YulIdentifier", - "src": "26667:6:34" - }, - { - "name": "tail_2", - "nodeType": "YulIdentifier", - "src": "26675:6:34" - } - ], - "functionName": { - "name": "abi_encode_string_calldata", - "nodeType": "YulIdentifier", - "src": "26632:26:34" - }, - "nodeType": "YulFunctionCall", - "src": "26632:50:34" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "26624:4:34" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_string_calldata_ptr_t_string_calldata_ptr_t_bytes_calldata_ptr__to_t_string_memory_ptr_t_string_memory_ptr_t_bytes_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "26237:9:34", - "type": "" - }, - { - "name": "value5", - "nodeType": "YulTypedName", - "src": "26248:6:34", - "type": "" - }, - { - "name": "value4", - "nodeType": "YulTypedName", - "src": "26256:6:34", - "type": "" - }, - { - "name": "value3", - "nodeType": "YulTypedName", - "src": "26264:6:34", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "26272:6:34", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "26280:6:34", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "26288:6:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "26299:4:34", - "type": "" - } - ], - "src": "26063:625:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "26739:228:34", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "26770:168:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "26791:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "26794:77:34", - "type": "", - "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "26784:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "26784:88:34" - }, - "nodeType": "YulExpressionStatement", - "src": "26784:88:34" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "26892:1:34", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "26895:4:34", - "type": "", - "value": "0x12" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "26885:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "26885:15:34" - }, - "nodeType": "YulExpressionStatement", - "src": "26885:15:34" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "26920:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "26923:4:34", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "26913:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "26913:15:34" - }, - "nodeType": "YulExpressionStatement", - "src": "26913:15:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "26759:1:34" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "26752:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "26752:9:34" - }, - "nodeType": "YulIf", - "src": "26749:189:34" - }, - { - "nodeType": "YulAssignment", - "src": "26947:14:34", - "value": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "26956:1:34" - }, - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "26959:1:34" - } - ], - "functionName": { - "name": "div", - "nodeType": "YulIdentifier", - "src": "26952:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "26952:9:34" - }, - "variableNames": [ - { - "name": "r", - "nodeType": "YulIdentifier", - "src": "26947:1:34" - } - ] - } - ] - }, - "name": "checked_div_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "x", - "nodeType": "YulTypedName", - "src": "26724:1:34", - "type": "" - }, - { - "name": "y", - "nodeType": "YulTypedName", - "src": "26727:1:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "r", - "nodeType": "YulTypedName", - "src": "26733:1:34", - "type": "" - } - ], - "src": "26693:274:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "27247:425:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "27264:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "27275:3:34", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "27257:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "27257:22:34" - }, - "nodeType": "YulExpressionStatement", - "src": "27257:22:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "27288:77:34", - "value": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "27329:6:34" - }, - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "27337:6:34" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "27349:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "27360:3:34", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "27345:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "27345:19:34" - } - ], - "functionName": { - "name": "abi_encode_string_calldata", - "nodeType": "YulIdentifier", - "src": "27302:26:34" - }, - "nodeType": "YulFunctionCall", - "src": "27302:63:34" - }, - "variables": [ - { - "name": "tail_1", - "nodeType": "YulTypedName", - "src": "27292:6:34", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "27385:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "27396:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "27381:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "27381:18:34" - }, - { - "arguments": [ - { - "name": "tail_1", - "nodeType": "YulIdentifier", - "src": "27405:6:34" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "27413:9:34" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "27401:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "27401:22:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "27374:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "27374:50:34" - }, - "nodeType": "YulExpressionStatement", - "src": "27374:50:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "27433:64:34", - "value": { - "arguments": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "27474:6:34" - }, - { - "name": "value3", - "nodeType": "YulIdentifier", - "src": "27482:6:34" - }, - { - "name": "tail_1", - "nodeType": "YulIdentifier", - "src": "27490:6:34" - } - ], - "functionName": { - "name": "abi_encode_string_calldata", - "nodeType": "YulIdentifier", - "src": "27447:26:34" - }, - "nodeType": "YulFunctionCall", - "src": "27447:50:34" - }, - "variables": [ - { - "name": "tail_2", - "nodeType": "YulTypedName", - "src": "27437:6:34", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "27517:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "27528:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "27513:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "27513:18:34" - }, - { - "arguments": [ - { - "name": "tail_2", - "nodeType": "YulIdentifier", - "src": "27537:6:34" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "27545:9:34" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "27533:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "27533:22:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "27506:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "27506:50:34" - }, - "nodeType": "YulExpressionStatement", - "src": "27506:50:34" - }, - { - "nodeType": "YulAssignment", - "src": "27565:58:34", - "value": { - "arguments": [ - { - "name": "value4", - "nodeType": "YulIdentifier", - "src": "27600:6:34" - }, - { - "name": "value5", - "nodeType": "YulIdentifier", - "src": "27608:6:34" - }, - { - "name": "tail_2", - "nodeType": "YulIdentifier", - "src": "27616:6:34" - } - ], - "functionName": { - "name": "abi_encode_string_calldata", - "nodeType": "YulIdentifier", - "src": "27573:26:34" - }, - "nodeType": "YulFunctionCall", - "src": "27573:50:34" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "27565:4:34" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "27643:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "27654:2:34", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "27639:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "27639:18:34" - }, - { - "name": "value6", - "nodeType": "YulIdentifier", - "src": "27659:6:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "27632:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "27632:34:34" - }, - "nodeType": "YulExpressionStatement", - "src": "27632:34:34" - } - ] - }, - "name": "abi_encode_tuple_t_string_calldata_ptr_t_string_calldata_ptr_t_string_calldata_ptr_t_uint256__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_uint256__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "27168:9:34", - "type": "" - }, - { - "name": "value6", - "nodeType": "YulTypedName", - "src": "27179:6:34", - "type": "" - }, - { - "name": "value5", - "nodeType": "YulTypedName", - "src": "27187:6:34", - "type": "" - }, - { - "name": "value4", - "nodeType": "YulTypedName", - "src": "27195:6:34", - "type": "" - }, - { - "name": "value3", - "nodeType": "YulTypedName", - "src": "27203:6:34", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "27211:6:34", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "27219:6:34", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "27227:6:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "27238:4:34", - "type": "" - } - ], - "src": "26972:700:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "27774:293:34", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "27820:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "27829:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "27832:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "27822:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "27822:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "27822:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "27795:7:34" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "27804:9:34" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "27791:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "27791:23:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "27816:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "27787:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "27787:32:34" - }, - "nodeType": "YulIf", - "src": "27784:52:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "27845:37:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "27872:9:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "27859:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "27859:23:34" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "27849:6:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "27925:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "27934:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "27937:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "27927:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "27927:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "27927:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "27897:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "27905:18:34", - "type": "", - "value": "0xffffffffffffffff" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "27894:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "27894:30:34" - }, - "nodeType": "YulIf", - "src": "27891:50:34" - }, - { - "nodeType": "YulAssignment", - "src": "27950:60:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "27982:9:34" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "27993:6:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "27978:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "27978:22:34" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "28002:7:34" - } - ], - "functionName": { - "name": "abi_decode_string", - "nodeType": "YulIdentifier", - "src": "27960:17:34" - }, - "nodeType": "YulFunctionCall", - "src": "27960:50:34" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "27950:6:34" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "28019:42:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "28046:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "28057:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "28042:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "28042:18:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "28029:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "28029:32:34" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "28019:6:34" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_string_memory_ptrt_bytes32", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "27732:9:34", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "27743:7:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "27755:6:34", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "27763:6:34", - "type": "" - } - ], - "src": "27677:390:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "28104:152:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "28121:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "28124:77:34", - "type": "", - "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "28114:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "28114:88:34" - }, - "nodeType": "YulExpressionStatement", - "src": "28114:88:34" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "28218:1:34", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "28221:4:34", - "type": "", - "value": "0x21" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "28211:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "28211:15:34" - }, - "nodeType": "YulExpressionStatement", - "src": "28211:15:34" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "28242:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "28245:4:34", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "28235:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "28235:15:34" - }, - "nodeType": "YulExpressionStatement", - "src": "28235:15:34" - } - ] - }, - "name": "panic_error_0x21", - "nodeType": "YulFunctionDefinition", - "src": "28072:184:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "28342:103:34", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "28388:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "28397:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "28400:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "28390:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "28390:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "28390:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "28363:7:34" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "28372:9:34" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "28359:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "28359:23:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "28384:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "28355:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "28355:32:34" - }, - "nodeType": "YulIf", - "src": "28352:52:34" - }, - { - "nodeType": "YulAssignment", - "src": "28413:26:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "28429:9:34" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "28423:5:34" - }, - "nodeType": "YulFunctionCall", - "src": "28423:16:34" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "28413:6:34" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_uint256_fromMemory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "28308:9:34", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "28319:7:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "28331:6:34", - "type": "" - } - ], - "src": "28261:184:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "28579:168:34", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "28589:26:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "28601:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "28612:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "28597:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "28597:18:34" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "28589:4:34" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "28631:9:34" - }, - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "28646:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "28654:42:34", - "type": "", - "value": "0xffffffffffffffffffffffffffffffffffffffff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "28642:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "28642:55:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "28624:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "28624:74:34" - }, - "nodeType": "YulExpressionStatement", - "src": "28624:74:34" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "28718:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "28729:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "28714:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "28714:18:34" - }, - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "28734:6:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "28707:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "28707:34:34" - }, - "nodeType": "YulExpressionStatement", - "src": "28707:34:34" - } - ] - }, - "name": "abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "28540:9:34", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "28551:6:34", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "28559:6:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "28570:4:34", - "type": "" - } - ], - "src": "28450:297:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "28899:191:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "28916:9:34" - }, - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "28931:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "28939:42:34", - "type": "", - "value": "0xffffffffffffffffffffffffffffffffffffffff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "28927:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "28927:55:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "28909:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "28909:74:34" - }, - "nodeType": "YulExpressionStatement", - "src": "28909:74:34" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "29003:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "29014:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "28999:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "28999:18:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "29019:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "28992:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "28992:30:34" - }, - "nodeType": "YulExpressionStatement", - "src": "28992:30:34" - }, - { - "nodeType": "YulAssignment", - "src": "29031:53:34", - "value": { - "arguments": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "29057:6:34" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "29069:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "29080:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "29065:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "29065:18:34" - } - ], - "functionName": { - "name": "abi_encode_string", - "nodeType": "YulIdentifier", - "src": "29039:17:34" - }, - "nodeType": "YulFunctionCall", - "src": "29039:45:34" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "29031:4:34" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_address_t_bytes_memory_ptr__to_t_address_t_bytes_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "28860:9:34", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "28871:6:34", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "28879:6:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "28890:4:34", - "type": "" - } - ], - "src": "28752:338:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "29199:310:34", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "29245:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "29254:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "29257:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "29247:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "29247:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "29247:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "29220:7:34" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "29229:9:34" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "29216:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "29216:23:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "29241:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "29212:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "29212:32:34" - }, - "nodeType": "YulIf", - "src": "29209:52:34" - }, - { - "nodeType": "YulAssignment", - "src": "29270:47:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "29307:9:34" - } - ], - "functionName": { - "name": "abi_decode_bool_fromMemory", - "nodeType": "YulIdentifier", - "src": "29280:26:34" - }, - "nodeType": "YulFunctionCall", - "src": "29280:37:34" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "29270:6:34" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "29326:39:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "29350:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "29361:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "29346:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "29346:18:34" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "29340:5:34" - }, - "nodeType": "YulFunctionCall", - "src": "29340:25:34" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "29330:6:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "29408:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "29417:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "29420:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "29410:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "29410:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "29410:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "29380:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "29388:18:34", - "type": "", - "value": "0xffffffffffffffff" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "29377:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "29377:30:34" - }, - "nodeType": "YulIf", - "src": "29374:50:34" - }, - { - "nodeType": "YulAssignment", - "src": "29433:70:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "29475:9:34" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "29486:6:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "29471:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "29471:22:34" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "29495:7:34" - } - ], - "functionName": { - "name": "abi_decode_bytes_fromMemory", - "nodeType": "YulIdentifier", - "src": "29443:27:34" - }, - "nodeType": "YulFunctionCall", - "src": "29443:60:34" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "29433:6:34" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_boolt_bytes_memory_ptr_fromMemory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "29157:9:34", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "29168:7:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "29180:6:34", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "29188:6:34", - "type": "" - } - ], - "src": "29095:414:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "29615:76:34", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "29625:26:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "29637:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "29648:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "29633:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "29633:18:34" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "29625:4:34" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "29667:9:34" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "29678:6:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "29660:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "29660:25:34" - }, - "nodeType": "YulExpressionStatement", - "src": "29660:25:34" - } - ] - }, - "name": "abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "29584:9:34", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "29595:6:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "29606:4:34", - "type": "" - } - ], - "src": "29514:177:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "29923:883:34", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "29970:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "29979:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "29982:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "29972:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "29972:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "29972:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "29944:7:34" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "29953:9:34" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "29940:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "29940:23:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "29965:3:34", - "type": "", - "value": "256" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "29936:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "29936:33:34" - }, - "nodeType": "YulIf", - "src": "29933:53:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "29995:37:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "30022:9:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "30009:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "30009:23:34" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "29999:6:34", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "30041:28:34", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "30051:18:34", - "type": "", - "value": "0xffffffffffffffff" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "30045:2:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "30096:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "30105:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "30108:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "30098:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "30098:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "30098:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "30084:6:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "30092:2:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "30081:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "30081:14:34" - }, - "nodeType": "YulIf", - "src": "30078:34:34" - }, - { - "nodeType": "YulAssignment", - "src": "30121:60:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "30153:9:34" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "30164:6:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "30149:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "30149:22:34" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "30173:7:34" - } - ], - "functionName": { - "name": "abi_decode_string", - "nodeType": "YulIdentifier", - "src": "30131:17:34" - }, - "nodeType": "YulFunctionCall", - "src": "30131:50:34" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "30121:6:34" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "30190:48:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "30223:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "30234:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "30219:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "30219:18:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "30206:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "30206:32:34" - }, - "variables": [ - { - "name": "offset_1", - "nodeType": "YulTypedName", - "src": "30194:8:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "30267:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "30276:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "30279:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "30269:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "30269:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "30269:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset_1", - "nodeType": "YulIdentifier", - "src": "30253:8:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "30263:2:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "30250:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "30250:16:34" - }, - "nodeType": "YulIf", - "src": "30247:36:34" - }, - { - "nodeType": "YulAssignment", - "src": "30292:62:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "30324:9:34" - }, - { - "name": "offset_1", - "nodeType": "YulIdentifier", - "src": "30335:8:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "30320:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "30320:24:34" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "30346:7:34" - } - ], - "functionName": { - "name": "abi_decode_string", - "nodeType": "YulIdentifier", - "src": "30302:17:34" - }, - "nodeType": "YulFunctionCall", - "src": "30302:52:34" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "30292:6:34" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "30363:56:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "30404:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "30415:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "30400:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "30400:18:34" - } - ], - "functionName": { - "name": "abi_decode_address_payable", - "nodeType": "YulIdentifier", - "src": "30373:26:34" - }, - "nodeType": "YulFunctionCall", - "src": "30373:46:34" - }, - "variableNames": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "30363:6:34" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "30428:42:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "30455:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "30466:2:34", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "30451:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "30451:18:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "30438:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "30438:32:34" - }, - "variableNames": [ - { - "name": "value3", - "nodeType": "YulIdentifier", - "src": "30428:6:34" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "30479:49:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "30512:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "30523:3:34", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "30508:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "30508:19:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "30495:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "30495:33:34" - }, - "variables": [ - { - "name": "offset_2", - "nodeType": "YulTypedName", - "src": "30483:8:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "30557:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "30566:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "30569:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "30559:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "30559:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "30559:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset_2", - "nodeType": "YulIdentifier", - "src": "30543:8:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "30553:2:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "30540:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "30540:16:34" - }, - "nodeType": "YulIf", - "src": "30537:36:34" - }, - { - "nodeType": "YulAssignment", - "src": "30582:62:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "30614:9:34" - }, - { - "name": "offset_2", - "nodeType": "YulIdentifier", - "src": "30625:8:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "30610:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "30610:24:34" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "30636:7:34" - } - ], - "functionName": { - "name": "abi_decode_string", - "nodeType": "YulIdentifier", - "src": "30592:17:34" - }, - "nodeType": "YulFunctionCall", - "src": "30592:52:34" - }, - "variableNames": [ - { - "name": "value4", - "nodeType": "YulIdentifier", - "src": "30582:6:34" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "30653:43:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "30680:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "30691:3:34", - "type": "", - "value": "160" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "30676:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "30676:19:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "30663:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "30663:33:34" - }, - "variableNames": [ - { - "name": "value5", - "nodeType": "YulIdentifier", - "src": "30653:6:34" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "30705:43:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "30732:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "30743:3:34", - "type": "", - "value": "192" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "30728:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "30728:19:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "30715:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "30715:33:34" - }, - "variableNames": [ - { - "name": "value6", - "nodeType": "YulIdentifier", - "src": "30705:6:34" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "30757:43:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "30784:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "30795:3:34", - "type": "", - "value": "224" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "30780:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "30780:19:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "30767:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "30767:33:34" - }, - "variableNames": [ - { - "name": "value7", - "nodeType": "YulIdentifier", - "src": "30757:6:34" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_string_memory_ptrt_string_memory_ptrt_address_payablet_bytes32t_string_memory_ptrt_uint256t_bytes32t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "29833:9:34", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "29844:7:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "29856:6:34", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "29864:6:34", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "29872:6:34", - "type": "" - }, - { - "name": "value3", - "nodeType": "YulTypedName", - "src": "29880:6:34", - "type": "" - }, - { - "name": "value4", - "nodeType": "YulTypedName", - "src": "29888:6:34", - "type": "" - }, - { - "name": "value5", - "nodeType": "YulTypedName", - "src": "29896:6:34", - "type": "" - }, - { - "name": "value6", - "nodeType": "YulTypedName", - "src": "29904:6:34", - "type": "" - }, - { - "name": "value7", - "nodeType": "YulTypedName", - "src": "29912:6:34", - "type": "" - } - ], - "src": "29696:1110:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "31112:462:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "31129:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "31140:3:34", - "type": "", - "value": "192" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "31122:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "31122:22:34" - }, - "nodeType": "YulExpressionStatement", - "src": "31122:22:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "31153:60:34", - "value": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "31185:6:34" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "31197:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "31208:3:34", - "type": "", - "value": "192" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "31193:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "31193:19:34" - } - ], - "functionName": { - "name": "abi_encode_string", - "nodeType": "YulIdentifier", - "src": "31167:17:34" - }, - "nodeType": "YulFunctionCall", - "src": "31167:46:34" - }, - "variables": [ - { - "name": "tail_1", - "nodeType": "YulTypedName", - "src": "31157:6:34", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "31233:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "31244:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "31229:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "31229:18:34" - }, - { - "arguments": [ - { - "name": "tail_1", - "nodeType": "YulIdentifier", - "src": "31253:6:34" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "31261:9:34" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "31249:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "31249:22:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "31222:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "31222:50:34" - }, - "nodeType": "YulExpressionStatement", - "src": "31222:50:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "31281:47:34", - "value": { - "arguments": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "31313:6:34" - }, - { - "name": "tail_1", - "nodeType": "YulIdentifier", - "src": "31321:6:34" - } - ], - "functionName": { - "name": "abi_encode_string", - "nodeType": "YulIdentifier", - "src": "31295:17:34" - }, - "nodeType": "YulFunctionCall", - "src": "31295:33:34" - }, - "variables": [ - { - "name": "tail_2", - "nodeType": "YulTypedName", - "src": "31285:6:34", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "31348:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "31359:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "31344:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "31344:18:34" - }, - { - "arguments": [ - { - "name": "tail_2", - "nodeType": "YulIdentifier", - "src": "31368:6:34" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "31376:9:34" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "31364:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "31364:22:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "31337:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "31337:50:34" - }, - "nodeType": "YulExpressionStatement", - "src": "31337:50:34" - }, - { - "nodeType": "YulAssignment", - "src": "31396:41:34", - "value": { - "arguments": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "31422:6:34" - }, - { - "name": "tail_2", - "nodeType": "YulIdentifier", - "src": "31430:6:34" - } - ], - "functionName": { - "name": "abi_encode_string", - "nodeType": "YulIdentifier", - "src": "31404:17:34" - }, - "nodeType": "YulFunctionCall", - "src": "31404:33:34" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "31396:4:34" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "31457:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "31468:2:34", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "31453:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "31453:18:34" - }, - { - "name": "value3", - "nodeType": "YulIdentifier", - "src": "31473:6:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "31446:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "31446:34:34" - }, - "nodeType": "YulExpressionStatement", - "src": "31446:34:34" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "31500:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "31511:3:34", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "31496:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "31496:19:34" - }, - { - "name": "value4", - "nodeType": "YulIdentifier", - "src": "31517:6:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "31489:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "31489:35:34" - }, - "nodeType": "YulExpressionStatement", - "src": "31489:35:34" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "31544:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "31555:3:34", - "type": "", - "value": "160" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "31540:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "31540:19:34" - }, - { - "name": "value5", - "nodeType": "YulIdentifier", - "src": "31561:6:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "31533:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "31533:35:34" - }, - "nodeType": "YulExpressionStatement", - "src": "31533:35:34" - } - ] - }, - "name": "abi_encode_tuple_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_uint256_t_bytes32_t_uint256__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_uint256_t_bytes32_t_uint256__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "31041:9:34", - "type": "" - }, - { - "name": "value5", - "nodeType": "YulTypedName", - "src": "31052:6:34", - "type": "" - }, - { - "name": "value4", - "nodeType": "YulTypedName", - "src": "31060:6:34", - "type": "" - }, - { - "name": "value3", - "nodeType": "YulTypedName", - "src": "31068:6:34", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "31076:6:34", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "31084:6:34", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "31092:6:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "31103:4:34", - "type": "" - } - ], - "src": "30811:763:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "31760:807:34", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "31807:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "31816:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "31819:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "31809:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "31809:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "31809:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "31781:7:34" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "31790:9:34" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "31777:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "31777:23:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "31802:3:34", - "type": "", - "value": "192" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "31773:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "31773:33:34" - }, - "nodeType": "YulIf", - "src": "31770:53:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "31832:37:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "31859:9:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "31846:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "31846:23:34" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "31836:6:34", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "31878:28:34", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "31888:18:34", - "type": "", - "value": "0xffffffffffffffff" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "31882:2:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "31933:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "31942:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "31945:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "31935:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "31935:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "31935:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "31921:6:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "31929:2:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "31918:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "31918:14:34" - }, - "nodeType": "YulIf", - "src": "31915:34:34" - }, - { - "nodeType": "YulAssignment", - "src": "31958:60:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "31990:9:34" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "32001:6:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "31986:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "31986:22:34" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "32010:7:34" - } - ], - "functionName": { - "name": "abi_decode_string", - "nodeType": "YulIdentifier", - "src": "31968:17:34" - }, - "nodeType": "YulFunctionCall", - "src": "31968:50:34" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "31958:6:34" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "32027:48:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "32060:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "32071:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "32056:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "32056:18:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "32043:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "32043:32:34" - }, - "variables": [ - { - "name": "offset_1", - "nodeType": "YulTypedName", - "src": "32031:8:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "32104:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "32113:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "32116:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "32106:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "32106:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "32106:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset_1", - "nodeType": "YulIdentifier", - "src": "32090:8:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "32100:2:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "32087:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "32087:16:34" - }, - "nodeType": "YulIf", - "src": "32084:36:34" - }, - { - "nodeType": "YulAssignment", - "src": "32129:62:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "32161:9:34" - }, - { - "name": "offset_1", - "nodeType": "YulIdentifier", - "src": "32172:8:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "32157:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "32157:24:34" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "32183:7:34" - } - ], - "functionName": { - "name": "abi_decode_string", - "nodeType": "YulIdentifier", - "src": "32139:17:34" - }, - "nodeType": "YulFunctionCall", - "src": "32139:52:34" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "32129:6:34" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "32200:45:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "32230:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "32241:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "32226:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "32226:18:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "32213:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "32213:32:34" - }, - "variables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "32204:5:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "32293:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "32302:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "32305:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "32295:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "32295:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "32295:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "32267:5:34" - }, - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "32278:5:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "32285:4:34", - "type": "", - "value": "0xff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "32274:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "32274:16:34" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "32264:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "32264:27:34" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "32257:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "32257:35:34" - }, - "nodeType": "YulIf", - "src": "32254:55:34" - }, - { - "nodeType": "YulAssignment", - "src": "32318:15:34", - "value": { - "name": "value", - "nodeType": "YulIdentifier", - "src": "32328:5:34" - }, - "variableNames": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "32318:6:34" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "32342:42:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "32369:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "32380:2:34", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "32365:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "32365:18:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "32352:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "32352:32:34" - }, - "variableNames": [ - { - "name": "value3", - "nodeType": "YulIdentifier", - "src": "32342:6:34" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "32393:48:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "32425:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "32436:3:34", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "32421:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "32421:19:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "32408:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "32408:33:34" - }, - "variables": [ - { - "name": "value_1", - "nodeType": "YulTypedName", - "src": "32397:7:34", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "value_1", - "nodeType": "YulIdentifier", - "src": "32475:7:34" - } - ], - "functionName": { - "name": "validator_revert_address", - "nodeType": "YulIdentifier", - "src": "32450:24:34" - }, - "nodeType": "YulFunctionCall", - "src": "32450:33:34" - }, - "nodeType": "YulExpressionStatement", - "src": "32450:33:34" - }, - { - "nodeType": "YulAssignment", - "src": "32492:17:34", - "value": { - "name": "value_1", - "nodeType": "YulIdentifier", - "src": "32502:7:34" - }, - "variableNames": [ - { - "name": "value4", - "nodeType": "YulIdentifier", - "src": "32492:6:34" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "32518:43:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "32545:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "32556:3:34", - "type": "", - "value": "160" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "32541:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "32541:19:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "32528:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "32528:33:34" - }, - "variableNames": [ - { - "name": "value5", - "nodeType": "YulIdentifier", - "src": "32518:6:34" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_string_memory_ptrt_string_memory_ptrt_uint8t_uint256t_address_payablet_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "31686:9:34", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "31697:7:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "31709:6:34", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "31717:6:34", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "31725:6:34", - "type": "" - }, - { - "name": "value3", - "nodeType": "YulTypedName", - "src": "31733:6:34", - "type": "" - }, - { - "name": "value4", - "nodeType": "YulTypedName", - "src": "31741:6:34", - "type": "" - }, - { - "name": "value5", - "nodeType": "YulTypedName", - "src": "31749:6:34", - "type": "" - } - ], - "src": "31579:988:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "32821:357:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "32838:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "32849:3:34", - "type": "", - "value": "160" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "32831:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "32831:22:34" - }, - "nodeType": "YulExpressionStatement", - "src": "32831:22:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "32862:60:34", - "value": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "32894:6:34" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "32906:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "32917:3:34", - "type": "", - "value": "160" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "32902:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "32902:19:34" - } - ], - "functionName": { - "name": "abi_encode_string", - "nodeType": "YulIdentifier", - "src": "32876:17:34" - }, - "nodeType": "YulFunctionCall", - "src": "32876:46:34" - }, - "variables": [ - { - "name": "tail_1", - "nodeType": "YulTypedName", - "src": "32866:6:34", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "32942:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "32953:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "32938:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "32938:18:34" - }, - { - "arguments": [ - { - "name": "tail_1", - "nodeType": "YulIdentifier", - "src": "32962:6:34" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "32970:9:34" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "32958:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "32958:22:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "32931:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "32931:50:34" - }, - "nodeType": "YulExpressionStatement", - "src": "32931:50:34" - }, - { - "nodeType": "YulAssignment", - "src": "32990:41:34", - "value": { - "arguments": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "33016:6:34" - }, - { - "name": "tail_1", - "nodeType": "YulIdentifier", - "src": "33024:6:34" - } - ], - "functionName": { - "name": "abi_encode_string", - "nodeType": "YulIdentifier", - "src": "32998:17:34" - }, - "nodeType": "YulFunctionCall", - "src": "32998:33:34" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "32990:4:34" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "33051:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "33062:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "33047:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "33047:18:34" - }, - { - "arguments": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "33071:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "33079:4:34", - "type": "", - "value": "0xff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "33067:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "33067:17:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "33040:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "33040:45:34" - }, - "nodeType": "YulExpressionStatement", - "src": "33040:45:34" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "33105:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "33116:2:34", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "33101:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "33101:18:34" - }, - { - "name": "value3", - "nodeType": "YulIdentifier", - "src": "33121:6:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "33094:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "33094:34:34" - }, - "nodeType": "YulExpressionStatement", - "src": "33094:34:34" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "33148:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "33159:3:34", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "33144:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "33144:19:34" - }, - { - "name": "value4", - "nodeType": "YulIdentifier", - "src": "33165:6:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "33137:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "33137:35:34" - }, - "nodeType": "YulExpressionStatement", - "src": "33137:35:34" - } - ] - }, - "name": "abi_encode_tuple_t_string_memory_ptr_t_string_memory_ptr_t_uint8_t_uint256_t_bytes32__to_t_string_memory_ptr_t_string_memory_ptr_t_uint8_t_uint256_t_bytes32__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "32758:9:34", - "type": "" - }, - { - "name": "value4", - "nodeType": "YulTypedName", - "src": "32769:6:34", - "type": "" - }, - { - "name": "value3", - "nodeType": "YulTypedName", - "src": "32777:6:34", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "32785:6:34", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "32793:6:34", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "32801:6:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "32812:4:34", - "type": "" - } - ], - "src": "32572:606:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "33272:170:34", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "33318:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "33327:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "33330:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "33320:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "33320:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "33320:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "33293:7:34" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "33302:9:34" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "33289:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "33289:23:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "33314:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "33285:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "33285:32:34" - }, - "nodeType": "YulIf", - "src": "33282:52:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "33343:29:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "33362:9:34" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "33356:5:34" - }, - "nodeType": "YulFunctionCall", - "src": "33356:16:34" - }, - "variables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "33347:5:34", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "33406:5:34" - } - ], - "functionName": { - "name": "validator_revert_address", - "nodeType": "YulIdentifier", - "src": "33381:24:34" - }, - "nodeType": "YulFunctionCall", - "src": "33381:31:34" - }, - "nodeType": "YulExpressionStatement", - "src": "33381:31:34" - }, - { - "nodeType": "YulAssignment", - "src": "33421:15:34", - "value": { - "name": "value", - "nodeType": "YulIdentifier", - "src": "33431:5:34" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "33421:6:34" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_address_payable_fromMemory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "33238:9:34", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "33249:7:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "33261:6:34", - "type": "" - } - ], - "src": "33183:259:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "33596:191:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "33613:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "33624:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "33606:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "33606:21:34" - }, - "nodeType": "YulExpressionStatement", - "src": "33606:21:34" - }, - { - "nodeType": "YulAssignment", - "src": "33636:53:34", - "value": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "33662:6:34" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "33674:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "33685:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "33670:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "33670:18:34" - } - ], - "functionName": { - "name": "abi_encode_string", - "nodeType": "YulIdentifier", - "src": "33644:17:34" - }, - "nodeType": "YulFunctionCall", - "src": "33644:45:34" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "33636:4:34" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "33709:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "33720:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "33705:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "33705:18:34" - }, - { - "arguments": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "33729:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "33737:42:34", - "type": "", - "value": "0xffffffffffffffffffffffffffffffffffffffff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "33725:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "33725:55:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "33698:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "33698:83:34" - }, - "nodeType": "YulExpressionStatement", - "src": "33698:83:34" - } - ] - }, - "name": "abi_encode_tuple_t_string_memory_ptr_t_address__to_t_string_memory_ptr_t_address__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "33557:9:34", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "33568:6:34", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "33576:6:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "33587:4:34", - "type": "" - } - ], - "src": "33447:340:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "33921:116:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "33938:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "33949:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "33931:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "33931:21:34" - }, - "nodeType": "YulExpressionStatement", - "src": "33931:21:34" - }, - { - "nodeType": "YulAssignment", - "src": "33961:70:34", - "value": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "33996:6:34" - }, - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "34004:6:34" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "34016:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "34027:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "34012:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "34012:18:34" - } - ], - "functionName": { - "name": "abi_encode_string_calldata", - "nodeType": "YulIdentifier", - "src": "33969:26:34" - }, - "nodeType": "YulFunctionCall", - "src": "33969:62:34" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "33961:4:34" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_bytes_calldata_ptr__to_t_bytes_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "33882:9:34", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "33893:6:34", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "33901:6:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "33912:4:34", - "type": "" - } - ], - "src": "33792:245:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "34097:382:34", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "34107:22:34", - "value": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "34121:1:34", - "type": "", - "value": "1" - }, - { - "name": "data", - "nodeType": "YulIdentifier", - "src": "34124:4:34" - } - ], - "functionName": { - "name": "shr", - "nodeType": "YulIdentifier", - "src": "34117:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "34117:12:34" - }, - "variableNames": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "34107:6:34" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "34138:38:34", - "value": { - "arguments": [ - { - "name": "data", - "nodeType": "YulIdentifier", - "src": "34168:4:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "34174:1:34", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "34164:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "34164:12:34" - }, - "variables": [ - { - "name": "outOfPlaceEncoding", - "nodeType": "YulTypedName", - "src": "34142:18:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "34215:31:34", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "34217:27:34", - "value": { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "34231:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "34239:4:34", - "type": "", - "value": "0x7f" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "34227:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "34227:17:34" - }, - "variableNames": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "34217:6:34" - } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "outOfPlaceEncoding", - "nodeType": "YulIdentifier", - "src": "34195:18:34" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "34188:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "34188:26:34" - }, - "nodeType": "YulIf", - "src": "34185:61:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "34305:168:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "34326:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "34329:77:34", - "type": "", - "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "34319:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "34319:88:34" - }, - "nodeType": "YulExpressionStatement", - "src": "34319:88:34" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "34427:1:34", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "34430:4:34", - "type": "", - "value": "0x22" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "34420:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "34420:15:34" - }, - "nodeType": "YulExpressionStatement", - "src": "34420:15:34" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "34455:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "34458:4:34", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "34448:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "34448:15:34" - }, - "nodeType": "YulExpressionStatement", - "src": "34448:15:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "outOfPlaceEncoding", - "nodeType": "YulIdentifier", - "src": "34261:18:34" - }, - { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "34284:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "34292:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "34281:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "34281:14:34" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "34258:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "34258:38:34" - }, - "nodeType": "YulIf", - "src": "34255:218:34" - } - ] - }, - "name": "extract_byte_array_length", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "data", - "nodeType": "YulTypedName", - "src": "34077:4:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "34086:6:34", - "type": "" - } - ], - "src": "34042:437:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "34622:1118:34", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "34668:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "34677:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "34680:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "34670:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "34670:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "34670:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "34643:7:34" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "34652:9:34" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "34639:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "34639:23:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "34664:2:34", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "34635:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "34635:32:34" - }, - "nodeType": "YulIf", - "src": "34632:52:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "34693:37:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "34720:9:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "34707:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "34707:23:34" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "34697:6:34", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "34739:28:34", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "34749:18:34", - "type": "", - "value": "0xffffffffffffffff" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "34743:2:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "34794:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "34803:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "34806:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "34796:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "34796:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "34796:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "34782:6:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "34790:2:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "34779:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "34779:14:34" - }, - "nodeType": "YulIf", - "src": "34776:34:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "34819:32:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "34833:9:34" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "34844:6:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "34829:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "34829:22:34" - }, - "variables": [ - { - "name": "_2", - "nodeType": "YulTypedName", - "src": "34823:2:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "34899:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "34908:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "34911:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "34901:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "34901:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "34901:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "34878:2:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "34882:4:34", - "type": "", - "value": "0x1f" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "34874:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "34874:13:34" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "34889:7:34" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "34870:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "34870:27:34" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "34863:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "34863:35:34" - }, - "nodeType": "YulIf", - "src": "34860:55:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "34924:26:34", - "value": { - "arguments": [ - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "34947:2:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "34934:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "34934:16:34" - }, - "variables": [ - { - "name": "_3", - "nodeType": "YulTypedName", - "src": "34928:2:34", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "34959:14:34", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "34969:4:34", - "type": "", - "value": "0x20" - }, - "variables": [ - { - "name": "_4", - "nodeType": "YulTypedName", - "src": "34963:2:34", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "34982:71:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "_3", - "nodeType": "YulIdentifier", - "src": "35049:2:34" - } - ], - "functionName": { - "name": "array_allocation_size_array_bytes32_dyn", - "nodeType": "YulIdentifier", - "src": "35009:39:34" - }, - "nodeType": "YulFunctionCall", - "src": "35009:43:34" - } - ], - "functionName": { - "name": "allocate_memory", - "nodeType": "YulIdentifier", - "src": "34993:15:34" - }, - "nodeType": "YulFunctionCall", - "src": "34993:60:34" - }, - "variables": [ - { - "name": "dst", - "nodeType": "YulTypedName", - "src": "34986:3:34", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "35062:16:34", - "value": { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "35075:3:34" - }, - "variables": [ - { - "name": "dst_1", - "nodeType": "YulTypedName", - "src": "35066:5:34", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "35094:3:34" - }, - { - "name": "_3", - "nodeType": "YulIdentifier", - "src": "35099:2:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "35087:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "35087:15:34" - }, - "nodeType": "YulExpressionStatement", - "src": "35087:15:34" - }, - { - "nodeType": "YulAssignment", - "src": "35111:19:34", - "value": { - "arguments": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "35122:3:34" - }, - { - "name": "_4", - "nodeType": "YulIdentifier", - "src": "35127:2:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "35118:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "35118:12:34" - }, - "variableNames": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "35111:3:34" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "35139:42:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "35161:2:34" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "35169:1:34", - "type": "", - "value": "5" - }, - { - "name": "_3", - "nodeType": "YulIdentifier", - "src": "35172:2:34" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "35165:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "35165:10:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "35157:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "35157:19:34" - }, - { - "name": "_4", - "nodeType": "YulIdentifier", - "src": "35178:2:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "35153:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "35153:28:34" - }, - "variables": [ - { - "name": "srcEnd", - "nodeType": "YulTypedName", - "src": "35143:6:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "35213:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "35222:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "35225:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "35215:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "35215:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "35215:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "srcEnd", - "nodeType": "YulIdentifier", - "src": "35196:6:34" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "35204:7:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "35193:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "35193:19:34" - }, - "nodeType": "YulIf", - "src": "35190:39:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "35238:22:34", - "value": { - "arguments": [ - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "35253:2:34" - }, - { - "name": "_4", - "nodeType": "YulIdentifier", - "src": "35257:2:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "35249:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "35249:11:34" - }, - "variables": [ - { - "name": "src", - "nodeType": "YulTypedName", - "src": "35242:3:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "35325:161:34", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "35339:30:34", - "value": { - "arguments": [ - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "35365:3:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "35352:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "35352:17:34" - }, - "variables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "35343:5:34", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "35407:5:34" - } - ], - "functionName": { - "name": "validator_revert_address", - "nodeType": "YulIdentifier", - "src": "35382:24:34" - }, - "nodeType": "YulFunctionCall", - "src": "35382:31:34" - }, - "nodeType": "YulExpressionStatement", - "src": "35382:31:34" - }, - { - "expression": { - "arguments": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "35433:3:34" - }, - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "35438:5:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "35426:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "35426:18:34" - }, - "nodeType": "YulExpressionStatement", - "src": "35426:18:34" - }, - { - "nodeType": "YulAssignment", - "src": "35457:19:34", - "value": { - "arguments": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "35468:3:34" - }, - { - "name": "_4", - "nodeType": "YulIdentifier", - "src": "35473:2:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "35464:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "35464:12:34" - }, - "variableNames": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "35457:3:34" - } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "35280:3:34" - }, - { - "name": "srcEnd", - "nodeType": "YulIdentifier", - "src": "35285:6:34" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "35277:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "35277:15:34" - }, - "nodeType": "YulForLoop", - "post": { - "nodeType": "YulBlock", - "src": "35293:23:34", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "35295:19:34", - "value": { - "arguments": [ - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "35306:3:34" - }, - { - "name": "_4", - "nodeType": "YulIdentifier", - "src": "35311:2:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "35302:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "35302:12:34" - }, - "variableNames": [ - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "35295:3:34" - } - ] - } - ] - }, - "pre": { - "nodeType": "YulBlock", - "src": "35273:3:34", - "statements": [] - }, - "src": "35269:217:34" - }, - { - "nodeType": "YulAssignment", - "src": "35495:15:34", - "value": { - "name": "dst_1", - "nodeType": "YulIdentifier", - "src": "35505:5:34" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "35495:6:34" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "35519:42:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "35546:9:34" - }, - { - "name": "_4", - "nodeType": "YulIdentifier", - "src": "35557:2:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "35542:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "35542:18:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "35529:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "35529:32:34" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "35519:6:34" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "35570:48:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "35603:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "35614:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "35599:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "35599:18:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "35586:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "35586:32:34" - }, - "variables": [ - { - "name": "offset_1", - "nodeType": "YulTypedName", - "src": "35574:8:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "35647:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "35656:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "35659:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "35649:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "35649:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "35649:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset_1", - "nodeType": "YulIdentifier", - "src": "35633:8:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "35643:2:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "35630:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "35630:16:34" - }, - "nodeType": "YulIf", - "src": "35627:36:34" - }, - { - "nodeType": "YulAssignment", - "src": "35672:62:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "35704:9:34" - }, - { - "name": "offset_1", - "nodeType": "YulIdentifier", - "src": "35715:8:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "35700:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "35700:24:34" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "35726:7:34" - } - ], - "functionName": { - "name": "abi_decode_string", - "nodeType": "YulIdentifier", - "src": "35682:17:34" - }, - "nodeType": "YulFunctionCall", - "src": "35682:52:34" - }, - "variableNames": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "35672:6:34" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_array$_t_address_$dyn_memory_ptrt_uint256t_bytes_memory_ptr", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "34572:9:34", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "34583:7:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "34595:6:34", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "34603:6:34", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "34611:6:34", - "type": "" - } - ], - "src": "34484:1256:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "35793:80:34", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "35820:22:34", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x11", - "nodeType": "YulIdentifier", - "src": "35822:16:34" - }, - "nodeType": "YulFunctionCall", - "src": "35822:18:34" - }, - "nodeType": "YulExpressionStatement", - "src": "35822:18:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "35809:1:34" - }, - { - "arguments": [ - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "35816:1:34" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "35812:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "35812:6:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "35806:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "35806:13:34" - }, - "nodeType": "YulIf", - "src": "35803:39:34" - }, - { - "nodeType": "YulAssignment", - "src": "35851:16:34", - "value": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "35862:1:34" - }, - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "35865:1:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "35858:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "35858:9:34" - }, - "variableNames": [ - { - "name": "sum", - "nodeType": "YulIdentifier", - "src": "35851:3:34" - } - ] - } - ] - }, - "name": "checked_add_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "x", - "nodeType": "YulTypedName", - "src": "35776:1:34", - "type": "" - }, - { - "name": "y", - "nodeType": "YulTypedName", - "src": "35779:1:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "sum", - "nodeType": "YulTypedName", - "src": "35785:3:34", - "type": "" - } - ], - "src": "35745:128:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "36209:558:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "36226:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "36237:3:34", - "type": "", - "value": "160" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "36219:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "36219:22:34" - }, - "nodeType": "YulExpressionStatement", - "src": "36219:22:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "36250:77:34", - "value": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "36291:6:34" - }, - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "36299:6:34" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "36311:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "36322:3:34", - "type": "", - "value": "160" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "36307:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "36307:19:34" - } - ], - "functionName": { - "name": "abi_encode_string_calldata", - "nodeType": "YulIdentifier", - "src": "36264:26:34" - }, - "nodeType": "YulFunctionCall", - "src": "36264:63:34" - }, - "variables": [ - { - "name": "tail_1", - "nodeType": "YulTypedName", - "src": "36254:6:34", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "36347:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "36358:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "36343:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "36343:18:34" - }, - { - "arguments": [ - { - "name": "tail_1", - "nodeType": "YulIdentifier", - "src": "36367:6:34" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "36375:9:34" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "36363:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "36363:22:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "36336:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "36336:50:34" - }, - "nodeType": "YulExpressionStatement", - "src": "36336:50:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "36395:64:34", - "value": { - "arguments": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "36436:6:34" - }, - { - "name": "value3", - "nodeType": "YulIdentifier", - "src": "36444:6:34" - }, - { - "name": "tail_1", - "nodeType": "YulIdentifier", - "src": "36452:6:34" - } - ], - "functionName": { - "name": "abi_encode_string_calldata", - "nodeType": "YulIdentifier", - "src": "36409:26:34" - }, - "nodeType": "YulFunctionCall", - "src": "36409:50:34" - }, - "variables": [ - { - "name": "tail_2", - "nodeType": "YulTypedName", - "src": "36399:6:34", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "36479:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "36490:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "36475:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "36475:18:34" - }, - { - "arguments": [ - { - "name": "tail_2", - "nodeType": "YulIdentifier", - "src": "36499:6:34" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "36507:9:34" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "36495:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "36495:22:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "36468:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "36468:50:34" - }, - "nodeType": "YulExpressionStatement", - "src": "36468:50:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "36527:64:34", - "value": { - "arguments": [ - { - "name": "value4", - "nodeType": "YulIdentifier", - "src": "36568:6:34" - }, - { - "name": "value5", - "nodeType": "YulIdentifier", - "src": "36576:6:34" - }, - { - "name": "tail_2", - "nodeType": "YulIdentifier", - "src": "36584:6:34" - } - ], - "functionName": { - "name": "abi_encode_string_calldata", - "nodeType": "YulIdentifier", - "src": "36541:26:34" - }, - "nodeType": "YulFunctionCall", - "src": "36541:50:34" - }, - "variables": [ - { - "name": "tail_3", - "nodeType": "YulTypedName", - "src": "36531:6:34", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "36611:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "36622:2:34", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "36607:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "36607:18:34" - }, - { - "arguments": [ - { - "name": "tail_3", - "nodeType": "YulIdentifier", - "src": "36631:6:34" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "36639:9:34" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "36627:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "36627:22:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "36600:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "36600:50:34" - }, - "nodeType": "YulExpressionStatement", - "src": "36600:50:34" - }, - { - "nodeType": "YulAssignment", - "src": "36659:58:34", - "value": { - "arguments": [ - { - "name": "value6", - "nodeType": "YulIdentifier", - "src": "36694:6:34" - }, - { - "name": "value7", - "nodeType": "YulIdentifier", - "src": "36702:6:34" - }, - { - "name": "tail_3", - "nodeType": "YulIdentifier", - "src": "36710:6:34" - } - ], - "functionName": { - "name": "abi_encode_string_calldata", - "nodeType": "YulIdentifier", - "src": "36667:26:34" - }, - "nodeType": "YulFunctionCall", - "src": "36667:50:34" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "36659:4:34" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "36737:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "36748:3:34", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "36733:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "36733:19:34" - }, - { - "name": "value8", - "nodeType": "YulIdentifier", - "src": "36754:6:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "36726:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "36726:35:34" - }, - "nodeType": "YulExpressionStatement", - "src": "36726:35:34" - } - ] - }, - "name": "abi_encode_tuple_t_string_calldata_ptr_t_string_calldata_ptr_t_bytes_calldata_ptr_t_string_calldata_ptr_t_uint256__to_t_string_memory_ptr_t_string_memory_ptr_t_bytes_memory_ptr_t_string_memory_ptr_t_uint256__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "36114:9:34", - "type": "" - }, - { - "name": "value8", - "nodeType": "YulTypedName", - "src": "36125:6:34", - "type": "" - }, - { - "name": "value7", - "nodeType": "YulTypedName", - "src": "36133:6:34", - "type": "" - }, - { - "name": "value6", - "nodeType": "YulTypedName", - "src": "36141:6:34", - "type": "" - }, - { - "name": "value5", - "nodeType": "YulTypedName", - "src": "36149:6:34", - "type": "" - }, - { - "name": "value4", - "nodeType": "YulTypedName", - "src": "36157:6:34", - "type": "" - }, - { - "name": "value3", - "nodeType": "YulTypedName", - "src": "36165:6:34", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "36173:6:34", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "36181:6:34", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "36189:6:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "36200:4:34", - "type": "" - } - ], - "src": "35878:889:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "36867:427:34", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "36877:51:34", - "value": { - "arguments": [ - { - "name": "ptr_to_tail", - "nodeType": "YulIdentifier", - "src": "36916:11:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "36903:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "36903:25:34" - }, - "variables": [ - { - "name": "rel_offset_of_tail", - "nodeType": "YulTypedName", - "src": "36881:18:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "37017:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "37026:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "37029:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "37019:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "37019:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "37019:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "rel_offset_of_tail", - "nodeType": "YulIdentifier", - "src": "36951:18:34" - }, - { - "arguments": [ - { - "arguments": [ - { - "arguments": [], - "functionName": { - "name": "calldatasize", - "nodeType": "YulIdentifier", - "src": "36979:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "36979:14:34" - }, - { - "name": "base_ref", - "nodeType": "YulIdentifier", - "src": "36995:8:34" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "36975:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "36975:29:34" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "37010:2:34", - "type": "", - "value": "30" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "37006:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "37006:7:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "36971:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "36971:43:34" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "36947:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "36947:68:34" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "36940:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "36940:76:34" - }, - "nodeType": "YulIf", - "src": "36937:96:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "37042:47:34", - "value": { - "arguments": [ - { - "name": "base_ref", - "nodeType": "YulIdentifier", - "src": "37060:8:34" - }, - { - "name": "rel_offset_of_tail", - "nodeType": "YulIdentifier", - "src": "37070:18:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "37056:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "37056:33:34" - }, - "variables": [ - { - "name": "addr_1", - "nodeType": "YulTypedName", - "src": "37046:6:34", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "37098:30:34", - "value": { - "arguments": [ - { - "name": "addr_1", - "nodeType": "YulIdentifier", - "src": "37121:6:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "37108:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "37108:20:34" - }, - "variableNames": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "37098:6:34" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "37171:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "37180:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "37183:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "37173:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "37173:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "37173:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "37143:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "37151:18:34", - "type": "", - "value": "0xffffffffffffffff" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "37140:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "37140:30:34" - }, - "nodeType": "YulIf", - "src": "37137:50:34" - }, - { - "nodeType": "YulAssignment", - "src": "37196:25:34", - "value": { - "arguments": [ - { - "name": "addr_1", - "nodeType": "YulIdentifier", - "src": "37208:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "37216:4:34", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "37204:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "37204:17:34" - }, - "variableNames": [ - { - "name": "addr", - "nodeType": "YulIdentifier", - "src": "37196:4:34" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "37272:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "37281:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "37284:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "37274:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "37274:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "37274:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "addr", - "nodeType": "YulIdentifier", - "src": "37237:4:34" - }, - { - "arguments": [ - { - "arguments": [], - "functionName": { - "name": "calldatasize", - "nodeType": "YulIdentifier", - "src": "37247:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "37247:14:34" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "37263:6:34" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "37243:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "37243:27:34" - } - ], - "functionName": { - "name": "sgt", - "nodeType": "YulIdentifier", - "src": "37233:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "37233:38:34" - }, - "nodeType": "YulIf", - "src": "37230:58:34" - } - ] - }, - "name": "access_calldata_tail_t_string_calldata_ptr", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "base_ref", - "nodeType": "YulTypedName", - "src": "36824:8:34", - "type": "" - }, - { - "name": "ptr_to_tail", - "nodeType": "YulTypedName", - "src": "36834:11:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "addr", - "nodeType": "YulTypedName", - "src": "36850:4:34", - "type": "" - }, - { - "name": "length", - "nodeType": "YulTypedName", - "src": "36856:6:34", - "type": "" - } - ], - "src": "36772:522:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "37542:741:34", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "37589:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "37598:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "37601:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "37591:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "37591:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "37591:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "37563:7:34" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "37572:9:34" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "37559:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "37559:23:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "37584:3:34", - "type": "", - "value": "160" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "37555:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "37555:33:34" - }, - "nodeType": "YulIf", - "src": "37552:53:34" - }, - { - "nodeType": "YulAssignment", - "src": "37614:26:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "37630:9:34" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "37624:5:34" - }, - "nodeType": "YulFunctionCall", - "src": "37624:16:34" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "37614:6:34" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "37649:35:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "37669:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "37680:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "37665:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "37665:18:34" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "37659:5:34" - }, - "nodeType": "YulFunctionCall", - "src": "37659:25:34" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "37649:6:34" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "37693:39:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "37717:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "37728:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "37713:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "37713:18:34" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "37707:5:34" - }, - "nodeType": "YulFunctionCall", - "src": "37707:25:34" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "37697:6:34", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "37741:28:34", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "37751:18:34", - "type": "", - "value": "0xffffffffffffffff" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "37745:2:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "37796:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "37805:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "37808:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "37798:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "37798:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "37798:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "37784:6:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "37792:2:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "37781:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "37781:14:34" - }, - "nodeType": "YulIf", - "src": "37778:34:34" - }, - { - "nodeType": "YulAssignment", - "src": "37821:82:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "37875:9:34" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "37886:6:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "37871:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "37871:22:34" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "37895:7:34" - } - ], - "functionName": { - "name": "abi_decode_array_bytes32_dyn_fromMemory", - "nodeType": "YulIdentifier", - "src": "37831:39:34" - }, - "nodeType": "YulFunctionCall", - "src": "37831:72:34" - }, - "variableNames": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "37821:6:34" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "37912:41:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "37938:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "37949:2:34", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "37934:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "37934:18:34" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "37928:5:34" - }, - "nodeType": "YulFunctionCall", - "src": "37928:25:34" - }, - "variables": [ - { - "name": "offset_1", - "nodeType": "YulTypedName", - "src": "37916:8:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "37982:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "37991:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "37994:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "37984:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "37984:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "37984:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset_1", - "nodeType": "YulIdentifier", - "src": "37968:8:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "37978:2:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "37965:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "37965:16:34" - }, - "nodeType": "YulIf", - "src": "37962:36:34" - }, - { - "nodeType": "YulAssignment", - "src": "38007:83:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "38060:9:34" - }, - { - "name": "offset_1", - "nodeType": "YulIdentifier", - "src": "38071:8:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "38056:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "38056:24:34" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "38082:7:34" - } - ], - "functionName": { - "name": "abi_decode_array_string_dyn_fromMemory", - "nodeType": "YulIdentifier", - "src": "38017:38:34" - }, - "nodeType": "YulFunctionCall", - "src": "38017:73:34" - }, - "variableNames": [ - { - "name": "value3", - "nodeType": "YulIdentifier", - "src": "38007:6:34" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "38099:42:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "38125:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "38136:3:34", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "38121:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "38121:19:34" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "38115:5:34" - }, - "nodeType": "YulFunctionCall", - "src": "38115:26:34" - }, - "variables": [ - { - "name": "offset_2", - "nodeType": "YulTypedName", - "src": "38103:8:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "38170:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "38179:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "38182:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "38172:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "38172:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "38172:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset_2", - "nodeType": "YulIdentifier", - "src": "38156:8:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "38166:2:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "38153:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "38153:16:34" - }, - "nodeType": "YulIf", - "src": "38150:36:34" - }, - { - "nodeType": "YulAssignment", - "src": "38195:82:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "38247:9:34" - }, - { - "name": "offset_2", - "nodeType": "YulIdentifier", - "src": "38258:8:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "38243:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "38243:24:34" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "38269:7:34" - } - ], - "functionName": { - "name": "abi_decode_array_bytes_dyn_fromMemory", - "nodeType": "YulIdentifier", - "src": "38205:37:34" - }, - "nodeType": "YulFunctionCall", - "src": "38205:72:34" - }, - "variableNames": [ - { - "name": "value4", - "nodeType": "YulIdentifier", - "src": "38195:6:34" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_uint256t_uint256t_array$_t_bytes32_$dyn_memory_ptrt_array$_t_string_memory_ptr_$dyn_memory_ptrt_array$_t_bytes_memory_ptr_$dyn_memory_ptr_fromMemory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "37476:9:34", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "37487:7:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "37499:6:34", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "37507:6:34", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "37515:6:34", - "type": "" - }, - { - "name": "value3", - "nodeType": "YulTypedName", - "src": "37523:6:34", - "type": "" - }, - { - "name": "value4", - "nodeType": "YulTypedName", - "src": "37531:6:34", - "type": "" - } - ], - "src": "37299:984:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "38471:710:34", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "38518:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "38527:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "38530:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "38520:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "38520:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "38520:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "38492:7:34" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "38501:9:34" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "38488:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "38488:23:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "38513:3:34", - "type": "", - "value": "192" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "38484:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "38484:33:34" - }, - "nodeType": "YulIf", - "src": "38481:53:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "38543:37:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "38570:9:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "38557:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "38557:23:34" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "38547:6:34", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "38589:28:34", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "38599:18:34", - "type": "", - "value": "0xffffffffffffffff" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "38593:2:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "38644:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "38653:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "38656:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "38646:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "38646:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "38646:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "38632:6:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "38640:2:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "38629:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "38629:14:34" - }, - "nodeType": "YulIf", - "src": "38626:34:34" - }, - { - "nodeType": "YulAssignment", - "src": "38669:60:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "38701:9:34" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "38712:6:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "38697:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "38697:22:34" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "38721:7:34" - } - ], - "functionName": { - "name": "abi_decode_string", - "nodeType": "YulIdentifier", - "src": "38679:17:34" - }, - "nodeType": "YulFunctionCall", - "src": "38679:50:34" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "38669:6:34" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "38738:48:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "38771:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "38782:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "38767:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "38767:18:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "38754:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "38754:32:34" - }, - "variables": [ - { - "name": "offset_1", - "nodeType": "YulTypedName", - "src": "38742:8:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "38815:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "38824:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "38827:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "38817:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "38817:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "38817:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset_1", - "nodeType": "YulIdentifier", - "src": "38801:8:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "38811:2:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "38798:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "38798:16:34" - }, - "nodeType": "YulIf", - "src": "38795:36:34" - }, - { - "nodeType": "YulAssignment", - "src": "38840:62:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "38872:9:34" - }, - { - "name": "offset_1", - "nodeType": "YulIdentifier", - "src": "38883:8:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "38868:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "38868:24:34" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "38894:7:34" - } - ], - "functionName": { - "name": "abi_decode_string", - "nodeType": "YulIdentifier", - "src": "38850:17:34" - }, - "nodeType": "YulFunctionCall", - "src": "38850:52:34" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "38840:6:34" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "38911:45:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "38941:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "38952:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "38937:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "38937:18:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "38924:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "38924:32:34" - }, - "variables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "38915:5:34", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "38990:5:34" - } - ], - "functionName": { - "name": "validator_revert_address", - "nodeType": "YulIdentifier", - "src": "38965:24:34" - }, - "nodeType": "YulFunctionCall", - "src": "38965:31:34" - }, - "nodeType": "YulExpressionStatement", - "src": "38965:31:34" - }, - { - "nodeType": "YulAssignment", - "src": "39005:15:34", - "value": { - "name": "value", - "nodeType": "YulIdentifier", - "src": "39015:5:34" - }, - "variableNames": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "39005:6:34" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "39029:42:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "39056:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "39067:2:34", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "39052:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "39052:18:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "39039:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "39039:32:34" - }, - "variableNames": [ - { - "name": "value3", - "nodeType": "YulIdentifier", - "src": "39029:6:34" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "39080:43:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "39107:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "39118:3:34", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "39103:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "39103:19:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "39090:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "39090:33:34" - }, - "variableNames": [ - { - "name": "value4", - "nodeType": "YulIdentifier", - "src": "39080:6:34" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "39132:43:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "39159:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "39170:3:34", - "type": "", - "value": "160" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "39155:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "39155:19:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "39142:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "39142:33:34" - }, - "variableNames": [ - { - "name": "value5", - "nodeType": "YulIdentifier", - "src": "39132:6:34" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_string_memory_ptrt_string_memory_ptrt_address_payablet_bytes32t_bytes32t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "38397:9:34", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "38408:7:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "38420:6:34", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "38428:6:34", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "38436:6:34", - "type": "" - }, - { - "name": "value3", - "nodeType": "YulTypedName", - "src": "38444:6:34", - "type": "" - }, - { - "name": "value4", - "nodeType": "YulTypedName", - "src": "38452:6:34", - "type": "" - }, - { - "name": "value5", - "nodeType": "YulTypedName", - "src": "38460:6:34", - "type": "" - } - ], - "src": "38288:893:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "39411:302:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "39428:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "39439:3:34", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "39421:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "39421:22:34" - }, - "nodeType": "YulExpressionStatement", - "src": "39421:22:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "39452:60:34", - "value": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "39484:6:34" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "39496:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "39507:3:34", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "39492:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "39492:19:34" - } - ], - "functionName": { - "name": "abi_encode_string", - "nodeType": "YulIdentifier", - "src": "39466:17:34" - }, - "nodeType": "YulFunctionCall", - "src": "39466:46:34" - }, - "variables": [ - { - "name": "tail_1", - "nodeType": "YulTypedName", - "src": "39456:6:34", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "39532:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "39543:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "39528:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "39528:18:34" - }, - { - "arguments": [ - { - "name": "tail_1", - "nodeType": "YulIdentifier", - "src": "39552:6:34" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "39560:9:34" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "39548:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "39548:22:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "39521:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "39521:50:34" - }, - "nodeType": "YulExpressionStatement", - "src": "39521:50:34" - }, - { - "nodeType": "YulAssignment", - "src": "39580:41:34", - "value": { - "arguments": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "39606:6:34" - }, - { - "name": "tail_1", - "nodeType": "YulIdentifier", - "src": "39614:6:34" - } - ], - "functionName": { - "name": "abi_encode_string", - "nodeType": "YulIdentifier", - "src": "39588:17:34" - }, - "nodeType": "YulFunctionCall", - "src": "39588:33:34" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "39580:4:34" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "39641:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "39652:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "39637:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "39637:18:34" - }, - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "39657:6:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "39630:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "39630:34:34" - }, - "nodeType": "YulExpressionStatement", - "src": "39630:34:34" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "39684:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "39695:2:34", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "39680:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "39680:18:34" - }, - { - "name": "value3", - "nodeType": "YulIdentifier", - "src": "39700:6:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "39673:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "39673:34:34" - }, - "nodeType": "YulExpressionStatement", - "src": "39673:34:34" - } - ] - }, - "name": "abi_encode_tuple_t_string_memory_ptr_t_string_memory_ptr_t_bytes32_t_uint256__to_t_string_memory_ptr_t_string_memory_ptr_t_bytes32_t_uint256__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "39356:9:34", - "type": "" - }, - { - "name": "value3", - "nodeType": "YulTypedName", - "src": "39367:6:34", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "39375:6:34", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "39383:6:34", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "39391:6:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "39402:4:34", - "type": "" - } - ], - "src": "39186:527:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "39938:160:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "39955:3:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "39960:66:34", - "type": "", - "value": "0x19457468657265756d205369676e6564204d6573736167653a0a333200000000" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "39948:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "39948:79:34" - }, - "nodeType": "YulExpressionStatement", - "src": "39948:79:34" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "40047:3:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "40052:2:34", - "type": "", - "value": "28" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "40043:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "40043:12:34" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "40057:6:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "40036:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "40036:28:34" - }, - "nodeType": "YulExpressionStatement", - "src": "40036:28:34" - }, - { - "nodeType": "YulAssignment", - "src": "40073:19:34", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "40084:3:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "40089:2:34", - "type": "", - "value": "60" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "40080:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "40080:12:34" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "40073:3:34" - } - ] - } - ] - }, - "name": "abi_encode_tuple_packed_t_stringliteral_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73_t_bytes32__to_t_string_memory_ptr_t_bytes32__nonPadded_inplace_fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "39914:3:34", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "39919:6:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "39930:3:34", - "type": "" - } - ], - "src": "39718:380:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "40460:619:34", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "40470:13:34", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "40480:3:34", - "type": "", - "value": "256" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "40474:2:34", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "40499:9:34" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "40510:6:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "40492:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "40492:25:34" - }, - "nodeType": "YulExpressionStatement", - "src": "40492:25:34" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "40537:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "40548:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "40533:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "40533:18:34" - }, - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "40553:6:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "40526:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "40526:34:34" - }, - "nodeType": "YulExpressionStatement", - "src": "40526:34:34" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "40580:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "40591:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "40576:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "40576:18:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "40596:2:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "40569:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "40569:30:34" - }, - "nodeType": "YulExpressionStatement", - "src": "40569:30:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "40608:59:34", - "value": { - "arguments": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "40640:6:34" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "40652:9:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "40663:2:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "40648:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "40648:18:34" - } - ], - "functionName": { - "name": "abi_encode_string", - "nodeType": "YulIdentifier", - "src": "40622:17:34" - }, - "nodeType": "YulFunctionCall", - "src": "40622:45:34" - }, - "variables": [ - { - "name": "tail_1", - "nodeType": "YulTypedName", - "src": "40612:6:34", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "40687:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "40698:2:34", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "40683:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "40683:18:34" - }, - { - "arguments": [ - { - "name": "tail_1", - "nodeType": "YulIdentifier", - "src": "40707:6:34" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "40715:9:34" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "40703:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "40703:22:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "40676:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "40676:50:34" - }, - "nodeType": "YulExpressionStatement", - "src": "40676:50:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "40735:47:34", - "value": { - "arguments": [ - { - "name": "value3", - "nodeType": "YulIdentifier", - "src": "40767:6:34" - }, - { - "name": "tail_1", - "nodeType": "YulIdentifier", - "src": "40775:6:34" - } - ], - "functionName": { - "name": "abi_encode_string", - "nodeType": "YulIdentifier", - "src": "40749:17:34" - }, - "nodeType": "YulFunctionCall", - "src": "40749:33:34" - }, - "variables": [ - { - "name": "tail_2", - "nodeType": "YulTypedName", - "src": "40739:6:34", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "40802:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "40813:3:34", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "40798:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "40798:19:34" - }, - { - "arguments": [ - { - "name": "value4", - "nodeType": "YulIdentifier", - "src": "40823:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "40831:42:34", - "type": "", - "value": "0xffffffffffffffffffffffffffffffffffffffff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "40819:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "40819:55:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "40791:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "40791:84:34" - }, - "nodeType": "YulExpressionStatement", - "src": "40791:84:34" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "40895:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "40906:3:34", - "type": "", - "value": "160" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "40891:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "40891:19:34" - }, - { - "name": "value5", - "nodeType": "YulIdentifier", - "src": "40912:6:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "40884:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "40884:35:34" - }, - "nodeType": "YulExpressionStatement", - "src": "40884:35:34" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "40939:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "40950:3:34", - "type": "", - "value": "192" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "40935:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "40935:19:34" - }, - { - "arguments": [ - { - "name": "tail_2", - "nodeType": "YulIdentifier", - "src": "40960:6:34" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "40968:9:34" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "40956:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "40956:22:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "40928:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "40928:51:34" - }, - "nodeType": "YulExpressionStatement", - "src": "40928:51:34" - }, - { - "nodeType": "YulAssignment", - "src": "40988:41:34", - "value": { - "arguments": [ - { - "name": "value6", - "nodeType": "YulIdentifier", - "src": "41014:6:34" - }, - { - "name": "tail_2", - "nodeType": "YulIdentifier", - "src": "41022:6:34" - } - ], - "functionName": { - "name": "abi_encode_string", - "nodeType": "YulIdentifier", - "src": "40996:17:34" - }, - "nodeType": "YulFunctionCall", - "src": "40996:33:34" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "40988:4:34" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "41049:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "41060:3:34", - "type": "", - "value": "224" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "41045:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "41045:19:34" - }, - { - "name": "value7", - "nodeType": "YulIdentifier", - "src": "41066:6:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "41038:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "41038:35:34" - }, - "nodeType": "YulExpressionStatement", - "src": "41038:35:34" - } - ] - }, - "name": "abi_encode_tuple_t_bytes32_t_bytes32_t_string_memory_ptr_t_string_memory_ptr_t_address_t_bytes32_t_string_memory_ptr_t_uint256__to_t_bytes32_t_bytes32_t_string_memory_ptr_t_string_memory_ptr_t_address_t_bytes32_t_string_memory_ptr_t_uint256__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "40373:9:34", - "type": "" - }, - { - "name": "value7", - "nodeType": "YulTypedName", - "src": "40384:6:34", - "type": "" - }, - { - "name": "value6", - "nodeType": "YulTypedName", - "src": "40392:6:34", - "type": "" - }, - { - "name": "value5", - "nodeType": "YulTypedName", - "src": "40400:6:34", - "type": "" - }, - { - "name": "value4", - "nodeType": "YulTypedName", - "src": "40408:6:34", - "type": "" - }, - { - "name": "value3", - "nodeType": "YulTypedName", - "src": "40416:6:34", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "40424:6:34", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "40432:6:34", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "40440:6:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "40451:4:34", - "type": "" - } - ], - "src": "40103:976:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "41279:238:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "41296:3:34" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "41301:6:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "41289:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "41289:19:34" - }, - "nodeType": "YulExpressionStatement", - "src": "41289:19:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "41317:27:34", - "value": { - "arguments": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "41337:6:34" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "41331:5:34" - }, - "nodeType": "YulFunctionCall", - "src": "41331:13:34" - }, - "variables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "41321:6:34", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "41379:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "41387:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "41375:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "41375:15:34" - }, - { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "41396:3:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "41401:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "41392:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "41392:12:34" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "41406:6:34" - } - ], - "functionName": { - "name": "copy_memory_to_memory", - "nodeType": "YulIdentifier", - "src": "41353:21:34" - }, - "nodeType": "YulFunctionCall", - "src": "41353:60:34" - }, - "nodeType": "YulExpressionStatement", - "src": "41353:60:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "41422:26:34", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "41436:3:34" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "41441:6:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "41432:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "41432:16:34" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "41426:2:34", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "41468:2:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "41472:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "41464:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "41464:11:34" - }, - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "41477:6:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "41457:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "41457:27:34" - }, - "nodeType": "YulExpressionStatement", - "src": "41457:27:34" - }, - { - "nodeType": "YulAssignment", - "src": "41493:18:34", - "value": { - "arguments": [ - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "41504:2:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "41508:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "41500:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "41500:11:34" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "41493:3:34" - } - ] - } - ] - }, - "name": "abi_encode_tuple_packed_t_bytes32_t_string_memory_ptr_t_uint256__to_t_bytes32_t_string_memory_ptr_t_uint256__nonPadded_inplace_fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "41239:3:34", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "41244:6:34", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "41252:6:34", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "41260:6:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "41271:3:34", - "type": "" - } - ], - "src": "41084:433:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "41679:241:34", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "41689:26:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "41701:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "41712:2:34", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "41697:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "41697:18:34" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "41689:4:34" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "41724:52:34", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "41734:42:34", - "type": "", - "value": "0xffffffffffffffffffffffffffffffffffffffff" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "41728:2:34", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "41792:9:34" - }, - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "41807:6:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "41815:2:34" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "41803:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "41803:15:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "41785:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "41785:34:34" - }, - "nodeType": "YulExpressionStatement", - "src": "41785:34:34" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "41839:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "41850:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "41835:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "41835:18:34" - }, - { - "arguments": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "41859:6:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "41867:2:34" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "41855:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "41855:15:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "41828:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "41828:43:34" - }, - "nodeType": "YulExpressionStatement", - "src": "41828:43:34" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "41891:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "41902:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "41887:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "41887:18:34" - }, - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "41907:6:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "41880:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "41880:34:34" - }, - "nodeType": "YulExpressionStatement", - "src": "41880:34:34" - } - ] - }, - "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": "41632:9:34", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "41643:6:34", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "41651:6:34", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "41659:6:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "41670:4:34", - "type": "" - } - ], - "src": "41522:398:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "42006:170:34", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "42052:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "42061:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "42064:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "42054:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "42054:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "42054:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "42027:7:34" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "42036:9:34" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "42023:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "42023:23:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "42048:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "42019:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "42019:32:34" - }, - "nodeType": "YulIf", - "src": "42016:52:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "42077:29:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "42096:9:34" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "42090:5:34" - }, - "nodeType": "YulFunctionCall", - "src": "42090:16:34" - }, - "variables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "42081:5:34", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "42140:5:34" - } - ], - "functionName": { - "name": "validator_revert_address", - "nodeType": "YulIdentifier", - "src": "42115:24:34" - }, - "nodeType": "YulFunctionCall", - "src": "42115:31:34" - }, - "nodeType": "YulExpressionStatement", - "src": "42115:31:34" - }, - { - "nodeType": "YulAssignment", - "src": "42155:15:34", - "value": { - "name": "value", - "nodeType": "YulIdentifier", - "src": "42165:5:34" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "42155:6:34" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_address_fromMemory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "41972:9:34", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "41983:7:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "41995:6:34", - "type": "" - } - ], - "src": "41925:251:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "42348:181:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "42365:3:34" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "42370:6:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "42358:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "42358:19:34" - }, - "nodeType": "YulExpressionStatement", - "src": "42358:19:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "42386:27:34", - "value": { - "arguments": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "42406:6:34" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "42400:5:34" - }, - "nodeType": "YulFunctionCall", - "src": "42400:13:34" - }, - "variables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "42390:6:34", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "42448:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "42456:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "42444:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "42444:15:34" - }, - { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "42465:3:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "42470:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "42461:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "42461:12:34" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "42475:6:34" - } - ], - "functionName": { - "name": "copy_memory_to_memory", - "nodeType": "YulIdentifier", - "src": "42422:21:34" - }, - "nodeType": "YulFunctionCall", - "src": "42422:60:34" - }, - "nodeType": "YulExpressionStatement", - "src": "42422:60:34" - }, - { - "nodeType": "YulAssignment", - "src": "42491:32:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "42506:3:34" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "42511:6:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "42502:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "42502:16:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "42520:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "42498:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "42498:25:34" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "42491:3:34" - } - ] - } - ] - }, - "name": "abi_encode_tuple_packed_t_bytes32_t_string_memory_ptr__to_t_bytes32_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "42316:3:34", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "42321:6:34", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "42329:6:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "42340:3:34", - "type": "" - } - ], - "src": "42181:348:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "42815:439:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "42832:9:34" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "42843:6:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "42825:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "42825:25:34" - }, - "nodeType": "YulExpressionStatement", - "src": "42825:25:34" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "42870:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "42881:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "42866:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "42866:18:34" - }, - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "42886:6:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "42859:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "42859:34:34" - }, - "nodeType": "YulExpressionStatement", - "src": "42859:34:34" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "42913:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "42924:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "42909:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "42909:18:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "42929:3:34", - "type": "", - "value": "192" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "42902:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "42902:31:34" - }, - "nodeType": "YulExpressionStatement", - "src": "42902:31:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "42942:60:34", - "value": { - "arguments": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "42974:6:34" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "42986:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "42997:3:34", - "type": "", - "value": "192" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "42982:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "42982:19:34" - } - ], - "functionName": { - "name": "abi_encode_string", - "nodeType": "YulIdentifier", - "src": "42956:17:34" - }, - "nodeType": "YulFunctionCall", - "src": "42956:46:34" - }, - "variables": [ - { - "name": "tail_1", - "nodeType": "YulTypedName", - "src": "42946:6:34", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "43022:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "43033:2:34", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "43018:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "43018:18:34" - }, - { - "arguments": [ - { - "name": "tail_1", - "nodeType": "YulIdentifier", - "src": "43042:6:34" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "43050:9:34" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "43038:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "43038:22:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "43011:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "43011:50:34" - }, - "nodeType": "YulExpressionStatement", - "src": "43011:50:34" - }, - { - "nodeType": "YulAssignment", - "src": "43070:41:34", - "value": { - "arguments": [ - { - "name": "value3", - "nodeType": "YulIdentifier", - "src": "43096:6:34" - }, - { - "name": "tail_1", - "nodeType": "YulIdentifier", - "src": "43104:6:34" - } - ], - "functionName": { - "name": "abi_encode_string", - "nodeType": "YulIdentifier", - "src": "43078:17:34" - }, - "nodeType": "YulFunctionCall", - "src": "43078:33:34" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "43070:4:34" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "43131:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "43142:3:34", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "43127:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "43127:19:34" - }, - { - "arguments": [ - { - "name": "value4", - "nodeType": "YulIdentifier", - "src": "43152:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "43160:42:34", - "type": "", - "value": "0xffffffffffffffffffffffffffffffffffffffff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "43148:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "43148:55:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "43120:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "43120:84:34" - }, - "nodeType": "YulExpressionStatement", - "src": "43120:84:34" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "43224:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "43235:3:34", - "type": "", - "value": "160" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "43220:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "43220:19:34" - }, - { - "name": "value5", - "nodeType": "YulIdentifier", - "src": "43241:6:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "43213:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "43213:35:34" - }, - "nodeType": "YulExpressionStatement", - "src": "43213:35:34" - } - ] - }, - "name": "abi_encode_tuple_t_bytes32_t_bytes32_t_string_memory_ptr_t_string_memory_ptr_t_address_t_bytes32__to_t_bytes32_t_bytes32_t_string_memory_ptr_t_string_memory_ptr_t_address_t_bytes32__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "42744:9:34", - "type": "" - }, - { - "name": "value5", - "nodeType": "YulTypedName", - "src": "42755:6:34", - "type": "" - }, - { - "name": "value4", - "nodeType": "YulTypedName", - "src": "42763:6:34", - "type": "" - }, - { - "name": "value3", - "nodeType": "YulTypedName", - "src": "42771:6:34", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "42779:6:34", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "42787:6:34", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "42795:6:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "42806:4:34", - "type": "" - } - ], - "src": "42534:720:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "43408:142:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "43425:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "43436:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "43418:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "43418:21:34" - }, - "nodeType": "YulExpressionStatement", - "src": "43418:21:34" - }, - { - "nodeType": "YulAssignment", - "src": "43448:53:34", - "value": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "43474:6:34" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "43486:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "43497:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "43482:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "43482:18:34" - } - ], - "functionName": { - "name": "abi_encode_string", - "nodeType": "YulIdentifier", - "src": "43456:17:34" - }, - "nodeType": "YulFunctionCall", - "src": "43456:45:34" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "43448:4:34" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "43521:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "43532:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "43517:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "43517:18:34" - }, - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "43537:6:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "43510:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "43510:34:34" - }, - "nodeType": "YulExpressionStatement", - "src": "43510:34:34" - } - ] - }, - "name": "abi_encode_tuple_t_string_memory_ptr_t_uint256__to_t_string_memory_ptr_t_uint256__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "43369:9:34", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "43380:6:34", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "43388:6:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "43399:4:34", - "type": "" - } - ], - "src": "43259:291:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "43702:100:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "43719:3:34" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "43724:6:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "43712:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "43712:19:34" - }, - "nodeType": "YulExpressionStatement", - "src": "43712:19:34" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "43751:3:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "43756:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "43747:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "43747:12:34" - }, - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "43761:6:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "43740:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "43740:28:34" - }, - "nodeType": "YulExpressionStatement", - "src": "43740:28:34" - }, - { - "nodeType": "YulAssignment", - "src": "43777:19:34", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "43788:3:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "43793:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "43784:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "43784:12:34" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "43777:3:34" - } - ] - } - ] - }, - "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": "43670:3:34", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "43675:6:34", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "43683:6:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "43694:3:34", - "type": "" - } - ], - "src": "43555:247:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "43954:100:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "43971:3:34" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "43976:6:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "43964:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "43964:19:34" - }, - "nodeType": "YulExpressionStatement", - "src": "43964:19:34" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "44003:3:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "44008:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "43999:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "43999:12:34" - }, - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "44013:6:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "43992:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "43992:28:34" - }, - "nodeType": "YulExpressionStatement", - "src": "43992:28:34" - }, - { - "nodeType": "YulAssignment", - "src": "44029:19:34", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "44040:3:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "44045:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "44036:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "44036:12:34" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "44029:3:34" - } - ] - } - ] - }, - "name": "abi_encode_tuple_packed_t_bytes32_t_uint256__to_t_bytes32_t_uint256__nonPadded_inplace_fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "43922:3:34", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "43927:6:34", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "43935:6:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "43946:3:34", - "type": "" - } - ], - "src": "43807:247:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "44234:137:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "44251:3:34" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "44256:6:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "44244:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "44244:19:34" - }, - "nodeType": "YulExpressionStatement", - "src": "44244:19:34" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "44283:3:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "44288:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "44279:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "44279:12:34" - }, - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "44293:6:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "44272:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "44272:28:34" - }, - "nodeType": "YulExpressionStatement", - "src": "44272:28:34" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "44320:3:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "44325:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "44316:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "44316:12:34" - }, - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "44330:6:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "44309:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "44309:28:34" - }, - "nodeType": "YulExpressionStatement", - "src": "44309:28:34" - }, - { - "nodeType": "YulAssignment", - "src": "44346:19:34", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "44357:3:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "44362:2:34", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "44353:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "44353:12:34" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "44346:3:34" - } - ] - } - ] - }, - "name": "abi_encode_tuple_packed_t_bytes32_t_uint256_t_uint256__to_t_bytes32_t_uint256_t_uint256__nonPadded_inplace_fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "44194:3:34", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "44199:6:34", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "44207:6:34", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "44215:6:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "44226:3:34", - "type": "" - } - ], - "src": "44059:312:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "44551:184:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "44568:3:34" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "44573:6:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "44561:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "44561:19:34" - }, - "nodeType": "YulExpressionStatement", - "src": "44561:19:34" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "44600:3:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "44605:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "44596:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "44596:12:34" - }, - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "44610:6:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "44589:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "44589:28:34" - }, - "nodeType": "YulExpressionStatement", - "src": "44589:28:34" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "44637:3:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "44642:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "44633:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "44633:12:34" - }, - { - "arguments": [ - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "44655:2:34", - "type": "", - "value": "96" - }, - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "44659:6:34" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "44651:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "44651:15:34" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "44672:26:34", - "type": "", - "value": "0xffffffffffffffffffffffff" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "44668:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "44668:31:34" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "44647:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "44647:53:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "44626:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "44626:75:34" - }, - "nodeType": "YulExpressionStatement", - "src": "44626:75:34" - }, - { - "nodeType": "YulAssignment", - "src": "44710:19:34", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "44721:3:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "44726:2:34", - "type": "", - "value": "84" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "44717:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "44717:12:34" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "44710:3:34" - } - ] - } - ] - }, - "name": "abi_encode_tuple_packed_t_bytes32_t_uint256_t_address__to_t_bytes32_t_uint256_t_address__nonPadded_inplace_fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "44511:3:34", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "44516:6:34", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "44524:6:34", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "44532:6:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "44543:3:34", - "type": "" - } - ], - "src": "44376:359:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "44943:222:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "44960:3:34" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "44965:6:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "44953:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "44953:19:34" - }, - "nodeType": "YulExpressionStatement", - "src": "44953:19:34" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "44992:3:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "44997:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "44988:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "44988:12:34" - }, - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "45002:6:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "44981:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "44981:28:34" - }, - "nodeType": "YulExpressionStatement", - "src": "44981:28:34" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "45029:3:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "45034:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "45025:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "45025:12:34" - }, - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "45039:6:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "45018:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "45018:28:34" - }, - "nodeType": "YulExpressionStatement", - "src": "45018:28:34" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "45066:3:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "45071:2:34", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "45062:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "45062:12:34" - }, - { - "arguments": [ - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "45084:2:34", - "type": "", - "value": "96" - }, - { - "name": "value3", - "nodeType": "YulIdentifier", - "src": "45088:6:34" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "45080:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "45080:15:34" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "45101:26:34", - "type": "", - "value": "0xffffffffffffffffffffffff" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "45097:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "45097:31:34" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "45076:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "45076:53:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "45055:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "45055:75:34" - }, - "nodeType": "YulExpressionStatement", - "src": "45055:75:34" - }, - { - "nodeType": "YulAssignment", - "src": "45139:20:34", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "45150:3:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "45155:3:34", - "type": "", - "value": "116" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "45146:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "45146:13:34" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "45139:3:34" - } - ] - } - ] - }, - "name": "abi_encode_tuple_packed_t_bytes32_t_uint256_t_bytes32_t_address__to_t_bytes32_t_uint256_t_bytes32_t_address__nonPadded_inplace_fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "44895:3:34", - "type": "" - }, - { - "name": "value3", - "nodeType": "YulTypedName", - "src": "44900:6:34", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "44908:6:34", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "44916:6:34", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "44924:6:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "44935:3:34", - "type": "" - } - ], - "src": "44740:425:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "45345:137:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "45362:3:34" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "45367:6:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "45355:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "45355:19:34" - }, - "nodeType": "YulExpressionStatement", - "src": "45355:19:34" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "45394:3:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "45399:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "45390:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "45390:12:34" - }, - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "45404:6:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "45383:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "45383:28:34" - }, - "nodeType": "YulExpressionStatement", - "src": "45383:28:34" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "45431:3:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "45436:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "45427:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "45427:12:34" - }, - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "45441:6:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "45420:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "45420:28:34" - }, - "nodeType": "YulExpressionStatement", - "src": "45420:28:34" - }, - { - "nodeType": "YulAssignment", - "src": "45457:19:34", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "45468:3:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "45473:2:34", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "45464:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "45464:12:34" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "45457:3:34" - } - ] - } - ] - }, - "name": "abi_encode_tuple_packed_t_bytes32_t_uint256_t_bytes32__to_t_bytes32_t_uint256_t_bytes32__nonPadded_inplace_fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "45305:3:34", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "45310:6:34", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "45318:6:34", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "45326:6:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "45337:3:34", - "type": "" - } - ], - "src": "45170:312:34" - } - ] - }, - "contents": "{\n { }\n function abi_decode_bytes_calldata(offset, end) -> arrayPos, length\n {\n if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n length := calldataload(offset)\n if gt(length, 0xffffffffffffffff) { revert(0, 0) }\n arrayPos := add(offset, 0x20)\n if gt(add(add(offset, length), 0x20), end) { revert(0, 0) }\n }\n function abi_decode_tuple_t_bytes_calldata_ptr(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let offset := calldataload(headStart)\n if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n let value0_1, value1_1 := abi_decode_bytes_calldata(add(headStart, offset), dataEnd)\n value0 := value0_1\n value1 := value1_1\n }\n function abi_decode_tuple_t_bytes_calldata_ptrt_bytes32(headStart, dataEnd) -> value0, value1, value2\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n let offset := calldataload(headStart)\n if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n let value0_1, value1_1 := abi_decode_bytes_calldata(add(headStart, offset), dataEnd)\n value0 := value0_1\n value1 := value1_1\n value2 := calldataload(add(headStart, 32))\n }\n function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n value0 := calldataload(headStart)\n }\n function abi_encode_tuple_t_array$_t_address_$dyn_memory_ptr__to_t_array$_t_address_$dyn_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n {\n let _1 := 32\n let tail_1 := add(headStart, _1)\n mstore(headStart, _1)\n let pos := tail_1\n let length := mload(value0)\n mstore(tail_1, length)\n pos := add(headStart, 64)\n let srcPtr := add(value0, _1)\n let i := 0\n for { } lt(i, length) { i := add(i, 1) }\n {\n mstore(pos, and(mload(srcPtr), 0xffffffffffffffffffffffffffffffffffffffff))\n pos := add(pos, _1)\n srcPtr := add(srcPtr, _1)\n }\n tail := pos\n }\n function abi_decode_tuple_t_bytes32t_string_calldata_ptrt_string_calldata_ptrt_bytes32t_string_calldata_ptrt_uint256(headStart, dataEnd) -> value0, value1, value2, value3, value4, value5, value6, value7, value8\n {\n if slt(sub(dataEnd, headStart), 192) { revert(0, 0) }\n value0 := calldataload(headStart)\n let offset := calldataload(add(headStart, 32))\n let _1 := 0xffffffffffffffff\n if gt(offset, _1) { revert(0, 0) }\n let value1_1, value2_1 := abi_decode_bytes_calldata(add(headStart, offset), dataEnd)\n value1 := value1_1\n value2 := value2_1\n let offset_1 := calldataload(add(headStart, 64))\n if gt(offset_1, _1) { revert(0, 0) }\n let value3_1, value4_1 := abi_decode_bytes_calldata(add(headStart, offset_1), dataEnd)\n value3 := value3_1\n value4 := value4_1\n value5 := calldataload(add(headStart, 96))\n let offset_2 := calldataload(add(headStart, 128))\n if gt(offset_2, _1) { revert(0, 0) }\n let value6_1, value7_1 := abi_decode_bytes_calldata(add(headStart, offset_2), dataEnd)\n value6 := value6_1\n value7 := value7_1\n value8 := calldataload(add(headStart, 160))\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_decode_tuple_t_string_calldata_ptrt_string_calldata_ptrt_bytes_calldata_ptr(headStart, dataEnd) -> value0, value1, value2, value3, value4, value5\n {\n if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n let offset := calldataload(headStart)\n let _1 := 0xffffffffffffffff\n if gt(offset, _1) { revert(0, 0) }\n let value0_1, value1_1 := abi_decode_bytes_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(0, 0) }\n let value2_1, value3_1 := abi_decode_bytes_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(0, 0) }\n let value4_1, value5_1 := abi_decode_bytes_calldata(add(headStart, offset_2), dataEnd)\n value4 := value4_1\n value5 := value5_1\n }\n function abi_decode_tuple_t_bytes32(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n value0 := calldataload(headStart)\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 panic_error_0x41()\n {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n function allocate_memory(size) -> memPtr\n {\n memPtr := mload(64)\n let newFreePtr := add(memPtr, and(add(size, 31), not(31)))\n if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n }\n function array_allocation_size_string(length) -> size\n {\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n size := add(and(add(length, 31), not(31)), 0x20)\n }\n function abi_decode_string(offset, end) -> array\n {\n if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n let _1 := calldataload(offset)\n let array_1 := allocate_memory(array_allocation_size_string(_1))\n mstore(array_1, _1)\n if gt(add(add(offset, _1), 0x20), end) { revert(0, 0) }\n calldatacopy(add(array_1, 0x20), add(offset, 0x20), _1)\n mstore(add(add(array_1, _1), 0x20), 0)\n array := array_1\n }\n function abi_decode_tuple_t_string_memory_ptr(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let offset := calldataload(headStart)\n if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n value0 := abi_decode_string(add(headStart, offset), dataEnd)\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_decode_tuple_t_string_calldata_ptrt_string_calldata_ptrt_string_calldata_ptrt_uint256(headStart, dataEnd) -> value0, value1, value2, value3, value4, value5, value6\n {\n if slt(sub(dataEnd, headStart), 128) { revert(0, 0) }\n let offset := calldataload(headStart)\n let _1 := 0xffffffffffffffff\n if gt(offset, _1) { revert(0, 0) }\n let value0_1, value1_1 := abi_decode_bytes_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(0, 0) }\n let value2_1, value3_1 := abi_decode_bytes_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(0, 0) }\n let value4_1, value5_1 := abi_decode_bytes_calldata(add(headStart, offset_2), dataEnd)\n value4 := value4_1\n value5 := value5_1\n value6 := calldataload(add(headStart, 96))\n }\n function abi_decode_tuple_t_bytes32t_string_calldata_ptrt_string_calldata_ptrt_bytes32(headStart, dataEnd) -> value0, value1, value2, value3, value4, value5\n {\n if slt(sub(dataEnd, headStart), 128) { revert(0, 0) }\n value0 := calldataload(headStart)\n let offset := calldataload(add(headStart, 32))\n let _1 := 0xffffffffffffffff\n if gt(offset, _1) { revert(0, 0) }\n let value1_1, value2_1 := abi_decode_bytes_calldata(add(headStart, offset), dataEnd)\n value1 := value1_1\n value2 := value2_1\n let offset_1 := calldataload(add(headStart, 64))\n if gt(offset_1, _1) { revert(0, 0) }\n let value3_1, value4_1 := abi_decode_bytes_calldata(add(headStart, offset_1), dataEnd)\n value3 := value3_1\n value4 := value4_1\n value5 := calldataload(add(headStart, 96))\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 abi_encode_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_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n {\n mstore(headStart, 32)\n tail := abi_encode_string(value0, add(headStart, 32))\n }\n function validator_revert_address(value)\n {\n if iszero(eq(value, and(value, 0xffffffffffffffffffffffffffffffffffffffff))) { revert(0, 0) }\n }\n function abi_decode_tuple_t_addresst_bytes32t_bytes_calldata_ptr(headStart, dataEnd) -> value0, value1, value2, value3\n {\n if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n let value := calldataload(headStart)\n validator_revert_address(value)\n value0 := value\n value1 := calldataload(add(headStart, 32))\n let offset := calldataload(add(headStart, 64))\n if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n let value2_1, value3_1 := abi_decode_bytes_calldata(add(headStart, offset), dataEnd)\n value2 := value2_1\n value3 := value3_1\n }\n function abi_decode_tuple_t_string_calldata_ptrt_string_calldata_ptrt_bytes_calldata_ptrt_string_calldata_ptrt_uint256(headStart, dataEnd) -> value0, value1, value2, value3, value4, value5, value6, value7, value8\n {\n if slt(sub(dataEnd, headStart), 160) { revert(0, 0) }\n let offset := calldataload(headStart)\n let _1 := 0xffffffffffffffff\n if gt(offset, _1) { revert(0, 0) }\n let value0_1, value1_1 := abi_decode_bytes_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(0, 0) }\n let value2_1, value3_1 := abi_decode_bytes_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(0, 0) }\n let value4_1, value5_1 := abi_decode_bytes_calldata(add(headStart, offset_2), dataEnd)\n value4 := value4_1\n value5 := value5_1\n let offset_3 := calldataload(add(headStart, 96))\n if gt(offset_3, _1) { revert(0, 0) }\n let value6_1, value7_1 := abi_decode_bytes_calldata(add(headStart, offset_3), dataEnd)\n value6 := value6_1\n value7 := value7_1\n value8 := calldataload(add(headStart, 128))\n }\n function abi_decode_tuple_t_bytes32t_string_calldata_ptrt_string_calldata_ptrt_addresst_bytes32t_string_calldata_ptrt_uint256(headStart, dataEnd) -> value0, value1, value2, value3, value4, value5, value6, value7, value8, value9\n {\n if slt(sub(dataEnd, headStart), 224) { revert(0, 0) }\n value0 := calldataload(headStart)\n let offset := calldataload(add(headStart, 32))\n let _1 := 0xffffffffffffffff\n if gt(offset, _1) { revert(0, 0) }\n let value1_1, value2_1 := abi_decode_bytes_calldata(add(headStart, offset), dataEnd)\n value1 := value1_1\n value2 := value2_1\n let offset_1 := calldataload(add(headStart, 64))\n if gt(offset_1, _1) { revert(0, 0) }\n let value3_1, value4_1 := abi_decode_bytes_calldata(add(headStart, offset_1), dataEnd)\n value3 := value3_1\n value4 := value4_1\n let value := calldataload(add(headStart, 96))\n validator_revert_address(value)\n value5 := value\n value6 := calldataload(add(headStart, 128))\n let offset_2 := calldataload(add(headStart, 160))\n if gt(offset_2, _1) { revert(0, 0) }\n let value7_1, value8_1 := abi_decode_bytes_calldata(add(headStart, offset_2), dataEnd)\n value7 := value7_1\n value8 := value8_1\n value9 := calldataload(add(headStart, 192))\n }\n function abi_encode_tuple_t_bytes_memory_ptr__to_t_bytes_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n {\n mstore(headStart, 32)\n tail := abi_encode_string(value0, add(headStart, 32))\n }\n function abi_encode_tuple_t_int256__to_t_int256__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, value0)\n }\n function abi_decode_array_string_calldata_dyn_calldata(offset, end) -> arrayPos, length\n {\n if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n length := calldataload(offset)\n if gt(length, 0xffffffffffffffff) { revert(0, 0) }\n arrayPos := add(offset, 0x20)\n if gt(add(add(offset, shl(5, length)), 0x20), end) { revert(0, 0) }\n }\n function abi_decode_tuple_t_array$_t_string_calldata_ptr_$dyn_calldata_ptrt_array$_t_uint256_$dyn_calldata_ptr(headStart, dataEnd) -> value0, value1, value2, value3\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n let offset := calldataload(headStart)\n let _1 := 0xffffffffffffffff\n if gt(offset, _1) { revert(0, 0) }\n let value0_1, value1_1 := abi_decode_array_string_calldata_dyn_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(0, 0) }\n let value2_1, value3_1 := abi_decode_array_string_calldata_dyn_calldata(add(headStart, offset_1), dataEnd)\n value2 := value2_1\n value3 := value3_1\n }\n function abi_decode_tuple_t_bytes32t_string_calldata_ptrt_string_calldata_ptrt_addresst_bytes32(headStart, dataEnd) -> value0, value1, value2, value3, value4, value5, value6\n {\n if slt(sub(dataEnd, headStart), 160) { revert(0, 0) }\n value0 := calldataload(headStart)\n let offset := calldataload(add(headStart, 32))\n let _1 := 0xffffffffffffffff\n if gt(offset, _1) { revert(0, 0) }\n let value1_1, value2_1 := abi_decode_bytes_calldata(add(headStart, offset), dataEnd)\n value1 := value1_1\n value2 := value2_1\n let offset_1 := calldataload(add(headStart, 64))\n if gt(offset_1, _1) { revert(0, 0) }\n let value3_1, value4_1 := abi_decode_bytes_calldata(add(headStart, offset_1), dataEnd)\n value3 := value3_1\n value4 := value4_1\n let value := calldataload(add(headStart, 96))\n validator_revert_address(value)\n value5 := value\n value6 := calldataload(add(headStart, 128))\n }\n function abi_decode_tuple_t_bytes_memory_ptr(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let offset := calldataload(headStart)\n if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n value0 := abi_decode_string(add(headStart, offset), dataEnd)\n }\n function abi_encode_array_bytes_dyn(value, pos) -> end\n {\n let length := mload(value)\n mstore(pos, length)\n let _1 := 0x20\n let updated_pos := add(pos, _1)\n let pos_1 := updated_pos\n pos := updated_pos\n let tail := add(pos_1, shl(5, length))\n let srcPtr := add(value, _1)\n let i := 0\n for { } lt(i, length) { i := add(i, 1) }\n {\n mstore(pos, sub(tail, pos_1))\n tail := abi_encode_string(mload(srcPtr), tail)\n srcPtr := add(srcPtr, _1)\n pos := add(pos, _1)\n }\n end := tail\n }\n function abi_encode_tuple_t_uint256_t_array$_t_bytes32_$dyn_memory_ptr_t_array$_t_string_memory_ptr_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr__to_t_uint256_t_array$_t_bytes32_$dyn_memory_ptr_t_array$_t_string_memory_ptr_$dyn_memory_ptr_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr__fromStack_reversed(headStart, value3, value2, value1, value0) -> tail\n {\n let tail_1 := add(headStart, 128)\n mstore(headStart, value0)\n let _1 := 32\n mstore(add(headStart, _1), 128)\n let pos := tail_1\n let length := mload(value1)\n mstore(tail_1, length)\n pos := add(headStart, 160)\n let srcPtr := add(value1, _1)\n let i := 0\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 mstore(add(headStart, 64), sub(pos, headStart))\n let pos_1 := pos\n let length_1 := mload(value2)\n mstore(pos, length_1)\n pos_1 := add(pos, _1)\n let tail_2 := add(add(pos, shl(5, length_1)), _1)\n let srcPtr_1 := add(value2, _1)\n let i_1 := 0\n for { } lt(i_1, length_1) { i_1 := add(i_1, 1) }\n {\n mstore(pos_1, add(sub(tail_2, pos), not(31)))\n tail_2 := abi_encode_string(mload(srcPtr_1), tail_2)\n srcPtr_1 := add(srcPtr_1, _1)\n pos_1 := add(pos_1, _1)\n }\n mstore(add(headStart, 96), sub(tail_2, headStart))\n tail := abi_encode_array_bytes_dyn(value3, tail_2)\n }\n function abi_decode_tuple_t_bytes_memory_ptrt_bytes_memory_ptr(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n let offset := calldataload(headStart)\n let _1 := 0xffffffffffffffff\n if gt(offset, _1) { revert(0, 0) }\n value0 := abi_decode_string(add(headStart, offset), dataEnd)\n let offset_1 := calldataload(add(headStart, 32))\n if gt(offset_1, _1) { revert(0, 0) }\n value1 := abi_decode_string(add(headStart, offset_1), dataEnd)\n }\n function abi_encode_tuple_t_bytes32_t_bytes_memory_ptr__to_t_bytes32_t_bytes_memory_ptr__fromStack_reversed(headStart, value1, value0) -> tail\n {\n mstore(headStart, value0)\n mstore(add(headStart, 32), 64)\n tail := abi_encode_string(value1, add(headStart, 64))\n }\n function abi_decode_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_bool_fromMemory(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n value0 := abi_decode_bool_fromMemory(headStart)\n }\n function array_allocation_size_array_bytes32_dyn(length) -> size\n {\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n size := add(shl(5, length), 0x20)\n }\n function abi_decode_array_bytes32_dyn_fromMemory(offset, end) -> array\n {\n if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n let _1 := mload(offset)\n let _2 := 0x20\n let dst := allocate_memory(array_allocation_size_array_bytes32_dyn(_1))\n let dst_1 := dst\n mstore(dst, _1)\n dst := add(dst, _2)\n let srcEnd := add(add(offset, shl(5, _1)), _2)\n if gt(srcEnd, end) { revert(0, 0) }\n let src := add(offset, _2)\n for { } lt(src, srcEnd) { src := add(src, _2) }\n {\n mstore(dst, mload(src))\n dst := add(dst, _2)\n }\n array := dst_1\n }\n function abi_decode_available_length_string_fromMemory(src, length, end) -> array\n {\n array := allocate_memory(array_allocation_size_string(length))\n mstore(array, length)\n if gt(add(src, length), end) { revert(0, 0) }\n copy_memory_to_memory(src, add(array, 0x20), length)\n }\n function abi_decode_array_string_dyn_fromMemory(offset, end) -> array\n {\n if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n let _1 := mload(offset)\n let _2 := 0x20\n let dst := allocate_memory(array_allocation_size_array_bytes32_dyn(_1))\n let dst_1 := dst\n mstore(dst, _1)\n dst := add(dst, _2)\n let srcEnd := add(add(offset, shl(5, _1)), _2)\n if gt(srcEnd, end) { revert(0, 0) }\n let src := add(offset, _2)\n for { } lt(src, srcEnd) { src := add(src, _2) }\n {\n let innerOffset := mload(src)\n if gt(innerOffset, 0xffffffffffffffff)\n {\n let _3 := 0\n revert(_3, _3)\n }\n let _4 := add(offset, innerOffset)\n if iszero(slt(add(_4, 63), end))\n {\n let _5 := 0\n revert(_5, _5)\n }\n mstore(dst, abi_decode_available_length_string_fromMemory(add(_4, 64), mload(add(_4, _2)), end))\n dst := add(dst, _2)\n }\n array := dst_1\n }\n function abi_decode_bytes_fromMemory(offset, end) -> array\n {\n if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n array := abi_decode_available_length_string_fromMemory(add(offset, 0x20), mload(offset), end)\n }\n function abi_decode_array_bytes_dyn_fromMemory(offset, end) -> array\n {\n if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n let _1 := mload(offset)\n let _2 := 0x20\n let dst := allocate_memory(array_allocation_size_array_bytes32_dyn(_1))\n let dst_1 := dst\n mstore(dst, _1)\n dst := add(dst, _2)\n let srcEnd := add(add(offset, shl(5, _1)), _2)\n if gt(srcEnd, end) { revert(0, 0) }\n let src := add(offset, _2)\n for { } lt(src, srcEnd) { src := add(src, _2) }\n {\n let innerOffset := mload(src)\n if gt(innerOffset, 0xffffffffffffffff)\n {\n let _3 := 0\n revert(_3, _3)\n }\n mstore(dst, abi_decode_bytes_fromMemory(add(add(offset, innerOffset), _2), end))\n dst := add(dst, _2)\n }\n array := dst_1\n }\n function abi_decode_tuple_t_uint256t_array$_t_bytes32_$dyn_memory_ptrt_array$_t_string_memory_ptr_$dyn_memory_ptrt_array$_t_bytes_memory_ptr_$dyn_memory_ptr_fromMemory(headStart, dataEnd) -> value0, value1, value2, value3\n {\n if slt(sub(dataEnd, headStart), 128) { revert(0, 0) }\n value0 := mload(headStart)\n let offset := mload(add(headStart, 32))\n let _1 := 0xffffffffffffffff\n if gt(offset, _1) { revert(0, 0) }\n value1 := abi_decode_array_bytes32_dyn_fromMemory(add(headStart, offset), dataEnd)\n let offset_1 := mload(add(headStart, 64))\n if gt(offset_1, _1) { revert(0, 0) }\n value2 := abi_decode_array_string_dyn_fromMemory(add(headStart, offset_1), dataEnd)\n let offset_2 := mload(add(headStart, 96))\n if gt(offset_2, _1) { revert(0, 0) }\n value3 := abi_decode_array_bytes_dyn_fromMemory(add(headStart, offset_2), dataEnd)\n }\n function panic_error_0x32()\n {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x32)\n revert(0, 0x24)\n }\n function abi_encode_tuple_packed_t_string_memory_ptr__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value0) -> end\n {\n let length := mload(value0)\n copy_memory_to_memory(add(value0, 0x20), pos, length)\n end := add(pos, length)\n }\n function abi_encode_tuple_t_bytes_memory_ptr_t_bytes32__to_t_bytes_memory_ptr_t_bytes32__fromStack_reversed(headStart, value1, value0) -> tail\n {\n mstore(headStart, 64)\n tail := abi_encode_string(value0, add(headStart, 64))\n mstore(add(headStart, 32), value1)\n }\n function abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value0) -> end\n {\n let length := mload(value0)\n copy_memory_to_memory(add(value0, 0x20), pos, length)\n end := add(pos, length)\n }\n function panic_error_0x11()\n {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\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 abi_decode_address_payable(offset) -> value\n {\n value := calldataload(offset)\n validator_revert_address(value)\n }\n function abi_decode_tuple_t_string_memory_ptrt_address_payablet_uint256(headStart, dataEnd) -> value0, value1, value2\n {\n if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n let offset := calldataload(headStart)\n if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n value0 := abi_decode_string(add(headStart, offset), dataEnd)\n let value := calldataload(add(headStart, 32))\n validator_revert_address(value)\n value1 := value\n value2 := calldataload(add(headStart, 64))\n }\n function abi_encode_tuple_packed_t_bytes_calldata_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value1, value0) -> end\n {\n calldatacopy(pos, value0, value1)\n let _1 := add(pos, value1)\n mstore(_1, 0)\n end := _1\n }\n function abi_encode_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), 0)\n end := add(add(pos, and(add(length, 31), not(31))), 0x20)\n }\n function abi_encode_tuple_t_string_calldata_ptr_t_string_calldata_ptr_t_bytes_calldata_ptr__to_t_string_memory_ptr_t_string_memory_ptr_t_bytes_memory_ptr__fromStack_reversed(headStart, value5, value4, value3, value2, value1, value0) -> tail\n {\n mstore(headStart, 96)\n let tail_1 := abi_encode_string_calldata(value0, value1, add(headStart, 96))\n mstore(add(headStart, 32), sub(tail_1, headStart))\n let tail_2 := abi_encode_string_calldata(value2, value3, tail_1)\n mstore(add(headStart, 64), sub(tail_2, headStart))\n tail := abi_encode_string_calldata(value4, value5, tail_2)\n }\n function checked_div_t_uint256(x, y) -> r\n {\n if iszero(y)\n {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x12)\n revert(0, 0x24)\n }\n r := div(x, y)\n }\n function abi_encode_tuple_t_string_calldata_ptr_t_string_calldata_ptr_t_string_calldata_ptr_t_uint256__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_uint256__fromStack_reversed(headStart, value6, value5, value4, value3, value2, value1, value0) -> tail\n {\n mstore(headStart, 128)\n let tail_1 := abi_encode_string_calldata(value0, value1, add(headStart, 128))\n mstore(add(headStart, 32), sub(tail_1, headStart))\n let tail_2 := abi_encode_string_calldata(value2, value3, tail_1)\n mstore(add(headStart, 64), sub(tail_2, headStart))\n tail := abi_encode_string_calldata(value4, value5, tail_2)\n mstore(add(headStart, 96), value6)\n }\n function abi_decode_tuple_t_string_memory_ptrt_bytes32(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n let offset := calldataload(headStart)\n if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n value0 := abi_decode_string(add(headStart, offset), dataEnd)\n value1 := calldataload(add(headStart, 32))\n }\n function panic_error_0x21()\n {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x21)\n revert(0, 0x24)\n }\n function abi_decode_tuple_t_uint256_fromMemory(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n value0 := mload(headStart)\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_address_t_bytes_memory_ptr__to_t_address_t_bytes_memory_ptr__fromStack_reversed(headStart, value1, value0) -> tail\n {\n mstore(headStart, and(value0, 0xffffffffffffffffffffffffffffffffffffffff))\n mstore(add(headStart, 32), 64)\n tail := abi_encode_string(value1, add(headStart, 64))\n }\n function abi_decode_tuple_t_boolt_bytes_memory_ptr_fromMemory(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := abi_decode_bool_fromMemory(headStart)\n let offset := mload(add(headStart, 32))\n if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n value1 := abi_decode_bytes_fromMemory(add(headStart, offset), dataEnd)\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_decode_tuple_t_string_memory_ptrt_string_memory_ptrt_address_payablet_bytes32t_string_memory_ptrt_uint256t_bytes32t_uint256(headStart, dataEnd) -> value0, value1, value2, value3, value4, value5, value6, value7\n {\n if slt(sub(dataEnd, headStart), 256) { revert(0, 0) }\n let offset := calldataload(headStart)\n let _1 := 0xffffffffffffffff\n if gt(offset, _1) { revert(0, 0) }\n value0 := abi_decode_string(add(headStart, offset), dataEnd)\n let offset_1 := calldataload(add(headStart, 32))\n if gt(offset_1, _1) { revert(0, 0) }\n value1 := abi_decode_string(add(headStart, offset_1), dataEnd)\n value2 := abi_decode_address_payable(add(headStart, 64))\n value3 := calldataload(add(headStart, 96))\n let offset_2 := calldataload(add(headStart, 128))\n if gt(offset_2, _1) { revert(0, 0) }\n value4 := abi_decode_string(add(headStart, offset_2), dataEnd)\n value5 := calldataload(add(headStart, 160))\n value6 := calldataload(add(headStart, 192))\n value7 := calldataload(add(headStart, 224))\n }\n function abi_encode_tuple_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_uint256_t_bytes32_t_uint256__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_uint256_t_bytes32_t_uint256__fromStack_reversed(headStart, value5, value4, value3, value2, value1, value0) -> tail\n {\n mstore(headStart, 192)\n let tail_1 := abi_encode_string(value0, add(headStart, 192))\n mstore(add(headStart, 32), sub(tail_1, headStart))\n let tail_2 := abi_encode_string(value1, tail_1)\n mstore(add(headStart, 64), sub(tail_2, headStart))\n tail := abi_encode_string(value2, tail_2)\n mstore(add(headStart, 96), value3)\n mstore(add(headStart, 128), value4)\n mstore(add(headStart, 160), value5)\n }\n function abi_decode_tuple_t_string_memory_ptrt_string_memory_ptrt_uint8t_uint256t_address_payablet_uint256(headStart, dataEnd) -> value0, value1, value2, value3, value4, value5\n {\n if slt(sub(dataEnd, headStart), 192) { revert(0, 0) }\n let offset := calldataload(headStart)\n let _1 := 0xffffffffffffffff\n if gt(offset, _1) { revert(0, 0) }\n value0 := abi_decode_string(add(headStart, offset), dataEnd)\n let offset_1 := calldataload(add(headStart, 32))\n if gt(offset_1, _1) { revert(0, 0) }\n value1 := abi_decode_string(add(headStart, offset_1), dataEnd)\n let value := calldataload(add(headStart, 64))\n if iszero(eq(value, and(value, 0xff))) { revert(0, 0) }\n value2 := value\n value3 := calldataload(add(headStart, 96))\n let value_1 := calldataload(add(headStart, 128))\n validator_revert_address(value_1)\n value4 := value_1\n value5 := calldataload(add(headStart, 160))\n }\n function abi_encode_tuple_t_string_memory_ptr_t_string_memory_ptr_t_uint8_t_uint256_t_bytes32__to_t_string_memory_ptr_t_string_memory_ptr_t_uint8_t_uint256_t_bytes32__fromStack_reversed(headStart, value4, value3, value2, value1, value0) -> tail\n {\n mstore(headStart, 160)\n let tail_1 := abi_encode_string(value0, add(headStart, 160))\n mstore(add(headStart, 32), sub(tail_1, headStart))\n tail := abi_encode_string(value1, tail_1)\n mstore(add(headStart, 64), and(value2, 0xff))\n mstore(add(headStart, 96), value3)\n mstore(add(headStart, 128), value4)\n }\n function abi_decode_tuple_t_address_payable_fromMemory(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let value := mload(headStart)\n validator_revert_address(value)\n value0 := value\n }\n function abi_encode_tuple_t_string_memory_ptr_t_address__to_t_string_memory_ptr_t_address__fromStack_reversed(headStart, value1, value0) -> tail\n {\n mstore(headStart, 64)\n tail := abi_encode_string(value0, add(headStart, 64))\n mstore(add(headStart, 32), and(value1, 0xffffffffffffffffffffffffffffffffffffffff))\n }\n function abi_encode_tuple_t_bytes_calldata_ptr__to_t_bytes_memory_ptr__fromStack_reversed(headStart, value1, value0) -> tail\n {\n mstore(headStart, 32)\n tail := abi_encode_string_calldata(value0, value1, add(headStart, 32))\n }\n function extract_byte_array_length(data) -> length\n {\n length := shr(1, data)\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 abi_decode_tuple_t_array$_t_address_$dyn_memory_ptrt_uint256t_bytes_memory_ptr(headStart, dataEnd) -> value0, value1, value2\n {\n if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n let offset := calldataload(headStart)\n let _1 := 0xffffffffffffffff\n if gt(offset, _1) { revert(0, 0) }\n let _2 := add(headStart, offset)\n if iszero(slt(add(_2, 0x1f), dataEnd)) { revert(0, 0) }\n let _3 := calldataload(_2)\n let _4 := 0x20\n let dst := allocate_memory(array_allocation_size_array_bytes32_dyn(_3))\n let dst_1 := dst\n mstore(dst, _3)\n dst := add(dst, _4)\n let srcEnd := add(add(_2, shl(5, _3)), _4)\n if gt(srcEnd, dataEnd) { revert(0, 0) }\n let src := add(_2, _4)\n for { } lt(src, srcEnd) { src := add(src, _4) }\n {\n let value := calldataload(src)\n validator_revert_address(value)\n mstore(dst, value)\n dst := add(dst, _4)\n }\n value0 := dst_1\n value1 := calldataload(add(headStart, _4))\n let offset_1 := calldataload(add(headStart, 64))\n if gt(offset_1, _1) { revert(0, 0) }\n value2 := abi_decode_string(add(headStart, offset_1), dataEnd)\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 abi_encode_tuple_t_string_calldata_ptr_t_string_calldata_ptr_t_bytes_calldata_ptr_t_string_calldata_ptr_t_uint256__to_t_string_memory_ptr_t_string_memory_ptr_t_bytes_memory_ptr_t_string_memory_ptr_t_uint256__fromStack_reversed(headStart, value8, value7, value6, value5, value4, value3, value2, value1, value0) -> tail\n {\n mstore(headStart, 160)\n let tail_1 := abi_encode_string_calldata(value0, value1, add(headStart, 160))\n mstore(add(headStart, 32), sub(tail_1, headStart))\n let tail_2 := abi_encode_string_calldata(value2, value3, tail_1)\n mstore(add(headStart, 64), sub(tail_2, headStart))\n let tail_3 := abi_encode_string_calldata(value4, value5, tail_2)\n mstore(add(headStart, 96), sub(tail_3, headStart))\n tail := abi_encode_string_calldata(value6, value7, tail_3)\n mstore(add(headStart, 128), value8)\n }\n function access_calldata_tail_t_string_calldata_ptr(base_ref, ptr_to_tail) -> addr, length\n {\n let rel_offset_of_tail := calldataload(ptr_to_tail)\n if iszero(slt(rel_offset_of_tail, add(sub(calldatasize(), base_ref), not(30)))) { revert(0, 0) }\n let addr_1 := add(base_ref, rel_offset_of_tail)\n length := calldataload(addr_1)\n if gt(length, 0xffffffffffffffff) { revert(0, 0) }\n addr := add(addr_1, 0x20)\n if sgt(addr, sub(calldatasize(), length)) { revert(0, 0) }\n }\n function abi_decode_tuple_t_uint256t_uint256t_array$_t_bytes32_$dyn_memory_ptrt_array$_t_string_memory_ptr_$dyn_memory_ptrt_array$_t_bytes_memory_ptr_$dyn_memory_ptr_fromMemory(headStart, dataEnd) -> value0, value1, value2, value3, value4\n {\n if slt(sub(dataEnd, headStart), 160) { revert(0, 0) }\n value0 := mload(headStart)\n value1 := mload(add(headStart, 32))\n let offset := mload(add(headStart, 64))\n let _1 := 0xffffffffffffffff\n if gt(offset, _1) { revert(0, 0) }\n value2 := abi_decode_array_bytes32_dyn_fromMemory(add(headStart, offset), dataEnd)\n let offset_1 := mload(add(headStart, 96))\n if gt(offset_1, _1) { revert(0, 0) }\n value3 := abi_decode_array_string_dyn_fromMemory(add(headStart, offset_1), dataEnd)\n let offset_2 := mload(add(headStart, 128))\n if gt(offset_2, _1) { revert(0, 0) }\n value4 := abi_decode_array_bytes_dyn_fromMemory(add(headStart, offset_2), dataEnd)\n }\n function abi_decode_tuple_t_string_memory_ptrt_string_memory_ptrt_address_payablet_bytes32t_bytes32t_uint256(headStart, dataEnd) -> value0, value1, value2, value3, value4, value5\n {\n if slt(sub(dataEnd, headStart), 192) { revert(0, 0) }\n let offset := calldataload(headStart)\n let _1 := 0xffffffffffffffff\n if gt(offset, _1) { revert(0, 0) }\n value0 := abi_decode_string(add(headStart, offset), dataEnd)\n let offset_1 := calldataload(add(headStart, 32))\n if gt(offset_1, _1) { revert(0, 0) }\n value1 := abi_decode_string(add(headStart, offset_1), dataEnd)\n let value := calldataload(add(headStart, 64))\n validator_revert_address(value)\n value2 := value\n value3 := calldataload(add(headStart, 96))\n value4 := calldataload(add(headStart, 128))\n value5 := calldataload(add(headStart, 160))\n }\n function abi_encode_tuple_t_string_memory_ptr_t_string_memory_ptr_t_bytes32_t_uint256__to_t_string_memory_ptr_t_string_memory_ptr_t_bytes32_t_uint256__fromStack_reversed(headStart, value3, value2, value1, value0) -> tail\n {\n mstore(headStart, 128)\n let tail_1 := abi_encode_string(value0, add(headStart, 128))\n mstore(add(headStart, 32), sub(tail_1, headStart))\n tail := abi_encode_string(value1, tail_1)\n mstore(add(headStart, 64), value2)\n mstore(add(headStart, 96), value3)\n }\n function abi_encode_tuple_packed_t_stringliteral_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73_t_bytes32__to_t_string_memory_ptr_t_bytes32__nonPadded_inplace_fromStack_reversed(pos, value0) -> end\n {\n mstore(pos, 0x19457468657265756d205369676e6564204d6573736167653a0a333200000000)\n mstore(add(pos, 28), value0)\n end := add(pos, 60)\n }\n function abi_encode_tuple_t_bytes32_t_bytes32_t_string_memory_ptr_t_string_memory_ptr_t_address_t_bytes32_t_string_memory_ptr_t_uint256__to_t_bytes32_t_bytes32_t_string_memory_ptr_t_string_memory_ptr_t_address_t_bytes32_t_string_memory_ptr_t_uint256__fromStack_reversed(headStart, value7, value6, value5, value4, value3, value2, value1, value0) -> tail\n {\n let _1 := 256\n mstore(headStart, value0)\n mstore(add(headStart, 32), value1)\n mstore(add(headStart, 64), _1)\n let tail_1 := abi_encode_string(value2, add(headStart, _1))\n mstore(add(headStart, 96), sub(tail_1, headStart))\n let tail_2 := abi_encode_string(value3, tail_1)\n mstore(add(headStart, 128), and(value4, 0xffffffffffffffffffffffffffffffffffffffff))\n mstore(add(headStart, 160), value5)\n mstore(add(headStart, 192), sub(tail_2, headStart))\n tail := abi_encode_string(value6, tail_2)\n mstore(add(headStart, 224), value7)\n }\n function abi_encode_tuple_packed_t_bytes32_t_string_memory_ptr_t_uint256__to_t_bytes32_t_string_memory_ptr_t_uint256__nonPadded_inplace_fromStack_reversed(pos, value2, value1, value0) -> end\n {\n mstore(pos, value0)\n let length := mload(value1)\n copy_memory_to_memory(add(value1, 32), add(pos, 32), length)\n let _1 := add(pos, length)\n mstore(add(_1, 32), value2)\n end := add(_1, 64)\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_decode_tuple_t_address_fromMemory(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let value := mload(headStart)\n validator_revert_address(value)\n value0 := value\n }\n function abi_encode_tuple_packed_t_bytes32_t_string_memory_ptr__to_t_bytes32_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value1, value0) -> end\n {\n mstore(pos, value0)\n let length := mload(value1)\n copy_memory_to_memory(add(value1, 32), add(pos, 32), length)\n end := add(add(pos, length), 32)\n }\n function abi_encode_tuple_t_bytes32_t_bytes32_t_string_memory_ptr_t_string_memory_ptr_t_address_t_bytes32__to_t_bytes32_t_bytes32_t_string_memory_ptr_t_string_memory_ptr_t_address_t_bytes32__fromStack_reversed(headStart, value5, value4, value3, value2, value1, value0) -> tail\n {\n mstore(headStart, value0)\n mstore(add(headStart, 32), value1)\n mstore(add(headStart, 64), 192)\n let tail_1 := abi_encode_string(value2, add(headStart, 192))\n mstore(add(headStart, 96), sub(tail_1, headStart))\n tail := abi_encode_string(value3, tail_1)\n mstore(add(headStart, 128), and(value4, 0xffffffffffffffffffffffffffffffffffffffff))\n mstore(add(headStart, 160), value5)\n }\n function abi_encode_tuple_t_string_memory_ptr_t_uint256__to_t_string_memory_ptr_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n {\n mstore(headStart, 64)\n tail := abi_encode_string(value0, add(headStart, 64))\n mstore(add(headStart, 32), value1)\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_bytes32_t_uint256__to_t_bytes32_t_uint256__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_bytes32_t_uint256_t_uint256__to_t_bytes32_t_uint256_t_uint256__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_packed_t_bytes32_t_uint256_t_address__to_t_bytes32_t_uint256_t_address__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), and(shl(96, value2), not(0xffffffffffffffffffffffff)))\n end := add(pos, 84)\n }\n function abi_encode_tuple_packed_t_bytes32_t_uint256_t_bytes32_t_address__to_t_bytes32_t_uint256_t_bytes32_t_address__nonPadded_inplace_fromStack_reversed(pos, value3, value2, value1, value0) -> end\n {\n mstore(pos, value0)\n mstore(add(pos, 32), value1)\n mstore(add(pos, 64), value2)\n mstore(add(pos, 96), and(shl(96, value3), not(0xffffffffffffffffffffffff)))\n end := add(pos, 116)\n }\n function abi_encode_tuple_packed_t_bytes32_t_uint256_t_bytes32__to_t_bytes32_t_uint256_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}", - "id": 34, - "language": "Yul", - "name": "#utility.yul" - } - ], - "immutableReferences": { - "1047": [ - { - "length": 32, - "start": 1463 - }, - { - "length": 32, - "start": 5787 - }, - { - "length": 32, - "start": 6514 - } - ], - "1049": [ - { - "length": 32, - "start": 5230 - } - ] - }, - "linkReferences": {}, - "object": "608060405234801561001057600080fd5b50600436106102265760003560e01c806388b305871161012a578063bc00c216116100bd578063dc97d9621161008c578063f6a5f9f511610071578063f6a5f9f514610543578063f871f14e14610556578063fbe0a31b1461057957600080fd5b8063dc97d96214610510578063f6789c8c1461053057600080fd5b8063bc00c216146104b7578063bd02d0f5146104ca578063c031a180146104ea578063d26ff210146104fd57600080fd5b80639ded06df116100f95780639ded06df14610477578063a3499c731461048a578063aa1e1f0a1461049d578063b5417084146104a457600080fd5b806388b305871461041e578063935b13f61461043157806397b87ba614610444578063986e791a1461045757600080fd5b8063364940d8116101bd5780635dde81171161018c5780637ae1cfca116101715780637ae1cfca146103d45780637b1b769e146103f7578063886a625d1461040b57600080fd5b80635dde8117146103ae5780635f6970c3146103c157600080fd5b8063364940d8146103275780634656ae2e1461032f578063585a9fd4146103425780635c60da1b1461035557600080fd5b80631c92115f116101f95780631c92115f1461029f57806321f8a721146102b257806323275548146102f357806326ef699d1461031457600080fd5b806309c5eabe1461022b578063146e2d781461024057806314bfd6d0146102535780631876eed91461027c575b600080fd5b61023e610239366004612fdc565b61058c565b005b61023e61024e36600461301e565b610b2f565b61026661026136600461306a565b610b78565b6040516102739190613083565b60405180910390f35b61028f61028a3660046130d0565b610c22565b6040519015158152602001610273565b61023e6102ad366004613185565b610d56565b6102db6102c036600461306a565b6000908152600260205260409020546001600160a01b031690565b6040516001600160a01b039091168152602001610273565b6103066103013660046132e4565b610dc1565b604051908152602001610273565b61023e610322366004613319565b610de2565b610306610e7a565b61023e61033d36600461301e565b610ed2565b61023e61035036600461301e565b611226565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60005260026020527f11141f466c69fd409e1990e063b49cd6d61ed2ecff27a2e402e259ca6b9a01a3546001600160a01b03166102db565b6103066103bc3660046132e4565b6112d4565b61028f6103cf3660046133bc565b6112e2565b61028f6103e236600461306a565b60009081526004602052604090205460ff1690565b61028f6104053660046132e4565b50600090565b61023e61041936600461301e565b61139b565b61030661042c36600461306a565b61164b565b6102db61043f3660046132e4565b611656565b61023e61045236600461301e565b611664565b61046a61046536600461306a565b611742565b6040516102739190613496565b61023e610485366004612fdc565b6117e4565b61023e6104983660046134be565b611a18565b600061028f565b61023e6104b236600461351a565b611d4f565b61028f6104c53660046135e6565b611e05565b6103066104d836600461306a565b60009081526020819052604090205490565b61046a6104f836600461306a565b611ed8565b61028f61050b36600461306a565b611ef5565b61030661051e36600461306a565b60009081526005602052604090205490565b61023e61053e3660046136f9565b611f03565b61028f610551366004613759565b61216d565b6105696105643660046132e4565b6121f6565b6040516102739493929190613845565b61023e61058736600461301e565b612222565b60008061059b838501856138eb565b9150915060006105b183805190602001206122c2565b905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166373e3d66a83856040518363ffffffff1660e01b815260040161060392919061394f565b602060405180830381600087803b15801561061d57600080fd5b505af1158015610631573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610655919061397d565b905060006060806060306001600160a01b031663f871f14e896040518263ffffffff1660e01b815260040161068a9190613496565b60006040518083038186803b1580156106a257600080fd5b505afa9250505080156106d757506040513d6000823e601f3d908101601f191682016040526106d49190810190613b7c565b60015b6106fe57878060200190518101906106ef9190613b7c565b92965090945092509050610709565b929650909450925090505b468414610742576040517f7a47c9a200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8251825181141580610755575081518114155b1561078c576040517fca9a28f500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b81811015610b215760008582815181106107ab576107ab613c0e565b602002602001015190506107be81611ef5565b156107c95750610b11565b6000808684815181106107de576107de613c0e565b60200260200101516040516020016107f69190613c24565b6040516020818303038152906040528051906020012090507f5763814b98a3aa86f212797af3273868b5dd6e2a532d764a79b98ca859e7bbad81141561085e577f886a625d000000000000000000000000000000000000000000000000000000009150610a03565b7fec78d9c22c08bb9f0ecd5d95571ae83e3f22219c5a9278c3270691d50abfd91b8114156108ae577f146e2d78000000000000000000000000000000000000000000000000000000009150610a03565b7f37ac16aabc4d87540e53151b2b716265cfd6b195db96a9daf8e893c829bbd2338114156108fe577ffbe0a31b000000000000000000000000000000000000000000000000000000009150610a03565b7ff41504255b911b3042ee4f8786fdf7cf4bcf24ace033fa16af3c8574e025e43681141561094e577f585a9fd4000000000000000000000000000000000000000000000000000000009150610a03565b7fda199c0e76f665e0450020791c7f8eacc75f3cdbace313272c28f93e5390b62c81141561099e577f4656ae2e000000000000000000000000000000000000000000000000000000009150610a03565b7fb460dcb6fd5797fc0e7ea0f13406c80d30702ba7f73a42bd91394775dcbca7188114156109fb57896109d357505050610b11565b7f97b87ba6000000000000000000000000000000000000000000000000000000009150610a03565b505050610b11565b610a0e836001612316565b6000306001600160a01b031683888781518110610a2d57610a2d613c0e565b602002602001015186604051602401610a47929190613c40565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b0319909416939093179092529051610a859190613c24565b6000604051808303816000865af19150503d8060008114610ac2576040519150601f19603f3d011682016040523d82523d6000602084013e610ac7565b606091505b505090508015610b015760405184907fa74c8847d513feba22a0f0cb38d53081abf97562cdb293926ba243689e7c41ca90600090a2610b0c565b610b0c846000612316565b505050505b610b1a81613c78565b905061078f565b505050505050505050505050565b333014610b4f576040516314e1dbf760e11b815260040160405180910390fd5b60008080610b5f85870187613c9e565b925092509250610b70838383612342565b505050505050565b60606000610b85836124df565b90508067ffffffffffffffff811115610ba057610ba061321f565b604051908082528060200260200182016040528015610bc9578160200160208202803683370190505b50915060005b81811015610c1b57610be184826124ed565b838281518110610bf357610bf3613c0e565b6001600160a01b0390921660209283029190910190910152610c1481613c78565b9050610bcf565b5050919050565b600080610cd38b8b8b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8f018190048102820181019092528d815292508d91508c908190840183828082843760009201919091525050604080516020601f8d018190048102820181019092528b81523393508d9250908c908c90819084018382808284376000920191909152508c9250612503915050565b60008181526004602052604090205460ff16925090508115610d48576000818152600460205260409020805460ff19169055610d4885858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152503392508791506123429050565b509998505050505050505050565b8181604051610d66929190613cf8565b6040518091039020336001600160a01b03167f30ae6cc78c27e651745bf2ad08a11de83910ac1e347a52f7ac898c0fbef94dae888888888888604051610db196959493929190613d31565b60405180910390a3505050505050565b6000610ddc6104d883610dd76201518042613d7a565b612567565b92915050565b610e243384848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508692506125bc915050565b336001600160a01b03167f651d93f66c4329630e8d0f62488eff599e3be484da587335e8dc0fcf4606272688888888888888604051610e699796959493929190613d9c565b60405180910390a250505050505050565b6000610ecd7fd51dc9b187568bb94760866e1d0d066ca470037d2d331afb1a02ec74bfb8990c60009081526020527ff8d0c05cd32e3272241fdc9d5839565f8bcf94139cb4bd09e230e1b57a60ddc25490565b905090565b333014610ef2576040516314e1dbf760e11b815260040160405180910390fd5b600080610f0184860186613ded565b915091506000610f1083611656565b90506001600160a01b038116610f44578260405163395d09bf60e11b8152600401610f3b9190613496565b60405180910390fd5b6002610f4f84612827565b6002811115610f6057610f60613e32565b14156111c357600082604051610f7590612f86565b8190604051809103906000f5905080158015610f95573d6000803e3d6000fd5b506040517f70a082310000000000000000000000000000000000000000000000000000000081526001600160a01b038083166004830181905292935060009283929091631cff79cd91879163a9059cbb60e01b9130918416906370a082319060240160206040518083038186803b15801561100f57600080fd5b505afa158015611023573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110479190613e48565b6040516001600160a01b039092166024830152604482015260640160408051601f198184030181529181526020820180516001600160e01b03166001600160e01b03199485161790525160e085901b90921682526110a89291600401613e61565b600060405180830381600087803b1580156110c257600080fd5b505af11580156110d6573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526110fe9190810190613e83565b9150915081158061112b575080511580159061112b575080806020019051810190611129919061397d565b155b1561114b578560405163e217b0ad60e01b8152600401610f3b9190613496565b6040517ef55d9d0000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b0384169062f55d9d90602401600060405180830381600087803b1580156111a357600080fd5b505af11580156111b7573d6000803e3d6000fd5b50505050505050610b70565b6040516308a1eee160e01b8152600481018390526001600160a01b038216906308a1eee1906024015b600060405180830381600087803b15801561120657600080fd5b505af115801561121a573d6000803e3d6000fd5b50505050505050505050565b333014611246576040516314e1dbf760e11b815260040160405180910390fd5b60008080808080808061125b8a8c018c613ec7565b9750975097509750975097509750975061127a89898989898989612846565b84866001600160a01b03168a7f9991faa1f435675159ffae64b66d7ecfdb55c29755869a18db8497b4392347e08b8b898989896040516112bf96959493929190613f85565b60405180910390a45050505050505050505050565b6000610ddc6104d88361287c565b60008061135d8888888080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8c018190048102820181019092528a815292508a91508990819084018382808284376000920191909152503392508991506128b19050565b60008181526004602052604090205460ff16925090508115611390576000818152600460205260409020805460ff191690555b509695505050505050565b3330146113bb576040516314e1dbf760e11b815260040160405180910390fd5b600080808080806113ce888a018a613fdd565b95509550955095509550955060006001600160a01b03166113ee86611656565b6001600160a01b03161461143057846040517faa7e8b32000000000000000000000000000000000000000000000000000000008152600401610f3b9190613496565b6001600160a01b03821661159c576000856040516020016114519190613c24565b6040516020818303038152906040528051906020012090506000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316636fc95b3460e01b8a8a8a8a886040516024016114b7959493929190614080565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b03199094169390931790925290516114f59190613c24565b600060405180830381855af49150503d8060008114611530576040519150601f19603f3d011682016040523d82523d6000602084013e611535565b606091505b50915091508161157357876040517f86d52743000000000000000000000000000000000000000000000000000000008152600401610f3b9190613496565b8080602001905181019061158791906140c6565b945061159488600161290f565b5050506115f3565b6001600160a01b0382163b6115e8576040517fc5ccddde0000000000000000000000000000000000000000000000000000000081526001600160a01b0383166004820152602401610f3b565b6115f385600261290f565b6115fd858361293f565b6116078582612981565b7fbf90b5a1ec9763e8bf4b9245cef0c28db92bab309fc2c5177f17814f3824693885836040516116389291906140e3565b60405180910390a1505050505050505050565b6000610ddc826129dd565b6000610ddc6102c0836129eb565b333014611684576040516314e1dbf760e11b815260040160405180910390fd5b60405163d289d1cb60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063d289d1cb906116d2908690869060040161410e565b600060405180830381600087803b1580156116ec57600080fd5b505af1158015611700573d6000803e3d6000fd5b505050507f192e759e55f359cd9832b5c0c6e38e4b6df5c5ca33f3bd5c90738e865a521872838360405161173592919061410e565b60405180910390a1505050565b600081815260016020526040902080546060919061175f90614122565b80601f016020809104026020016040519081016040528092919081815260200182805461178b90614122565b80156117d85780601f106117ad576101008083540402835291602001916117d8565b820191906000526020600020905b8154815290600101906020018083116117bb57829003601f168201915b50505050509050919050565b60006118407f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60005260026020527f11141f466c69fd409e1990e063b49cd6d61ed2ecff27a2e402e259ca6b9a01a3546001600160a01b031690565b6001600160a01b03161415611881576040517fbf10dd3a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080806118918486018661415d565b925092509250600060016118ec7fd51dc9b187568bb94760866e1d0d066ca470037d2d331afb1a02ec74bfb8990c60009081526020527ff8d0c05cd32e3272241fdc9d5839565f8bcf94139cb4bd09e230e1b57a60ddc25490565b6118f69190614228565b9050611949817fd51dc9b187568bb94760866e1d0d066ca470037d2d331afb1a02ec74bfb8990c60009081526020527ff8d0c05cd32e3272241fdc9d5839565f8bcf94139cb4bd09e230e1b57a60ddc255565b611954818585612a23565b815115610b705760405163d289d1cb60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063d289d1cb906119a7908590600401613496565b600060405180830381600087803b1580156119c157600080fd5b505af11580156119d5573d6000803e3d6000fd5b505050507f192e759e55f359cd9832b5c0c6e38e4b6df5c5ca33f3bd5c90738e865a52187282604051611a089190613496565b60405180910390a1505050505050565b6000611a6b7fd51dc9b187568bb94760866e1d0d066ca470037d2d331afb1a02ec74bfb8990c60009081526020527ff8d0c05cd32e3272241fdc9d5839565f8bcf94139cb4bd09e230e1b57a60ddc25490565b9050611a778133612b5c565b611a9457604051637bfa4b9f60e01b815260040160405180910390fd5b60008036604051611aa6929190613cf8565b60405180910390209050611abb828233612b6b565b15611ad957604051637c9a1cf960e01b815260040160405180910390fd5b611ae68282336001612be9565b60006001611af48484612c5c565b611afe9190614228565b9050611b0b838383612c6b565b611b14836129dd565b811015611b2357505050611d49565b866001600160a01b03163f8614611b66576040517f8f84fb2400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040516001600160a01b038816907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a28315611c82576000876001600160a01b0316639ded06df60e01b8787604051602401611bc792919061410e565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b0319909416939093179092529051611c059190613c24565b600060405180830381855af49150503d8060008114611c40576040519150601f19603f3d011682016040523d82523d6000602084013e611c45565b606091505b5050905080611c80576040517f97905dfb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505b611cf9877f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60005260026020527f11141f466c69fd409e1990e063b49cd6d61ed2ecff27a2e402e259ca6b9a01a3805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03831617905550565b611d0583836000612c6b565b6000611d10846124df565b905060005b81811015611d4357611d338585611d2c88856124ed565b6000612be9565b611d3c81613c78565b9050611d15565b50505050505b50505050565b611d913384848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508692506125bc915050565b8484604051611da1929190613cf8565b6040518091039020336001600160a01b03167f7e50569d26be643bda7757722291ec66b1be66d8283474ae3fab5a98f878a7a28b8b8b8b8b8b8b8b8b604051611df299989796959493929190614240565b60405180910390a3505050505050505050565b6000611ec96103e28c8c8c8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050508b8b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8d018190048102820181019092528b81528e93508d9250908c908c90819084018382808284376000920191909152508c9250612503915050565b9b9a5050505050505050505050565b600081815260036020526040902080546060919061175f90614122565b6000610ddc6103e283612c7d565b6000611f567fd51dc9b187568bb94760866e1d0d066ca470037d2d331afb1a02ec74bfb8990c60009081526020527ff8d0c05cd32e3272241fdc9d5839565f8bcf94139cb4bd09e230e1b57a60ddc25490565b9050611f628133612b5c565b611f7f57604051637bfa4b9f60e01b815260040160405180910390fd5b60008036604051611f91929190613cf8565b60405180910390209050611fa6828233612b6b565b15611fc457604051637c9a1cf960e01b815260040160405180910390fd5b611fd18282336001612be9565b60006001611fdf8484612c5c565b611fe99190614228565b9050611ff6838383612c6b565b611fff836129dd565b81101561200e57505050611d49565b858414612047576040517f1508613d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b8681101561212957600088888381811061206657612066613c0e565b905060200281019061207891906142a8565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201829052509394508a92508991508590508181106120c3576120c3613c0e565b90506020020135905060006001600160a01b03166120e083611656565b6001600160a01b0316141561210a578160405163395d09bf60e11b8152600401610f3b9190613496565b6121148282612981565b5050808061212190613c78565b91505061204a565b5061213683836000612c6b565b6000612141846124df565b905060005b81811015611d435761215d8585611d2c88856124ed565b61216681613c78565b9050612146565b60006121ea6103e28989898080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8d018190048102820181019092528b815292508b91508a90819084018382808284376000920191909152508a92508991506128b19050565b98975050505050505050565b600060608060608480602001905181019061221191906142ef565b939991985096509194509092505050565b333014612242576040516314e1dbf760e11b815260040160405180910390fd5b60008080808080612255888a018a61438b565b95509550955095509550955061226e8787878787612cb8565b82846001600160a01b0316887f44e4f8f6bd682c5a3aeba93601ab07cb4d1f21b2aab1ae4880d9577919309aa4898987876040516122af949392919061441d565b60405180910390a4505050505050505050565b6040517f19457468657265756d205369676e6564204d6573736167653a0a3332000000006020820152603c8101829052600090605c015b604051602081830303815290604052805190602001209050919050565b61233e61232283612c7d565b6000908152600460205260409020805460ff1916831515179055565b5050565b600061234d84611656565b90506001600160a01b038116612378578360405163395d09bf60e11b8152600401610f3b9190613496565b612395848361238687610dc1565b6123909190614228565b612cc8565b60026123a085612827565b60028111156123b1576123b1613e32565b141561245e576040516001600160a01b03841660248201526044810183905260009061241d90839063a9059cbb60e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152612d44565b90508061245857846040517f90c52ed7000000000000000000000000000000000000000000000000000000008152600401610f3b9190613496565b50611d49565b6040517f40c10f190000000000000000000000000000000000000000000000000000000081526001600160a01b038481166004830152602482018490528216906340c10f1990604401600060405180830381600087803b1580156124c157600080fd5b505af11580156124d5573d6000803e3d6000fd5b5050505050505050565b6000610ddc6104d883612dd6565b60006124fc6102c08484612e11565b9392505050565b60007fb7ad972b71475860613db3ba1fe699b886c878f9002a09250dc25e769eb19a1088888888888888604051602001612544989796959493929190614456565b604051602081830303815290604052805190602001209050979650505050505050565b60007f4281768ab7480ddcf054116642fb644388166407fc26c4e8e435dd259143cfd2838360405160200161259e939291906144c9565b60405160208183030381529060405280519060200120905092915050565b60006125c783611656565b90506001600160a01b0381166125f2578260405163395d09bf60e11b8152600401610f3b9190613496565b81612629576040517f2c5211c600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600061263484612827565b90506000600282600281111561264c5761264c613e32565b14156126aa576040516001600160a01b0387166024820152306044820152606481018590526126889084906323b872dd60e01b906084016123e6565b905080610b70578460405163e217b0ad60e01b8152600401610f3b9190613496565b60018260028111156126be576126be613e32565b141561270d576040516001600160a01b0387166024820152604481018590526126889084907f79cc679000000000000000000000000000000000000000000000000000000000906064016123e6565b6040517f31eecaf4000000000000000000000000000000000000000000000000000000008152600060048201526127d89084906323b872dd60e01b9089906001600160a01b038416906331eecaf49060240160206040518083038186803b15801561277757600080fd5b505afa15801561278b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127af91906140c6565b6040516001600160a01b03928316602482015291166044820152606481018890526084016123e6565b9050806127fa578460405163e217b0ad60e01b8152600401610f3b9190613496565b6040516308a1eee160e01b8152600060048201526001600160a01b038416906308a1eee1906024016111ec565b60006128356104d883612e53565b6002811115610ddc57610ddc613e32565b61287361285888888888888888612503565b6000908152600460205260409020805460ff19166001179055565b50505050505050565b60007f385b0fbf06aae812803f7f3a3a975b7e1dce19f50fb39baf3f341e2849e5ce06826040516020016122f99291906144f6565b60007f07b0d4304f82012bd3b70b1d531c160e326067c90829e2a3d386722ad10b89c386868686866040516020016128ee9695949392919061451c565b60405160208183030381529060405280519060200120905095945050505050565b61233e61291b83612e53565b82600281111561292d5761292d613e32565b60009182526020829052604090912055565b61233e61294b836129eb565b6000908152600260205260409020805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b038416179055565b6129a061298d8361287c565b8260009182526020829052604090912055565b7fa34df38babdcfb4aa60ad9eda9583df1bcd3dbd7d4687c89d35c3ec4f4331be982826040516129d1929190613c40565b60405180910390a15050565b6000610ddc6104d883612e88565b60007fc4e632779a6a7838736dd7e5e6a0eadf171dd37dfb6230720e265576dfcf42bb826040516020016122f99291906144f6565b50565b815181811015612a465760405163f1965a0760e01b815260040160405180910390fd5b81612a7d576040517f1845300d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612a878483612ec3565b612a918482612ecf565b60005b81811015612b55576000848281518110612ab057612ab0613c0e565b60200260200101519050612ac48682612b5c565b15612b06576040517f424926de0000000000000000000000000000000000000000000000000000000081526001600160a01b0382166004820152602401610f3b565b6001600160a01b038116612b2d5760405163f1965a0760e01b815260040160405180910390fd5b612b38868383612edb565b612b4486826001612ee8565b50612b4e81613c78565b9050612a94565b5050505050565b60006124fc6103e28484612ef1565b604080517f3ced7a8caf1111e0fbf4b784c5b41aebd0f2389d9f2f64d5c3424aeed3adbd3c602080830191909152818301869052606080830186905284901b6bffffffffffffffffffffffff191660808301528251808303607401815260949092019092528051910120600090612be1906103e2565b949350505050565b604080517f3ced7a8caf1111e0fbf4b784c5b41aebd0f2389d9f2f64d5c3424aeed3adbd3c602080830191909152818301879052606080830187905285901b6bffffffffffffffffffffffff191660808301528251808303607401815260949092019092528051910120611d4990612322565b60006124fc6104d88484612f44565b612c7861298d8484612f44565b505050565b604080517f957705a374326b30f4a1069c936d736cc9993ed6c820b4e0e2fd94a8beca0d1d60208201529081018290526000906060016122f9565b612b5561285886868686866128b1565b6000612cd3836112d4565b9050600081118015612ce457508082115b15612d1d57826040517f78202795000000000000000000000000000000000000000000000000000000008152600401610f3b9190613496565b612c78612d3184610dd76201518042613d7a565b8360009182526020829052604090912055565b6000806000846001600160a01b031684604051612d619190613c24565b6000604051808303816000865af19150503d8060008114612d9e576040519150601f19603f3d011682016040523d82523d6000602084013e612da3565b606091505b5091509150818015612dcd575080511580612dcd575080806020019051810190612dcd919061397d565b95945050505050565b604080517f05112ef894367de1270cfae12afcd2285c225830eb8f74e7e938f721bb510cba60208201529081018290526000906060016122f9565b604080517ff23ec0bb4210edd5cba85afd05127efcd2fc6a781bfed49188da1081670b22d860208201529081018390526060810182905260009060800161259e565b60007fa80d2259af55890618ec2eeb3ac72de4bdba22529bb14845d8a3d712d1c3f621826040516020016122f99291906144f6565b604080517f79bd914addd90bd67ad800bf0230bb85ffdef5aeba5fd8249f116d3f17f4fb4b60208201529081018290526000906060016122f9565b61233e61298d83612e88565b61233e61298d83612dd6565b612c7861294b8484612e11565b612c7861232284845b604080517f63fa879cb478fddf1de08d49e29115fb768866711bc799ff9ab419a7f16c9afb6020820152908101839052606082811b6bffffffffffffffffffffffff19169082015260009060740161259e565b604080517fbaea1c6c0f16a0a340b10a9e980806696a68ddbb5e8361fd64630dd21abf515f60208201529081018390526060810182905260009060800161259e565b6103498061456d83390190565b60008083601f840112612fa557600080fd5b50813567ffffffffffffffff811115612fbd57600080fd5b602083019150836020828501011115612fd557600080fd5b9250929050565b60008060208385031215612fef57600080fd5b823567ffffffffffffffff81111561300657600080fd5b61301285828601612f93565b90969095509350505050565b60008060006040848603121561303357600080fd5b833567ffffffffffffffff81111561304a57600080fd5b61305686828701612f93565b909790965060209590950135949350505050565b60006020828403121561307c57600080fd5b5035919050565b6020808252825182820181905260009190848201906040850190845b818110156130c45783516001600160a01b03168352928401929184019160010161309f565b50909695505050505050565b600080600080600080600080600060c08a8c0312156130ee57600080fd5b8935985060208a013567ffffffffffffffff8082111561310d57600080fd5b6131198d838e01612f93565b909a50985060408c013591508082111561313257600080fd5b61313e8d838e01612f93565b909850965060608c0135955060808c013591508082111561315e57600080fd5b5061316b8c828d01612f93565b9a9d999c50979a9699959894979660a00135949350505050565b6000806000806000806060878903121561319e57600080fd5b863567ffffffffffffffff808211156131b657600080fd5b6131c28a838b01612f93565b909850965060208901359150808211156131db57600080fd5b6131e78a838b01612f93565b9096509450604089013591508082111561320057600080fd5b5061320d89828a01612f93565b979a9699509497509295939492505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561325e5761325e61321f565b604052919050565b600067ffffffffffffffff8211156132805761328061321f565b50601f01601f191660200190565b600082601f83011261329f57600080fd5b81356132b26132ad82613266565b613235565b8181528460208386010111156132c757600080fd5b816020850160208301376000918101602001919091529392505050565b6000602082840312156132f657600080fd5b813567ffffffffffffffff81111561330d57600080fd5b612be18482850161328e565b60008060008060008060006080888a03121561333457600080fd5b873567ffffffffffffffff8082111561334c57600080fd5b6133588b838c01612f93565b909950975060208a013591508082111561337157600080fd5b61337d8b838c01612f93565b909750955060408a013591508082111561339657600080fd5b506133a38a828b01612f93565b989b979a50959894979596606090950135949350505050565b600080600080600080608087890312156133d557600080fd5b86359550602087013567ffffffffffffffff808211156133f457600080fd5b6134008a838b01612f93565b9097509550604089013591508082111561341957600080fd5b5061342689828a01612f93565b979a9699509497949695606090950135949350505050565b60005b83811015613459578181015183820152602001613441565b83811115611d495750506000910152565b6000815180845261348281602086016020860161343e565b601f01601f19169290920160200192915050565b6020815260006124fc602083018461346a565b6001600160a01b0381168114612a2057600080fd5b600080600080606085870312156134d457600080fd5b84356134df816134a9565b935060208501359250604085013567ffffffffffffffff81111561350257600080fd5b61350e87828801612f93565b95989497509550505050565b600080600080600080600080600060a08a8c03121561353857600080fd5b893567ffffffffffffffff8082111561355057600080fd5b61355c8d838e01612f93565b909b50995060208c013591508082111561357557600080fd5b6135818d838e01612f93565b909950975060408c013591508082111561359a57600080fd5b6135a68d838e01612f93565b909750955060608c01359150808211156135bf57600080fd5b506135cc8c828d01612f93565b9a9d999c50979a9699959894979660800135949350505050565b60008060008060008060008060008060e08b8d03121561360557600080fd5b8a35995060208b013567ffffffffffffffff8082111561362457600080fd5b6136308e838f01612f93565b909b50995060408d013591508082111561364957600080fd5b6136558e838f01612f93565b909950975060608d0135915061366a826134a9565b90955060808c0135945060a08c0135908082111561368757600080fd5b506136948d828e01612f93565b9150809450508092505060c08b013590509295989b9194979a5092959850565b60008083601f8401126136c657600080fd5b50813567ffffffffffffffff8111156136de57600080fd5b6020830191508360208260051b8501011115612fd557600080fd5b6000806000806040858703121561370f57600080fd5b843567ffffffffffffffff8082111561372757600080fd5b613733888389016136b4565b9096509450602087013591508082111561374c57600080fd5b5061350e878288016136b4565b600080600080600080600060a0888a03121561377457600080fd5b87359650602088013567ffffffffffffffff8082111561379357600080fd5b61379f8b838c01612f93565b909850965060408a01359150808211156137b857600080fd5b506137c58a828b01612f93565b90955093505060608801356137d9816134a9565b809250506080880135905092959891949750929550565b600081518084526020808501808196508360051b8101915082860160005b8581101561383857828403895261382684835161346a565b9885019893509084019060010161380e565b5091979650505050505050565b600060808201868352602060808185015281875180845260a086019150828901935060005b818110156138865784518352938301939183019160010161386a565b5050848103604086015286518082528282019350600581901b8201830183890160005b838110156138d757601f198584030187526138c583835161346a565b968601969250908501906001016138a9565b50508681036060880152611ec981896137f0565b600080604083850312156138fe57600080fd5b823567ffffffffffffffff8082111561391657600080fd5b6139228683870161328e565b9350602085013591508082111561393857600080fd5b506139458582860161328e565b9150509250929050565b828152604060208201526000612be1604083018461346a565b8051801515811461397857600080fd5b919050565b60006020828403121561398f57600080fd5b6124fc82613968565b600067ffffffffffffffff8211156139b2576139b261321f565b5060051b60200190565b600082601f8301126139cd57600080fd5b815160206139dd6132ad83613998565b82815260059290921b840181019181810190868411156139fc57600080fd5b8286015b848110156113905780518352918301918301613a00565b6000613a256132ad84613266565b9050828152838383011115613a3957600080fd5b6124fc83602083018461343e565b600082601f830112613a5857600080fd5b81516020613a686132ad83613998565b82815260059290921b84018101918181019086841115613a8757600080fd5b8286015b8481101561139057805167ffffffffffffffff811115613aab5760008081fd5b8701603f81018913613abd5760008081fd5b613ace898683015160408401613a17565b845250918301918301613a8b565b600082601f830112613aed57600080fd5b6124fc83835160208501613a17565b600082601f830112613b0d57600080fd5b81516020613b1d6132ad83613998565b82815260059290921b84018101918181019086841115613b3c57600080fd5b8286015b8481101561139057805167ffffffffffffffff811115613b605760008081fd5b613b6e8986838b0101613adc565b845250918301918301613b40565b60008060008060808587031215613b9257600080fd5b84519350602085015167ffffffffffffffff80821115613bb157600080fd5b613bbd888389016139bc565b94506040870151915080821115613bd357600080fd5b613bdf88838901613a47565b93506060870151915080821115613bf557600080fd5b50613c0287828801613afc565b91505092959194509250565b634e487b7160e01b600052603260045260246000fd5b60008251613c3681846020870161343e565b9190910192915050565b604081526000613c53604083018561346a565b90508260208301529392505050565b634e487b7160e01b600052601160045260246000fd5b6000600019821415613c8c57613c8c613c62565b5060010190565b8035613978816134a9565b600080600060608486031215613cb357600080fd5b833567ffffffffffffffff811115613cca57600080fd5b613cd68682870161328e565b9350506020840135613ce7816134a9565b929592945050506040919091013590565b8183823760009101908152919050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b606081526000613d4560608301888a613d08565b8281036020840152613d58818789613d08565b90508281036040840152613d6d818587613d08565b9998505050505050505050565b600082613d9757634e487b7160e01b600052601260045260246000fd5b500490565b608081526000613db060808301898b613d08565b8281036020840152613dc381888a613d08565b90508281036040840152613dd8818688613d08565b91505082606083015298975050505050505050565b60008060408385031215613e0057600080fd5b823567ffffffffffffffff811115613e1757600080fd5b613e238582860161328e565b95602094909401359450505050565b634e487b7160e01b600052602160045260246000fd5b600060208284031215613e5a57600080fd5b5051919050565b6001600160a01b0383168152604060208201526000612be1604083018461346a565b60008060408385031215613e9657600080fd5b613e9f83613968565b9150602083015167ffffffffffffffff811115613ebb57600080fd5b61394585828601613adc565b600080600080600080600080610100898b031215613ee457600080fd5b883567ffffffffffffffff80821115613efc57600080fd5b613f088c838d0161328e565b995060208b0135915080821115613f1e57600080fd5b613f2a8c838d0161328e565b9850613f3860408c01613c93565b975060608b0135965060808b0135915080821115613f5557600080fd5b50613f628b828c0161328e565b989b979a50959894979660a0860135965060c08601359560e00135945092505050565b60c081526000613f9860c083018961346a565b8281036020840152613faa818961346a565b90508281036040840152613fbe818861346a565b60608401969096525050608081019290925260a0909101529392505050565b60008060008060008060c08789031215613ff657600080fd5b863567ffffffffffffffff8082111561400e57600080fd5b61401a8a838b0161328e565b9750602089013591508082111561403057600080fd5b5061403d89828a0161328e565b955050604087013560ff8116811461405457600080fd5b935060608701359250608087013561406b816134a9565b8092505060a087013590509295509295509295565b60a08152600061409360a083018861346a565b82810360208401526140a5818861346a565b60ff9690961660408401525050606081019290925260809091015292915050565b6000602082840312156140d857600080fd5b81516124fc816134a9565b6040815260006140f6604083018561346a565b90506001600160a01b03831660208301529392505050565b602081526000612be1602083018486613d08565b600181811c9082168061413657607f821691505b6020821081141561415757634e487b7160e01b600052602260045260246000fd5b50919050565b60008060006060848603121561417257600080fd5b833567ffffffffffffffff8082111561418a57600080fd5b818601915086601f83011261419e57600080fd5b813560206141ae6132ad83613998565b82815260059290921b8401810191818101908a8411156141cd57600080fd5b948201945b838610156141f45785356141e5816134a9565b825294820194908201906141d2565b975050870135945050604086013591508082111561421157600080fd5b5061421e8682870161328e565b9150509250925092565b6000821982111561423b5761423b613c62565b500190565b60a08152600061425460a083018b8d613d08565b8281036020840152614267818a8c613d08565b9050828103604084015261427c81888a613d08565b90508281036060840152614291818688613d08565b9150508260808301529a9950505050505050505050565b6000808335601e198436030181126142bf57600080fd5b83018035915067ffffffffffffffff8211156142da57600080fd5b602001915036819003821315612fd557600080fd5b600080600080600060a0868803121561430757600080fd5b8551945060208601519350604086015167ffffffffffffffff8082111561432d57600080fd5b61433989838a016139bc565b9450606088015191508082111561434f57600080fd5b61435b89838a01613a47565b9350608088015191508082111561437157600080fd5b5061437e88828901613afc565b9150509295509295909350565b60008060008060008060c087890312156143a457600080fd5b863567ffffffffffffffff808211156143bc57600080fd5b6143c88a838b0161328e565b975060208901359150808211156143de57600080fd5b506143eb89828a0161328e565b95505060408701356143fc816134a9565b959894975094956060810135955060808101359460a0909101359350915050565b608081526000614430608083018761346a565b8281036020840152614442818761346a565b604084019590955250506060015292915050565b60006101008a83528960208401528060408401526144768184018a61346a565b9050828103606084015261448a818961346a565b90506001600160a01b03871660808401528560a084015282810360c08401526144b3818661346a565b9150508260e08301529998505050505050505050565b838152600083516144e181602085016020880161343e565b60209201918201929092526040019392505050565b8281526000825161450e81602085016020870161343e565b919091016020019392505050565b86815285602082015260c06040820152600061453b60c083018761346a565b828103606084015261454d818761346a565b6001600160a01b03959095166080840152505060a0015294935050505056fe6080604052600160005534801561001557600080fd5b50610324806100256000396000f3fe608060405234801561001057600080fd5b50600436106100355760003560e01c8062f55d9d1461003a5780631cff79cd1461004f575b600080fd5b61004d6100483660046101da565b610079565b005b61006261005d3660046101fc565b6100bb565b60405161007092919061027f565b60405180910390f35b6002600054141561009d5760405163caa30f5560e01b815260040160405180910390fd5b600260005573ffffffffffffffffffffffffffffffffffffffff8116ff5b60006060600260005414156100e35760405163caa30f5560e01b815260040160405180910390fd5b600260005573ffffffffffffffffffffffffffffffffffffffff85163b610136576040517f6f7c43f100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8473ffffffffffffffffffffffffffffffffffffffff16848460405161015d9291906102de565b6000604051808303816000865af19150503d806000811461019a576040519150601f19603f3d011682016040523d82523d6000602084013e61019f565b606091505b50600160005590969095509350505050565b803573ffffffffffffffffffffffffffffffffffffffff811681146101d557600080fd5b919050565b6000602082840312156101ec57600080fd5b6101f5826101b1565b9392505050565b60008060006040848603121561021157600080fd5b61021a846101b1565b9250602084013567ffffffffffffffff8082111561023757600080fd5b818601915086601f83011261024b57600080fd5b81358181111561025a57600080fd5b87602082850101111561026c57600080fd5b6020830194508093505050509250925092565b821515815260006020604081840152835180604085015260005b818110156102b557858101830151858201606001528201610299565b818111156102c7576000606083870101525b50601f01601f191692909201606001949350505050565b818382376000910190815291905056fea2646970667358221220dfb702492c35c6a884ac11997b483e3fee4ff8145c7abb0799d2a2fc8674c39364736f6c63430008090033a26469706673582212208ccf7d53804e5299ae34cb40b83392c107813b7a4ebce02cc0a10d4ed07fdafe64736f6c63430008090033", - "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 0x88B30587 GT PUSH2 0x12A JUMPI DUP1 PUSH4 0xBC00C216 GT PUSH2 0xBD JUMPI DUP1 PUSH4 0xDC97D962 GT PUSH2 0x8C JUMPI DUP1 PUSH4 0xF6A5F9F5 GT PUSH2 0x71 JUMPI DUP1 PUSH4 0xF6A5F9F5 EQ PUSH2 0x543 JUMPI DUP1 PUSH4 0xF871F14E EQ PUSH2 0x556 JUMPI DUP1 PUSH4 0xFBE0A31B EQ PUSH2 0x579 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0xDC97D962 EQ PUSH2 0x510 JUMPI DUP1 PUSH4 0xF6789C8C EQ PUSH2 0x530 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0xBC00C216 EQ PUSH2 0x4B7 JUMPI DUP1 PUSH4 0xBD02D0F5 EQ PUSH2 0x4CA JUMPI DUP1 PUSH4 0xC031A180 EQ PUSH2 0x4EA JUMPI DUP1 PUSH4 0xD26FF210 EQ PUSH2 0x4FD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x9DED06DF GT PUSH2 0xF9 JUMPI DUP1 PUSH4 0x9DED06DF EQ PUSH2 0x477 JUMPI DUP1 PUSH4 0xA3499C73 EQ PUSH2 0x48A JUMPI DUP1 PUSH4 0xAA1E1F0A EQ PUSH2 0x49D JUMPI DUP1 PUSH4 0xB5417084 EQ PUSH2 0x4A4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x88B30587 EQ PUSH2 0x41E JUMPI DUP1 PUSH4 0x935B13F6 EQ PUSH2 0x431 JUMPI DUP1 PUSH4 0x97B87BA6 EQ PUSH2 0x444 JUMPI DUP1 PUSH4 0x986E791A EQ PUSH2 0x457 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x364940D8 GT PUSH2 0x1BD JUMPI DUP1 PUSH4 0x5DDE8117 GT PUSH2 0x18C JUMPI DUP1 PUSH4 0x7AE1CFCA GT PUSH2 0x171 JUMPI DUP1 PUSH4 0x7AE1CFCA EQ PUSH2 0x3D4 JUMPI DUP1 PUSH4 0x7B1B769E EQ PUSH2 0x3F7 JUMPI DUP1 PUSH4 0x886A625D EQ PUSH2 0x40B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x5DDE8117 EQ PUSH2 0x3AE JUMPI DUP1 PUSH4 0x5F6970C3 EQ PUSH2 0x3C1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x364940D8 EQ PUSH2 0x327 JUMPI DUP1 PUSH4 0x4656AE2E EQ PUSH2 0x32F JUMPI DUP1 PUSH4 0x585A9FD4 EQ PUSH2 0x342 JUMPI DUP1 PUSH4 0x5C60DA1B EQ PUSH2 0x355 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x1C92115F GT PUSH2 0x1F9 JUMPI DUP1 PUSH4 0x1C92115F EQ PUSH2 0x29F JUMPI DUP1 PUSH4 0x21F8A721 EQ PUSH2 0x2B2 JUMPI DUP1 PUSH4 0x23275548 EQ PUSH2 0x2F3 JUMPI DUP1 PUSH4 0x26EF699D EQ PUSH2 0x314 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x9C5EABE EQ PUSH2 0x22B JUMPI DUP1 PUSH4 0x146E2D78 EQ PUSH2 0x240 JUMPI DUP1 PUSH4 0x14BFD6D0 EQ PUSH2 0x253 JUMPI DUP1 PUSH4 0x1876EED9 EQ PUSH2 0x27C JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x23E PUSH2 0x239 CALLDATASIZE PUSH1 0x4 PUSH2 0x2FDC JUMP JUMPDEST PUSH2 0x58C JUMP JUMPDEST STOP JUMPDEST PUSH2 0x23E PUSH2 0x24E CALLDATASIZE PUSH1 0x4 PUSH2 0x301E JUMP JUMPDEST PUSH2 0xB2F JUMP JUMPDEST PUSH2 0x266 PUSH2 0x261 CALLDATASIZE PUSH1 0x4 PUSH2 0x306A JUMP JUMPDEST PUSH2 0xB78 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x273 SWAP2 SWAP1 PUSH2 0x3083 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x28F PUSH2 0x28A CALLDATASIZE PUSH1 0x4 PUSH2 0x30D0 JUMP JUMPDEST PUSH2 0xC22 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x273 JUMP JUMPDEST PUSH2 0x23E PUSH2 0x2AD CALLDATASIZE PUSH1 0x4 PUSH2 0x3185 JUMP JUMPDEST PUSH2 0xD56 JUMP JUMPDEST PUSH2 0x2DB PUSH2 0x2C0 CALLDATASIZE PUSH1 0x4 PUSH2 0x306A JUMP JUMPDEST PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x273 JUMP JUMPDEST PUSH2 0x306 PUSH2 0x301 CALLDATASIZE PUSH1 0x4 PUSH2 0x32E4 JUMP JUMPDEST PUSH2 0xDC1 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x273 JUMP JUMPDEST PUSH2 0x23E PUSH2 0x322 CALLDATASIZE PUSH1 0x4 PUSH2 0x3319 JUMP JUMPDEST PUSH2 0xDE2 JUMP JUMPDEST PUSH2 0x306 PUSH2 0xE7A JUMP JUMPDEST PUSH2 0x23E PUSH2 0x33D CALLDATASIZE PUSH1 0x4 PUSH2 0x301E JUMP JUMPDEST PUSH2 0xED2 JUMP JUMPDEST PUSH2 0x23E PUSH2 0x350 CALLDATASIZE PUSH1 0x4 PUSH2 0x301E JUMP JUMPDEST PUSH2 0x1226 JUMP JUMPDEST PUSH32 0x360894A13BA1A3210667C828492DB98DCA3E2076CC3735A920A3CA505D382BBC PUSH1 0x0 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH32 0x11141F466C69FD409E1990E063B49CD6D61ED2ECFF27A2E402E259CA6B9A01A3 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x2DB JUMP JUMPDEST PUSH2 0x306 PUSH2 0x3BC CALLDATASIZE PUSH1 0x4 PUSH2 0x32E4 JUMP JUMPDEST PUSH2 0x12D4 JUMP JUMPDEST PUSH2 0x28F PUSH2 0x3CF CALLDATASIZE PUSH1 0x4 PUSH2 0x33BC JUMP JUMPDEST PUSH2 0x12E2 JUMP JUMPDEST PUSH2 0x28F PUSH2 0x3E2 CALLDATASIZE PUSH1 0x4 PUSH2 0x306A JUMP JUMPDEST PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH2 0x28F PUSH2 0x405 CALLDATASIZE PUSH1 0x4 PUSH2 0x32E4 JUMP JUMPDEST POP PUSH1 0x0 SWAP1 JUMP JUMPDEST PUSH2 0x23E PUSH2 0x419 CALLDATASIZE PUSH1 0x4 PUSH2 0x301E JUMP JUMPDEST PUSH2 0x139B JUMP JUMPDEST PUSH2 0x306 PUSH2 0x42C CALLDATASIZE PUSH1 0x4 PUSH2 0x306A JUMP JUMPDEST PUSH2 0x164B JUMP JUMPDEST PUSH2 0x2DB PUSH2 0x43F CALLDATASIZE PUSH1 0x4 PUSH2 0x32E4 JUMP JUMPDEST PUSH2 0x1656 JUMP JUMPDEST PUSH2 0x23E PUSH2 0x452 CALLDATASIZE PUSH1 0x4 PUSH2 0x301E JUMP JUMPDEST PUSH2 0x1664 JUMP JUMPDEST PUSH2 0x46A PUSH2 0x465 CALLDATASIZE PUSH1 0x4 PUSH2 0x306A JUMP JUMPDEST PUSH2 0x1742 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x273 SWAP2 SWAP1 PUSH2 0x3496 JUMP JUMPDEST PUSH2 0x23E PUSH2 0x485 CALLDATASIZE PUSH1 0x4 PUSH2 0x2FDC JUMP JUMPDEST PUSH2 0x17E4 JUMP JUMPDEST PUSH2 0x23E PUSH2 0x498 CALLDATASIZE PUSH1 0x4 PUSH2 0x34BE JUMP JUMPDEST PUSH2 0x1A18 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x28F JUMP JUMPDEST PUSH2 0x23E PUSH2 0x4B2 CALLDATASIZE PUSH1 0x4 PUSH2 0x351A JUMP JUMPDEST PUSH2 0x1D4F JUMP JUMPDEST PUSH2 0x28F PUSH2 0x4C5 CALLDATASIZE PUSH1 0x4 PUSH2 0x35E6 JUMP JUMPDEST PUSH2 0x1E05 JUMP JUMPDEST PUSH2 0x306 PUSH2 0x4D8 CALLDATASIZE PUSH1 0x4 PUSH2 0x306A JUMP JUMPDEST PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH2 0x46A PUSH2 0x4F8 CALLDATASIZE PUSH1 0x4 PUSH2 0x306A JUMP JUMPDEST PUSH2 0x1ED8 JUMP JUMPDEST PUSH2 0x28F PUSH2 0x50B CALLDATASIZE PUSH1 0x4 PUSH2 0x306A JUMP JUMPDEST PUSH2 0x1EF5 JUMP JUMPDEST PUSH2 0x306 PUSH2 0x51E CALLDATASIZE PUSH1 0x4 PUSH2 0x306A JUMP JUMPDEST PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH2 0x23E PUSH2 0x53E CALLDATASIZE PUSH1 0x4 PUSH2 0x36F9 JUMP JUMPDEST PUSH2 0x1F03 JUMP JUMPDEST PUSH2 0x28F PUSH2 0x551 CALLDATASIZE PUSH1 0x4 PUSH2 0x3759 JUMP JUMPDEST PUSH2 0x216D JUMP JUMPDEST PUSH2 0x569 PUSH2 0x564 CALLDATASIZE PUSH1 0x4 PUSH2 0x32E4 JUMP JUMPDEST PUSH2 0x21F6 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x273 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x3845 JUMP JUMPDEST PUSH2 0x23E PUSH2 0x587 CALLDATASIZE PUSH1 0x4 PUSH2 0x301E JUMP JUMPDEST PUSH2 0x2222 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x59B DUP4 DUP6 ADD DUP6 PUSH2 0x38EB JUMP JUMPDEST SWAP2 POP SWAP2 POP PUSH1 0x0 PUSH2 0x5B1 DUP4 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 PUSH2 0x22C2 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH32 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x73E3D66A DUP4 DUP6 PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x603 SWAP3 SWAP2 SWAP1 PUSH2 0x394F JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x61D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x631 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x655 SWAP2 SWAP1 PUSH2 0x397D JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH1 0x60 DUP1 PUSH1 0x60 ADDRESS PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xF871F14E DUP10 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x68A SWAP2 SWAP1 PUSH2 0x3496 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x6A2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL SWAP3 POP POP POP DUP1 ISZERO PUSH2 0x6D7 JUMPI 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 0x6D4 SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x3B7C JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0x6FE JUMPI DUP8 DUP1 PUSH1 0x20 ADD SWAP1 MLOAD DUP2 ADD SWAP1 PUSH2 0x6EF SWAP2 SWAP1 PUSH2 0x3B7C JUMP JUMPDEST SWAP3 SWAP7 POP SWAP1 SWAP5 POP SWAP3 POP SWAP1 POP PUSH2 0x709 JUMP JUMPDEST SWAP3 SWAP7 POP SWAP1 SWAP5 POP SWAP3 POP SWAP1 POP JUMPDEST CHAINID DUP5 EQ PUSH2 0x742 JUMPI PUSH1 0x40 MLOAD PUSH32 0x7A47C9A200000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP3 MLOAD DUP3 MLOAD DUP2 EQ ISZERO DUP1 PUSH2 0x755 JUMPI POP DUP2 MLOAD DUP2 EQ ISZERO JUMPDEST ISZERO PUSH2 0x78C JUMPI PUSH1 0x40 MLOAD PUSH32 0xCA9A28F500000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0xB21 JUMPI PUSH1 0x0 DUP6 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x7AB JUMPI PUSH2 0x7AB PUSH2 0x3C0E JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD SWAP1 POP PUSH2 0x7BE DUP2 PUSH2 0x1EF5 JUMP JUMPDEST ISZERO PUSH2 0x7C9 JUMPI POP PUSH2 0xB11 JUMP JUMPDEST PUSH1 0x0 DUP1 DUP7 DUP5 DUP2 MLOAD DUP2 LT PUSH2 0x7DE JUMPI PUSH2 0x7DE PUSH2 0x3C0E JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x7F6 SWAP2 SWAP1 PUSH2 0x3C24 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 SWAP1 POP PUSH32 0x5763814B98A3AA86F212797AF3273868B5DD6E2A532D764A79B98CA859E7BBAD DUP2 EQ ISZERO PUSH2 0x85E JUMPI PUSH32 0x886A625D00000000000000000000000000000000000000000000000000000000 SWAP2 POP PUSH2 0xA03 JUMP JUMPDEST PUSH32 0xEC78D9C22C08BB9F0ECD5D95571AE83E3F22219C5A9278C3270691D50ABFD91B DUP2 EQ ISZERO PUSH2 0x8AE JUMPI PUSH32 0x146E2D7800000000000000000000000000000000000000000000000000000000 SWAP2 POP PUSH2 0xA03 JUMP JUMPDEST PUSH32 0x37AC16AABC4D87540E53151B2B716265CFD6B195DB96A9DAF8E893C829BBD233 DUP2 EQ ISZERO PUSH2 0x8FE JUMPI PUSH32 0xFBE0A31B00000000000000000000000000000000000000000000000000000000 SWAP2 POP PUSH2 0xA03 JUMP JUMPDEST PUSH32 0xF41504255B911B3042EE4F8786FDF7CF4BCF24ACE033FA16AF3C8574E025E436 DUP2 EQ ISZERO PUSH2 0x94E JUMPI PUSH32 0x585A9FD400000000000000000000000000000000000000000000000000000000 SWAP2 POP PUSH2 0xA03 JUMP JUMPDEST PUSH32 0xDA199C0E76F665E0450020791C7F8EACC75F3CDBACE313272C28F93E5390B62C DUP2 EQ ISZERO PUSH2 0x99E JUMPI PUSH32 0x4656AE2E00000000000000000000000000000000000000000000000000000000 SWAP2 POP PUSH2 0xA03 JUMP JUMPDEST PUSH32 0xB460DCB6FD5797FC0E7EA0F13406C80D30702BA7F73A42BD91394775DCBCA718 DUP2 EQ ISZERO PUSH2 0x9FB JUMPI DUP10 PUSH2 0x9D3 JUMPI POP POP POP PUSH2 0xB11 JUMP JUMPDEST PUSH32 0x97B87BA600000000000000000000000000000000000000000000000000000000 SWAP2 POP PUSH2 0xA03 JUMP JUMPDEST POP POP POP PUSH2 0xB11 JUMP JUMPDEST PUSH2 0xA0E DUP4 PUSH1 0x1 PUSH2 0x2316 JUMP JUMPDEST PUSH1 0x0 ADDRESS PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 DUP9 DUP8 DUP2 MLOAD DUP2 LT PUSH2 0xA2D JUMPI PUSH2 0xA2D PUSH2 0x3C0E JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP7 PUSH1 0x40 MLOAD PUSH1 0x24 ADD PUSH2 0xA47 SWAP3 SWAP2 SWAP1 PUSH2 0x3C40 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F NOT DUP2 DUP5 SUB ADD DUP2 MSTORE SWAP2 DUP2 MSTORE PUSH1 0x20 DUP3 ADD DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT SWAP1 SWAP5 AND SWAP4 SWAP1 SWAP4 OR SWAP1 SWAP3 MSTORE SWAP1 MLOAD PUSH2 0xA85 SWAP2 SWAP1 PUSH2 0x3C24 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP7 GAS CALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0xAC2 JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0xAC7 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP POP SWAP1 POP DUP1 ISZERO PUSH2 0xB01 JUMPI PUSH1 0x40 MLOAD DUP5 SWAP1 PUSH32 0xA74C8847D513FEBA22A0F0CB38D53081ABF97562CDB293926BA243689E7C41CA SWAP1 PUSH1 0x0 SWAP1 LOG2 PUSH2 0xB0C JUMP JUMPDEST PUSH2 0xB0C DUP5 PUSH1 0x0 PUSH2 0x2316 JUMP JUMPDEST POP POP POP POP JUMPDEST PUSH2 0xB1A DUP2 PUSH2 0x3C78 JUMP JUMPDEST SWAP1 POP PUSH2 0x78F JUMP JUMPDEST POP POP POP POP POP POP POP POP POP POP POP POP JUMP JUMPDEST CALLER ADDRESS EQ PUSH2 0xB4F JUMPI PUSH1 0x40 MLOAD PUSH4 0x14E1DBF7 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 DUP1 PUSH2 0xB5F DUP6 DUP8 ADD DUP8 PUSH2 0x3C9E JUMP JUMPDEST SWAP3 POP SWAP3 POP SWAP3 POP PUSH2 0xB70 DUP4 DUP4 DUP4 PUSH2 0x2342 JUMP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 PUSH2 0xB85 DUP4 PUSH2 0x24DF JUMP JUMPDEST SWAP1 POP DUP1 PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xBA0 JUMPI PUSH2 0xBA0 PUSH2 0x321F JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0xBC9 JUMPI DUP2 PUSH1 0x20 ADD PUSH1 0x20 DUP3 MUL DUP1 CALLDATASIZE DUP4 CALLDATACOPY ADD SWAP1 POP JUMPDEST POP SWAP2 POP PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0xC1B JUMPI PUSH2 0xBE1 DUP5 DUP3 PUSH2 0x24ED JUMP JUMPDEST DUP4 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0xBF3 JUMPI PUSH2 0xBF3 PUSH2 0x3C0E JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP3 AND PUSH1 0x20 SWAP3 DUP4 MUL SWAP2 SWAP1 SWAP2 ADD SWAP1 SWAP2 ADD MSTORE PUSH2 0xC14 DUP2 PUSH2 0x3C78 JUMP JUMPDEST SWAP1 POP PUSH2 0xBCF JUMP JUMPDEST POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xCD3 DUP12 DUP12 DUP12 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 PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 PUSH1 0x1F DUP16 ADD DUP2 SWAP1 DIV DUP2 MUL DUP3 ADD DUP2 ADD SWAP1 SWAP3 MSTORE DUP14 DUP2 MSTORE SWAP3 POP DUP14 SWAP2 POP DUP13 SWAP1 DUP2 SWAP1 DUP5 ADD DUP4 DUP3 DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 SWAP3 ADD SWAP2 SWAP1 SWAP2 MSTORE POP POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 PUSH1 0x1F DUP14 ADD DUP2 SWAP1 DIV DUP2 MUL DUP3 ADD DUP2 ADD SWAP1 SWAP3 MSTORE DUP12 DUP2 MSTORE CALLER SWAP4 POP DUP14 SWAP3 POP SWAP1 DUP13 SWAP1 DUP13 SWAP1 DUP2 SWAP1 DUP5 ADD DUP4 DUP3 DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 SWAP3 ADD SWAP2 SWAP1 SWAP2 MSTORE POP DUP13 SWAP3 POP PUSH2 0x2503 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP3 POP SWAP1 POP DUP2 ISZERO PUSH2 0xD48 JUMPI PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE PUSH2 0xD48 DUP6 DUP6 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 CALLER SWAP3 POP DUP8 SWAP2 POP PUSH2 0x2342 SWAP1 POP JUMP JUMPDEST POP SWAP10 SWAP9 POP POP POP POP POP POP POP POP POP JUMP JUMPDEST DUP2 DUP2 PUSH1 0x40 MLOAD PUSH2 0xD66 SWAP3 SWAP2 SWAP1 PUSH2 0x3CF8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0x30AE6CC78C27E651745BF2AD08A11DE83910AC1E347A52F7AC898C0FBEF94DAE DUP9 DUP9 DUP9 DUP9 DUP9 DUP9 PUSH1 0x40 MLOAD PUSH2 0xDB1 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x3D31 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xDDC PUSH2 0x4D8 DUP4 PUSH2 0xDD7 PUSH3 0x15180 TIMESTAMP PUSH2 0x3D7A JUMP JUMPDEST PUSH2 0x2567 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0xE24 CALLER DUP5 DUP5 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 DUP7 SWAP3 POP PUSH2 0x25BC SWAP2 POP POP JUMP JUMPDEST CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0x651D93F66C4329630E8D0F62488EFF599E3BE484DA587335E8DC0FCF46062726 DUP9 DUP9 DUP9 DUP9 DUP9 DUP9 DUP9 PUSH1 0x40 MLOAD PUSH2 0xE69 SWAP8 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x3D9C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xECD PUSH32 0xD51DC9B187568BB94760866E1D0D066CA470037D2D331AFB1A02EC74BFB8990C PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 MSTORE PUSH32 0xF8D0C05CD32E3272241FDC9D5839565F8BCF94139CB4BD09E230E1B57A60DDC2 SLOAD SWAP1 JUMP JUMPDEST SWAP1 POP SWAP1 JUMP JUMPDEST CALLER ADDRESS EQ PUSH2 0xEF2 JUMPI PUSH1 0x40 MLOAD PUSH4 0x14E1DBF7 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xF01 DUP5 DUP7 ADD DUP7 PUSH2 0x3DED JUMP JUMPDEST SWAP2 POP SWAP2 POP PUSH1 0x0 PUSH2 0xF10 DUP4 PUSH2 0x1656 JUMP JUMPDEST SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0xF44 JUMPI DUP3 PUSH1 0x40 MLOAD PUSH4 0x395D09BF PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xF3B SWAP2 SWAP1 PUSH2 0x3496 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x2 PUSH2 0xF4F DUP5 PUSH2 0x2827 JUMP JUMPDEST PUSH1 0x2 DUP2 GT ISZERO PUSH2 0xF60 JUMPI PUSH2 0xF60 PUSH2 0x3E32 JUMP JUMPDEST EQ ISZERO PUSH2 0x11C3 JUMPI PUSH1 0x0 DUP3 PUSH1 0x40 MLOAD PUSH2 0xF75 SWAP1 PUSH2 0x2F86 JUMP JUMPDEST DUP2 SWAP1 PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 PUSH1 0x0 CREATE2 SWAP1 POP DUP1 ISZERO DUP1 ISZERO PUSH2 0xF95 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH32 0x70A0823100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP4 AND PUSH1 0x4 DUP4 ADD DUP2 SWAP1 MSTORE SWAP3 SWAP4 POP PUSH1 0x0 SWAP3 DUP4 SWAP3 SWAP1 SWAP2 PUSH4 0x1CFF79CD SWAP2 DUP8 SWAP2 PUSH4 0xA9059CBB PUSH1 0xE0 SHL SWAP2 ADDRESS SWAP2 DUP5 AND SWAP1 PUSH4 0x70A08231 SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x100F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1023 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1047 SWAP2 SWAP1 PUSH2 0x3E48 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP3 AND PUSH1 0x24 DUP4 ADD MSTORE PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F NOT DUP2 DUP5 SUB ADD DUP2 MSTORE SWAP2 DUP2 MSTORE PUSH1 0x20 DUP3 ADD DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT SWAP5 DUP6 AND OR SWAP1 MSTORE MLOAD PUSH1 0xE0 DUP6 SWAP1 SHL SWAP1 SWAP3 AND DUP3 MSTORE PUSH2 0x10A8 SWAP3 SWAP2 PUSH1 0x4 ADD PUSH2 0x3E61 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x10C2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x10D6 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 0x10FE SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x3E83 JUMP JUMPDEST SWAP2 POP SWAP2 POP DUP2 ISZERO DUP1 PUSH2 0x112B JUMPI POP DUP1 MLOAD ISZERO DUP1 ISZERO SWAP1 PUSH2 0x112B JUMPI POP DUP1 DUP1 PUSH1 0x20 ADD SWAP1 MLOAD DUP2 ADD SWAP1 PUSH2 0x1129 SWAP2 SWAP1 PUSH2 0x397D JUMP JUMPDEST ISZERO JUMPDEST ISZERO PUSH2 0x114B JUMPI DUP6 PUSH1 0x40 MLOAD PUSH4 0xE217B0AD PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xF3B SWAP2 SWAP1 PUSH2 0x3496 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH31 0xF55D9D00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE ADDRESS PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND SWAP1 PUSH3 0xF55D9D SWAP1 PUSH1 0x24 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x11A3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x11B7 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP POP POP POP PUSH2 0xB70 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x8A1EEE1 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND SWAP1 PUSH4 0x8A1EEE1 SWAP1 PUSH1 0x24 ADD JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x1206 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x121A JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP POP POP POP POP POP POP JUMP JUMPDEST CALLER ADDRESS EQ PUSH2 0x1246 JUMPI PUSH1 0x40 MLOAD PUSH4 0x14E1DBF7 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 DUP1 DUP1 DUP1 DUP1 DUP1 DUP1 PUSH2 0x125B DUP11 DUP13 ADD DUP13 PUSH2 0x3EC7 JUMP JUMPDEST SWAP8 POP SWAP8 POP SWAP8 POP SWAP8 POP SWAP8 POP SWAP8 POP SWAP8 POP SWAP8 POP PUSH2 0x127A DUP10 DUP10 DUP10 DUP10 DUP10 DUP10 DUP10 PUSH2 0x2846 JUMP JUMPDEST DUP5 DUP7 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP11 PUSH32 0x9991FAA1F435675159FFAE64B66D7ECFDB55C29755869A18DB8497B4392347E0 DUP12 DUP12 DUP10 DUP10 DUP10 DUP10 PUSH1 0x40 MLOAD PUSH2 0x12BF SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x3F85 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP POP POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xDDC PUSH2 0x4D8 DUP4 PUSH2 0x287C JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x135D DUP9 DUP9 DUP9 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 PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 PUSH1 0x1F DUP13 ADD DUP2 SWAP1 DIV DUP2 MUL DUP3 ADD DUP2 ADD SWAP1 SWAP3 MSTORE DUP11 DUP2 MSTORE SWAP3 POP DUP11 SWAP2 POP DUP10 SWAP1 DUP2 SWAP1 DUP5 ADD DUP4 DUP3 DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 SWAP3 ADD SWAP2 SWAP1 SWAP2 MSTORE POP CALLER SWAP3 POP DUP10 SWAP2 POP PUSH2 0x28B1 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP3 POP SWAP1 POP DUP2 ISZERO PUSH2 0x1390 JUMPI PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE JUMPDEST POP SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST CALLER ADDRESS EQ PUSH2 0x13BB JUMPI PUSH1 0x40 MLOAD PUSH4 0x14E1DBF7 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 DUP1 DUP1 DUP1 DUP1 PUSH2 0x13CE DUP9 DUP11 ADD DUP11 PUSH2 0x3FDD JUMP JUMPDEST SWAP6 POP SWAP6 POP SWAP6 POP SWAP6 POP SWAP6 POP SWAP6 POP PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x13EE DUP7 PUSH2 0x1656 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x1430 JUMPI DUP5 PUSH1 0x40 MLOAD PUSH32 0xAA7E8B3200000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xF3B SWAP2 SWAP1 PUSH2 0x3496 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x159C JUMPI PUSH1 0x0 DUP6 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x1451 SWAP2 SWAP1 PUSH2 0x3C24 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 SWAP1 POP PUSH1 0x0 DUP1 PUSH32 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x6FC95B34 PUSH1 0xE0 SHL DUP11 DUP11 DUP11 DUP11 DUP9 PUSH1 0x40 MLOAD PUSH1 0x24 ADD PUSH2 0x14B7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x4080 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F NOT DUP2 DUP5 SUB ADD DUP2 MSTORE SWAP2 DUP2 MSTORE PUSH1 0x20 DUP3 ADD DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT SWAP1 SWAP5 AND SWAP4 SWAP1 SWAP4 OR SWAP1 SWAP3 MSTORE SWAP1 MLOAD PUSH2 0x14F5 SWAP2 SWAP1 PUSH2 0x3C24 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 GAS DELEGATECALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x1530 JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x1535 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP DUP2 PUSH2 0x1573 JUMPI DUP8 PUSH1 0x40 MLOAD PUSH32 0x86D5274300000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xF3B SWAP2 SWAP1 PUSH2 0x3496 JUMP JUMPDEST DUP1 DUP1 PUSH1 0x20 ADD SWAP1 MLOAD DUP2 ADD SWAP1 PUSH2 0x1587 SWAP2 SWAP1 PUSH2 0x40C6 JUMP JUMPDEST SWAP5 POP PUSH2 0x1594 DUP9 PUSH1 0x1 PUSH2 0x290F JUMP JUMPDEST POP POP POP PUSH2 0x15F3 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND EXTCODESIZE PUSH2 0x15E8 JUMPI PUSH1 0x40 MLOAD PUSH32 0xC5CCDDDE00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0xF3B JUMP JUMPDEST PUSH2 0x15F3 DUP6 PUSH1 0x2 PUSH2 0x290F JUMP JUMPDEST PUSH2 0x15FD DUP6 DUP4 PUSH2 0x293F JUMP JUMPDEST PUSH2 0x1607 DUP6 DUP3 PUSH2 0x2981 JUMP JUMPDEST PUSH32 0xBF90B5A1EC9763E8BF4B9245CEF0C28DB92BAB309FC2C5177F17814F38246938 DUP6 DUP4 PUSH1 0x40 MLOAD PUSH2 0x1638 SWAP3 SWAP2 SWAP1 PUSH2 0x40E3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xDDC DUP3 PUSH2 0x29DD JUMP JUMPDEST PUSH1 0x0 PUSH2 0xDDC PUSH2 0x2C0 DUP4 PUSH2 0x29EB JUMP JUMPDEST CALLER ADDRESS EQ PUSH2 0x1684 JUMPI PUSH1 0x40 MLOAD PUSH4 0x14E1DBF7 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xD289D1CB PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH32 0x0 AND SWAP1 PUSH4 0xD289D1CB SWAP1 PUSH2 0x16D2 SWAP1 DUP7 SWAP1 DUP7 SWAP1 PUSH1 0x4 ADD PUSH2 0x410E JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x16EC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x1700 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH32 0x192E759E55F359CD9832B5C0C6E38E4B6DF5C5CA33F3BD5C90738E865A521872 DUP4 DUP4 PUSH1 0x40 MLOAD PUSH2 0x1735 SWAP3 SWAP2 SWAP1 PUSH2 0x410E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x60 SWAP2 SWAP1 PUSH2 0x175F SWAP1 PUSH2 0x4122 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 0x178B SWAP1 PUSH2 0x4122 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x17D8 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x17AD JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x17D8 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 0x17BB JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1840 PUSH32 0x360894A13BA1A3210667C828492DB98DCA3E2076CC3735A920A3CA505D382BBC PUSH1 0x0 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH32 0x11141F466C69FD409E1990E063B49CD6D61ED2ECFF27A2E402E259CA6B9A01A3 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ ISZERO PUSH2 0x1881 JUMPI PUSH1 0x40 MLOAD PUSH32 0xBF10DD3A00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 DUP1 PUSH2 0x1891 DUP5 DUP7 ADD DUP7 PUSH2 0x415D JUMP JUMPDEST SWAP3 POP SWAP3 POP SWAP3 POP PUSH1 0x0 PUSH1 0x1 PUSH2 0x18EC PUSH32 0xD51DC9B187568BB94760866E1D0D066CA470037D2D331AFB1A02EC74BFB8990C PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 MSTORE PUSH32 0xF8D0C05CD32E3272241FDC9D5839565F8BCF94139CB4BD09E230E1B57A60DDC2 SLOAD SWAP1 JUMP JUMPDEST PUSH2 0x18F6 SWAP2 SWAP1 PUSH2 0x4228 JUMP JUMPDEST SWAP1 POP PUSH2 0x1949 DUP2 PUSH32 0xD51DC9B187568BB94760866E1D0D066CA470037D2D331AFB1A02EC74BFB8990C PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 MSTORE PUSH32 0xF8D0C05CD32E3272241FDC9D5839565F8BCF94139CB4BD09E230E1B57A60DDC2 SSTORE JUMP JUMPDEST PUSH2 0x1954 DUP2 DUP6 DUP6 PUSH2 0x2A23 JUMP JUMPDEST DUP2 MLOAD ISZERO PUSH2 0xB70 JUMPI PUSH1 0x40 MLOAD PUSH4 0xD289D1CB PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH32 0x0 AND SWAP1 PUSH4 0xD289D1CB SWAP1 PUSH2 0x19A7 SWAP1 DUP6 SWAP1 PUSH1 0x4 ADD PUSH2 0x3496 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x19C1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x19D5 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH32 0x192E759E55F359CD9832B5C0C6E38E4B6DF5C5CA33F3BD5C90738E865A521872 DUP3 PUSH1 0x40 MLOAD PUSH2 0x1A08 SWAP2 SWAP1 PUSH2 0x3496 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1A6B PUSH32 0xD51DC9B187568BB94760866E1D0D066CA470037D2D331AFB1A02EC74BFB8990C PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 MSTORE PUSH32 0xF8D0C05CD32E3272241FDC9D5839565F8BCF94139CB4BD09E230E1B57A60DDC2 SLOAD SWAP1 JUMP JUMPDEST SWAP1 POP PUSH2 0x1A77 DUP2 CALLER PUSH2 0x2B5C JUMP JUMPDEST PUSH2 0x1A94 JUMPI PUSH1 0x40 MLOAD PUSH4 0x7BFA4B9F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 CALLDATASIZE PUSH1 0x40 MLOAD PUSH2 0x1AA6 SWAP3 SWAP2 SWAP1 PUSH2 0x3CF8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 SWAP1 POP PUSH2 0x1ABB DUP3 DUP3 CALLER PUSH2 0x2B6B JUMP JUMPDEST ISZERO PUSH2 0x1AD9 JUMPI PUSH1 0x40 MLOAD PUSH4 0x7C9A1CF9 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x1AE6 DUP3 DUP3 CALLER PUSH1 0x1 PUSH2 0x2BE9 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH2 0x1AF4 DUP5 DUP5 PUSH2 0x2C5C JUMP JUMPDEST PUSH2 0x1AFE SWAP2 SWAP1 PUSH2 0x4228 JUMP JUMPDEST SWAP1 POP PUSH2 0x1B0B DUP4 DUP4 DUP4 PUSH2 0x2C6B JUMP JUMPDEST PUSH2 0x1B14 DUP4 PUSH2 0x29DD JUMP JUMPDEST DUP2 LT ISZERO PUSH2 0x1B23 JUMPI POP POP POP PUSH2 0x1D49 JUMP JUMPDEST DUP7 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EXTCODEHASH DUP7 EQ PUSH2 0x1B66 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8F84FB2400000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP9 AND SWAP1 PUSH32 0xBC7CD75A20EE27FD9ADEBAB32041F755214DBC6BFFA90CC0225B39DA2E5C2D3B SWAP1 PUSH1 0x0 SWAP1 LOG2 DUP4 ISZERO PUSH2 0x1C82 JUMPI PUSH1 0x0 DUP8 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x9DED06DF PUSH1 0xE0 SHL DUP8 DUP8 PUSH1 0x40 MLOAD PUSH1 0x24 ADD PUSH2 0x1BC7 SWAP3 SWAP2 SWAP1 PUSH2 0x410E JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F NOT DUP2 DUP5 SUB ADD DUP2 MSTORE SWAP2 DUP2 MSTORE PUSH1 0x20 DUP3 ADD DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT SWAP1 SWAP5 AND SWAP4 SWAP1 SWAP4 OR SWAP1 SWAP3 MSTORE SWAP1 MLOAD PUSH2 0x1C05 SWAP2 SWAP1 PUSH2 0x3C24 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 GAS DELEGATECALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x1C40 JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x1C45 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP POP SWAP1 POP DUP1 PUSH2 0x1C80 JUMPI PUSH1 0x40 MLOAD PUSH32 0x97905DFB00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP JUMPDEST PUSH2 0x1CF9 DUP8 PUSH32 0x360894A13BA1A3210667C828492DB98DCA3E2076CC3735A920A3CA505D382BBC PUSH1 0x0 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH32 0x11141F466C69FD409E1990E063B49CD6D61ED2ECFF27A2E402E259CA6B9A01A3 DUP1 SLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND OR SWAP1 SSTORE POP JUMP JUMPDEST PUSH2 0x1D05 DUP4 DUP4 PUSH1 0x0 PUSH2 0x2C6B JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1D10 DUP5 PUSH2 0x24DF JUMP JUMPDEST SWAP1 POP PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x1D43 JUMPI PUSH2 0x1D33 DUP6 DUP6 PUSH2 0x1D2C DUP9 DUP6 PUSH2 0x24ED JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2BE9 JUMP JUMPDEST PUSH2 0x1D3C DUP2 PUSH2 0x3C78 JUMP JUMPDEST SWAP1 POP PUSH2 0x1D15 JUMP JUMPDEST POP POP POP POP POP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH2 0x1D91 CALLER DUP5 DUP5 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 DUP7 SWAP3 POP PUSH2 0x25BC SWAP2 POP POP JUMP JUMPDEST DUP5 DUP5 PUSH1 0x40 MLOAD PUSH2 0x1DA1 SWAP3 SWAP2 SWAP1 PUSH2 0x3CF8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0x7E50569D26BE643BDA7757722291EC66B1BE66D8283474AE3FAB5A98F878A7A2 DUP12 DUP12 DUP12 DUP12 DUP12 DUP12 DUP12 DUP12 DUP12 PUSH1 0x40 MLOAD PUSH2 0x1DF2 SWAP10 SWAP9 SWAP8 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x4240 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1EC9 PUSH2 0x3E2 DUP13 DUP13 DUP13 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 DUP2 DUP5 ADD MSTORE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND SWAP1 POP DUP1 DUP4 ADD SWAP3 POP POP POP POP POP POP POP DUP12 DUP12 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 PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 PUSH1 0x1F DUP14 ADD DUP2 SWAP1 DIV DUP2 MUL DUP3 ADD DUP2 ADD SWAP1 SWAP3 MSTORE DUP12 DUP2 MSTORE DUP15 SWAP4 POP DUP14 SWAP3 POP SWAP1 DUP13 SWAP1 DUP13 SWAP1 DUP2 SWAP1 DUP5 ADD DUP4 DUP3 DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 SWAP3 ADD SWAP2 SWAP1 SWAP2 MSTORE POP DUP13 SWAP3 POP PUSH2 0x2503 SWAP2 POP POP JUMP JUMPDEST SWAP12 SWAP11 POP POP POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x60 SWAP2 SWAP1 PUSH2 0x175F SWAP1 PUSH2 0x4122 JUMP JUMPDEST PUSH1 0x0 PUSH2 0xDDC PUSH2 0x3E2 DUP4 PUSH2 0x2C7D JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1F56 PUSH32 0xD51DC9B187568BB94760866E1D0D066CA470037D2D331AFB1A02EC74BFB8990C PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 MSTORE PUSH32 0xF8D0C05CD32E3272241FDC9D5839565F8BCF94139CB4BD09E230E1B57A60DDC2 SLOAD SWAP1 JUMP JUMPDEST SWAP1 POP PUSH2 0x1F62 DUP2 CALLER PUSH2 0x2B5C JUMP JUMPDEST PUSH2 0x1F7F JUMPI PUSH1 0x40 MLOAD PUSH4 0x7BFA4B9F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 CALLDATASIZE PUSH1 0x40 MLOAD PUSH2 0x1F91 SWAP3 SWAP2 SWAP1 PUSH2 0x3CF8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 SWAP1 POP PUSH2 0x1FA6 DUP3 DUP3 CALLER PUSH2 0x2B6B JUMP JUMPDEST ISZERO PUSH2 0x1FC4 JUMPI PUSH1 0x40 MLOAD PUSH4 0x7C9A1CF9 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x1FD1 DUP3 DUP3 CALLER PUSH1 0x1 PUSH2 0x2BE9 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH2 0x1FDF DUP5 DUP5 PUSH2 0x2C5C JUMP JUMPDEST PUSH2 0x1FE9 SWAP2 SWAP1 PUSH2 0x4228 JUMP JUMPDEST SWAP1 POP PUSH2 0x1FF6 DUP4 DUP4 DUP4 PUSH2 0x2C6B JUMP JUMPDEST PUSH2 0x1FFF DUP4 PUSH2 0x29DD JUMP JUMPDEST DUP2 LT ISZERO PUSH2 0x200E JUMPI POP POP POP PUSH2 0x1D49 JUMP JUMPDEST DUP6 DUP5 EQ PUSH2 0x2047 JUMPI PUSH1 0x40 MLOAD PUSH32 0x1508613D00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 JUMPDEST DUP7 DUP2 LT ISZERO PUSH2 0x2129 JUMPI PUSH1 0x0 DUP9 DUP9 DUP4 DUP2 DUP2 LT PUSH2 0x2066 JUMPI PUSH2 0x2066 PUSH2 0x3C0E JUMP JUMPDEST SWAP1 POP PUSH1 0x20 MUL DUP2 ADD SWAP1 PUSH2 0x2078 SWAP2 SWAP1 PUSH2 0x42A8 JUMP JUMPDEST 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 DUP3 SWAP1 MSTORE POP SWAP4 SWAP5 POP DUP11 SWAP3 POP DUP10 SWAP2 POP DUP6 SWAP1 POP DUP2 DUP2 LT PUSH2 0x20C3 JUMPI PUSH2 0x20C3 PUSH2 0x3C0E JUMP JUMPDEST SWAP1 POP PUSH1 0x20 MUL ADD CALLDATALOAD SWAP1 POP PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x20E0 DUP4 PUSH2 0x1656 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ ISZERO PUSH2 0x210A JUMPI DUP2 PUSH1 0x40 MLOAD PUSH4 0x395D09BF PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xF3B SWAP2 SWAP1 PUSH2 0x3496 JUMP JUMPDEST PUSH2 0x2114 DUP3 DUP3 PUSH2 0x2981 JUMP JUMPDEST POP POP DUP1 DUP1 PUSH2 0x2121 SWAP1 PUSH2 0x3C78 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x204A JUMP JUMPDEST POP PUSH2 0x2136 DUP4 DUP4 PUSH1 0x0 PUSH2 0x2C6B JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2141 DUP5 PUSH2 0x24DF JUMP JUMPDEST SWAP1 POP PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x1D43 JUMPI PUSH2 0x215D DUP6 DUP6 PUSH2 0x1D2C DUP9 DUP6 PUSH2 0x24ED JUMP JUMPDEST PUSH2 0x2166 DUP2 PUSH2 0x3C78 JUMP JUMPDEST SWAP1 POP PUSH2 0x2146 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x21EA PUSH2 0x3E2 DUP10 DUP10 DUP10 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 PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 PUSH1 0x1F DUP14 ADD DUP2 SWAP1 DIV DUP2 MUL DUP3 ADD DUP2 ADD SWAP1 SWAP3 MSTORE DUP12 DUP2 MSTORE SWAP3 POP DUP12 SWAP2 POP DUP11 SWAP1 DUP2 SWAP1 DUP5 ADD DUP4 DUP3 DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 SWAP3 ADD SWAP2 SWAP1 SWAP2 MSTORE POP DUP11 SWAP3 POP DUP10 SWAP2 POP PUSH2 0x28B1 SWAP1 POP JUMP JUMPDEST SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP1 PUSH1 0x60 DUP5 DUP1 PUSH1 0x20 ADD SWAP1 MLOAD DUP2 ADD SWAP1 PUSH2 0x2211 SWAP2 SWAP1 PUSH2 0x42EF JUMP JUMPDEST SWAP4 SWAP10 SWAP2 SWAP9 POP SWAP7 POP SWAP2 SWAP5 POP SWAP1 SWAP3 POP POP POP JUMP JUMPDEST CALLER ADDRESS EQ PUSH2 0x2242 JUMPI PUSH1 0x40 MLOAD PUSH4 0x14E1DBF7 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 DUP1 DUP1 DUP1 DUP1 PUSH2 0x2255 DUP9 DUP11 ADD DUP11 PUSH2 0x438B JUMP JUMPDEST SWAP6 POP SWAP6 POP SWAP6 POP SWAP6 POP SWAP6 POP SWAP6 POP PUSH2 0x226E DUP8 DUP8 DUP8 DUP8 DUP8 PUSH2 0x2CB8 JUMP JUMPDEST DUP3 DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP9 PUSH32 0x44E4F8F6BD682C5A3AEBA93601AB07CB4D1F21B2AAB1AE4880D9577919309AA4 DUP10 DUP10 DUP8 DUP8 PUSH1 0x40 MLOAD PUSH2 0x22AF SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x441D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH32 0x19457468657265756D205369676E6564204D6573736167653A0A333200000000 PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x3C DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH1 0x5C ADD JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x233E PUSH2 0x2322 DUP4 PUSH2 0x2C7D JUMP JUMPDEST PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND DUP4 ISZERO ISZERO OR SWAP1 SSTORE JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x234D DUP5 PUSH2 0x1656 JUMP JUMPDEST SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x2378 JUMPI DUP4 PUSH1 0x40 MLOAD PUSH4 0x395D09BF PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xF3B SWAP2 SWAP1 PUSH2 0x3496 JUMP JUMPDEST PUSH2 0x2395 DUP5 DUP4 PUSH2 0x2386 DUP8 PUSH2 0xDC1 JUMP JUMPDEST PUSH2 0x2390 SWAP2 SWAP1 PUSH2 0x4228 JUMP JUMPDEST PUSH2 0x2CC8 JUMP JUMPDEST PUSH1 0x2 PUSH2 0x23A0 DUP6 PUSH2 0x2827 JUMP JUMPDEST PUSH1 0x2 DUP2 GT ISZERO PUSH2 0x23B1 JUMPI PUSH2 0x23B1 PUSH2 0x3E32 JUMP JUMPDEST EQ ISZERO PUSH2 0x245E JUMPI PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x44 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH2 0x241D SWAP1 DUP4 SWAP1 PUSH4 0xA9059CBB PUSH1 0xE0 SHL SWAP1 PUSH1 0x64 ADD JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F NOT DUP2 DUP5 SUB ADD DUP2 MSTORE SWAP2 SWAP1 MSTORE PUSH1 0x20 DUP2 ADD DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT SWAP1 SWAP4 AND SWAP3 SWAP1 SWAP3 OR SWAP1 SWAP2 MSTORE PUSH2 0x2D44 JUMP JUMPDEST SWAP1 POP DUP1 PUSH2 0x2458 JUMPI DUP5 PUSH1 0x40 MLOAD PUSH32 0x90C52ED700000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xF3B SWAP2 SWAP1 PUSH2 0x3496 JUMP JUMPDEST POP PUSH2 0x1D49 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH32 0x40C10F1900000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 DUP2 AND PUSH1 0x4 DUP4 ADD MSTORE PUSH1 0x24 DUP3 ADD DUP5 SWAP1 MSTORE DUP3 AND SWAP1 PUSH4 0x40C10F19 SWAP1 PUSH1 0x44 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x24C1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x24D5 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xDDC PUSH2 0x4D8 DUP4 PUSH2 0x2DD6 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x24FC PUSH2 0x2C0 DUP5 DUP5 PUSH2 0x2E11 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH32 0xB7AD972B71475860613DB3BA1FE699B886C878F9002A09250DC25E769EB19A10 DUP9 DUP9 DUP9 DUP9 DUP9 DUP9 DUP9 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x2544 SWAP9 SWAP8 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x4456 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 SWAP1 POP SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH32 0x4281768AB7480DDCF054116642FB644388166407FC26C4E8E435DD259143CFD2 DUP4 DUP4 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x259E SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x44C9 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x25C7 DUP4 PUSH2 0x1656 JUMP JUMPDEST SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x25F2 JUMPI DUP3 PUSH1 0x40 MLOAD PUSH4 0x395D09BF PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xF3B SWAP2 SWAP1 PUSH2 0x3496 JUMP JUMPDEST DUP2 PUSH2 0x2629 JUMPI PUSH1 0x40 MLOAD PUSH32 0x2C5211C600000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x2634 DUP5 PUSH2 0x2827 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH1 0x2 DUP3 PUSH1 0x2 DUP2 GT ISZERO PUSH2 0x264C JUMPI PUSH2 0x264C PUSH2 0x3E32 JUMP JUMPDEST EQ ISZERO PUSH2 0x26AA JUMPI PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND PUSH1 0x24 DUP3 ADD MSTORE ADDRESS PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 DUP2 ADD DUP6 SWAP1 MSTORE PUSH2 0x2688 SWAP1 DUP5 SWAP1 PUSH4 0x23B872DD PUSH1 0xE0 SHL SWAP1 PUSH1 0x84 ADD PUSH2 0x23E6 JUMP JUMPDEST SWAP1 POP DUP1 PUSH2 0xB70 JUMPI DUP5 PUSH1 0x40 MLOAD PUSH4 0xE217B0AD PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xF3B SWAP2 SWAP1 PUSH2 0x3496 JUMP JUMPDEST PUSH1 0x1 DUP3 PUSH1 0x2 DUP2 GT ISZERO PUSH2 0x26BE JUMPI PUSH2 0x26BE PUSH2 0x3E32 JUMP JUMPDEST EQ ISZERO PUSH2 0x270D JUMPI PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x44 DUP2 ADD DUP6 SWAP1 MSTORE PUSH2 0x2688 SWAP1 DUP5 SWAP1 PUSH32 0x79CC679000000000000000000000000000000000000000000000000000000000 SWAP1 PUSH1 0x64 ADD PUSH2 0x23E6 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH32 0x31EECAF400000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x0 PUSH1 0x4 DUP3 ADD MSTORE PUSH2 0x27D8 SWAP1 DUP5 SWAP1 PUSH4 0x23B872DD PUSH1 0xE0 SHL SWAP1 DUP10 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND SWAP1 PUSH4 0x31EECAF4 SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x2777 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x278B JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x27AF SWAP2 SWAP1 PUSH2 0x40C6 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 DUP4 AND PUSH1 0x24 DUP3 ADD MSTORE SWAP2 AND PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 DUP2 ADD DUP9 SWAP1 MSTORE PUSH1 0x84 ADD PUSH2 0x23E6 JUMP JUMPDEST SWAP1 POP DUP1 PUSH2 0x27FA JUMPI DUP5 PUSH1 0x40 MLOAD PUSH4 0xE217B0AD PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xF3B SWAP2 SWAP1 PUSH2 0x3496 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x8A1EEE1 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x0 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND SWAP1 PUSH4 0x8A1EEE1 SWAP1 PUSH1 0x24 ADD PUSH2 0x11EC JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2835 PUSH2 0x4D8 DUP4 PUSH2 0x2E53 JUMP JUMPDEST PUSH1 0x2 DUP2 GT ISZERO PUSH2 0xDDC JUMPI PUSH2 0xDDC PUSH2 0x3E32 JUMP JUMPDEST PUSH2 0x2873 PUSH2 0x2858 DUP9 DUP9 DUP9 DUP9 DUP9 DUP9 DUP9 PUSH2 0x2503 JUMP JUMPDEST PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE JUMP JUMPDEST POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH32 0x385B0FBF06AAE812803F7F3A3A975B7E1DCE19F50FB39BAF3F341E2849E5CE06 DUP3 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x22F9 SWAP3 SWAP2 SWAP1 PUSH2 0x44F6 JUMP JUMPDEST PUSH1 0x0 PUSH32 0x7B0D4304F82012BD3B70B1D531C160E326067C90829E2A3D386722AD10B89C3 DUP7 DUP7 DUP7 DUP7 DUP7 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x28EE SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x451C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 SWAP1 POP SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH2 0x233E PUSH2 0x291B DUP4 PUSH2 0x2E53 JUMP JUMPDEST DUP3 PUSH1 0x2 DUP2 GT ISZERO PUSH2 0x292D JUMPI PUSH2 0x292D PUSH2 0x3E32 JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 DUP3 SWAP1 MSTORE PUSH1 0x40 SWAP1 SWAP2 KECCAK256 SSTORE JUMP JUMPDEST PUSH2 0x233E PUSH2 0x294B DUP4 PUSH2 0x29EB JUMP JUMPDEST PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND OR SWAP1 SSTORE JUMP JUMPDEST PUSH2 0x29A0 PUSH2 0x298D DUP4 PUSH2 0x287C JUMP JUMPDEST DUP3 PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 DUP3 SWAP1 MSTORE PUSH1 0x40 SWAP1 SWAP2 KECCAK256 SSTORE JUMP JUMPDEST PUSH32 0xA34DF38BABDCFB4AA60AD9EDA9583DF1BCD3DBD7D4687C89D35C3EC4F4331BE9 DUP3 DUP3 PUSH1 0x40 MLOAD PUSH2 0x29D1 SWAP3 SWAP2 SWAP1 PUSH2 0x3C40 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xDDC PUSH2 0x4D8 DUP4 PUSH2 0x2E88 JUMP JUMPDEST PUSH1 0x0 PUSH32 0xC4E632779A6A7838736DD7E5E6A0EADF171DD37DFB6230720E265576DFCF42BB DUP3 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x22F9 SWAP3 SWAP2 SWAP1 PUSH2 0x44F6 JUMP JUMPDEST POP JUMP JUMPDEST DUP2 MLOAD DUP2 DUP2 LT ISZERO PUSH2 0x2A46 JUMPI PUSH1 0x40 MLOAD PUSH4 0xF1965A07 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 PUSH2 0x2A7D JUMPI PUSH1 0x40 MLOAD PUSH32 0x1845300D00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x2A87 DUP5 DUP4 PUSH2 0x2EC3 JUMP JUMPDEST PUSH2 0x2A91 DUP5 DUP3 PUSH2 0x2ECF JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x2B55 JUMPI PUSH1 0x0 DUP5 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x2AB0 JUMPI PUSH2 0x2AB0 PUSH2 0x3C0E JUMP JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD SWAP1 POP PUSH2 0x2AC4 DUP7 DUP3 PUSH2 0x2B5C JUMP JUMPDEST ISZERO PUSH2 0x2B06 JUMPI PUSH1 0x40 MLOAD PUSH32 0x424926DE00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0xF3B JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x2B2D JUMPI PUSH1 0x40 MLOAD PUSH4 0xF1965A07 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x2B38 DUP7 DUP4 DUP4 PUSH2 0x2EDB JUMP JUMPDEST PUSH2 0x2B44 DUP7 DUP3 PUSH1 0x1 PUSH2 0x2EE8 JUMP JUMPDEST POP PUSH2 0x2B4E DUP2 PUSH2 0x3C78 JUMP JUMPDEST SWAP1 POP PUSH2 0x2A94 JUMP JUMPDEST POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x24FC PUSH2 0x3E2 DUP5 DUP5 PUSH2 0x2EF1 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH32 0x3CED7A8CAF1111E0FBF4B784C5B41AEBD0F2389D9F2F64D5C3424AEED3ADBD3C PUSH1 0x20 DUP1 DUP4 ADD SWAP2 SWAP1 SWAP2 MSTORE DUP2 DUP4 ADD DUP7 SWAP1 MSTORE PUSH1 0x60 DUP1 DUP4 ADD DUP7 SWAP1 MSTORE DUP5 SWAP1 SHL PUSH12 0xFFFFFFFFFFFFFFFFFFFFFFFF NOT AND PUSH1 0x80 DUP4 ADD MSTORE DUP3 MLOAD DUP1 DUP4 SUB PUSH1 0x74 ADD DUP2 MSTORE PUSH1 0x94 SWAP1 SWAP3 ADD SWAP1 SWAP3 MSTORE DUP1 MLOAD SWAP2 ADD KECCAK256 PUSH1 0x0 SWAP1 PUSH2 0x2BE1 SWAP1 PUSH2 0x3E2 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH32 0x3CED7A8CAF1111E0FBF4B784C5B41AEBD0F2389D9F2F64D5C3424AEED3ADBD3C PUSH1 0x20 DUP1 DUP4 ADD SWAP2 SWAP1 SWAP2 MSTORE DUP2 DUP4 ADD DUP8 SWAP1 MSTORE PUSH1 0x60 DUP1 DUP4 ADD DUP8 SWAP1 MSTORE DUP6 SWAP1 SHL PUSH12 0xFFFFFFFFFFFFFFFFFFFFFFFF NOT AND PUSH1 0x80 DUP4 ADD MSTORE DUP3 MLOAD DUP1 DUP4 SUB PUSH1 0x74 ADD DUP2 MSTORE PUSH1 0x94 SWAP1 SWAP3 ADD SWAP1 SWAP3 MSTORE DUP1 MLOAD SWAP2 ADD KECCAK256 PUSH2 0x1D49 SWAP1 PUSH2 0x2322 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x24FC PUSH2 0x4D8 DUP5 DUP5 PUSH2 0x2F44 JUMP JUMPDEST PUSH2 0x2C78 PUSH2 0x298D DUP5 DUP5 PUSH2 0x2F44 JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH32 0x957705A374326B30F4A1069C936D736CC9993ED6C820B4E0E2FD94A8BECA0D1D PUSH1 0x20 DUP3 ADD MSTORE SWAP1 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH1 0x60 ADD PUSH2 0x22F9 JUMP JUMPDEST PUSH2 0x2B55 PUSH2 0x2858 DUP7 DUP7 DUP7 DUP7 DUP7 PUSH2 0x28B1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2CD3 DUP4 PUSH2 0x12D4 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 GT DUP1 ISZERO PUSH2 0x2CE4 JUMPI POP DUP1 DUP3 GT JUMPDEST ISZERO PUSH2 0x2D1D JUMPI DUP3 PUSH1 0x40 MLOAD PUSH32 0x7820279500000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xF3B SWAP2 SWAP1 PUSH2 0x3496 JUMP JUMPDEST PUSH2 0x2C78 PUSH2 0x2D31 DUP5 PUSH2 0xDD7 PUSH3 0x15180 TIMESTAMP PUSH2 0x3D7A JUMP JUMPDEST DUP4 PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 DUP3 SWAP1 MSTORE PUSH1 0x40 SWAP1 SWAP2 KECCAK256 SSTORE JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 PUSH1 0x40 MLOAD PUSH2 0x2D61 SWAP2 SWAP1 PUSH2 0x3C24 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP7 GAS CALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x2D9E JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x2DA3 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP DUP2 DUP1 ISZERO PUSH2 0x2DCD JUMPI POP DUP1 MLOAD ISZERO DUP1 PUSH2 0x2DCD JUMPI POP DUP1 DUP1 PUSH1 0x20 ADD SWAP1 MLOAD DUP2 ADD SWAP1 PUSH2 0x2DCD SWAP2 SWAP1 PUSH2 0x397D JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH32 0x5112EF894367DE1270CFAE12AFCD2285C225830EB8F74E7E938F721BB510CBA PUSH1 0x20 DUP3 ADD MSTORE SWAP1 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH1 0x60 ADD PUSH2 0x22F9 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH32 0xF23EC0BB4210EDD5CBA85AFD05127EFCD2FC6A781BFED49188DA1081670B22D8 PUSH1 0x20 DUP3 ADD MSTORE SWAP1 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x60 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH1 0x80 ADD PUSH2 0x259E JUMP JUMPDEST PUSH1 0x0 PUSH32 0xA80D2259AF55890618EC2EEB3AC72DE4BDBA22529BB14845D8A3D712D1C3F621 DUP3 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x22F9 SWAP3 SWAP2 SWAP1 PUSH2 0x44F6 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH32 0x79BD914ADDD90BD67AD800BF0230BB85FFDEF5AEBA5FD8249F116D3F17F4FB4B PUSH1 0x20 DUP3 ADD MSTORE SWAP1 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH1 0x60 ADD PUSH2 0x22F9 JUMP JUMPDEST PUSH2 0x233E PUSH2 0x298D DUP4 PUSH2 0x2E88 JUMP JUMPDEST PUSH2 0x233E PUSH2 0x298D DUP4 PUSH2 0x2DD6 JUMP JUMPDEST PUSH2 0x2C78 PUSH2 0x294B DUP5 DUP5 PUSH2 0x2E11 JUMP JUMPDEST PUSH2 0x2C78 PUSH2 0x2322 DUP5 DUP5 JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH32 0x63FA879CB478FDDF1DE08D49E29115FB768866711BC799FF9AB419A7F16C9AFB PUSH1 0x20 DUP3 ADD MSTORE SWAP1 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x60 DUP3 DUP2 SHL PUSH12 0xFFFFFFFFFFFFFFFFFFFFFFFF NOT AND SWAP1 DUP3 ADD MSTORE PUSH1 0x0 SWAP1 PUSH1 0x74 ADD PUSH2 0x259E JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH32 0xBAEA1C6C0F16A0A340B10A9E980806696A68DDBB5E8361FD64630DD21ABF515F PUSH1 0x20 DUP3 ADD MSTORE SWAP1 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x60 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH1 0x80 ADD PUSH2 0x259E JUMP JUMPDEST PUSH2 0x349 DUP1 PUSH2 0x456D DUP4 CODECOPY ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0x2FA5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP DUP2 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x2FBD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x20 DUP3 DUP6 ADD ADD GT ISZERO PUSH2 0x2FD5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x20 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x2FEF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x3006 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x3012 DUP6 DUP3 DUP7 ADD PUSH2 0x2F93 JUMP JUMPDEST SWAP1 SWAP7 SWAP1 SWAP6 POP SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x40 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x3033 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x304A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x3056 DUP7 DUP3 DUP8 ADD PUSH2 0x2F93 JUMP JUMPDEST SWAP1 SWAP8 SWAP1 SWAP7 POP PUSH1 0x20 SWAP6 SWAP1 SWAP6 ADD CALLDATALOAD SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x307C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE DUP3 MLOAD DUP3 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP2 SWAP1 DUP5 DUP3 ADD SWAP1 PUSH1 0x40 DUP6 ADD SWAP1 DUP5 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x30C4 JUMPI DUP4 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 MSTORE SWAP3 DUP5 ADD SWAP3 SWAP2 DUP5 ADD SWAP2 PUSH1 0x1 ADD PUSH2 0x309F JUMP JUMPDEST POP SWAP1 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xC0 DUP11 DUP13 SUB SLT ISZERO PUSH2 0x30EE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP10 CALLDATALOAD SWAP9 POP PUSH1 0x20 DUP11 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x310D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x3119 DUP14 DUP4 DUP15 ADD PUSH2 0x2F93 JUMP JUMPDEST SWAP1 SWAP11 POP SWAP9 POP PUSH1 0x40 DUP13 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x3132 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x313E DUP14 DUP4 DUP15 ADD PUSH2 0x2F93 JUMP JUMPDEST SWAP1 SWAP9 POP SWAP7 POP PUSH1 0x60 DUP13 ADD CALLDATALOAD SWAP6 POP PUSH1 0x80 DUP13 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x315E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x316B DUP13 DUP3 DUP14 ADD PUSH2 0x2F93 JUMP JUMPDEST SWAP11 SWAP14 SWAP10 SWAP13 POP SWAP8 SWAP11 SWAP7 SWAP10 SWAP6 SWAP9 SWAP5 SWAP8 SWAP7 PUSH1 0xA0 ADD CALLDATALOAD SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x60 DUP8 DUP10 SUB SLT ISZERO PUSH2 0x319E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP7 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x31B6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x31C2 DUP11 DUP4 DUP12 ADD PUSH2 0x2F93 JUMP JUMPDEST SWAP1 SWAP9 POP SWAP7 POP PUSH1 0x20 DUP10 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x31DB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x31E7 DUP11 DUP4 DUP12 ADD PUSH2 0x2F93 JUMP JUMPDEST SWAP1 SWAP7 POP SWAP5 POP PUSH1 0x40 DUP10 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x3200 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x320D DUP10 DUP3 DUP11 ADD PUSH2 0x2F93 JUMP JUMPDEST SWAP8 SWAP11 SWAP7 SWAP10 POP SWAP5 SWAP8 POP SWAP3 SWAP6 SWAP4 SWAP5 SWAP3 POP POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT AND DUP2 ADD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x325E JUMPI PUSH2 0x325E PUSH2 0x321F JUMP JUMPDEST PUSH1 0x40 MSTORE SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x3280 JUMPI PUSH2 0x3280 PUSH2 0x321F JUMP JUMPDEST POP PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x329F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x32B2 PUSH2 0x32AD DUP3 PUSH2 0x3266 JUMP JUMPDEST PUSH2 0x3235 JUMP JUMPDEST DUP2 DUP2 MSTORE DUP5 PUSH1 0x20 DUP4 DUP7 ADD ADD GT ISZERO PUSH2 0x32C7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 PUSH1 0x20 DUP6 ADD PUSH1 0x20 DUP4 ADD CALLDATACOPY PUSH1 0x0 SWAP2 DUP2 ADD PUSH1 0x20 ADD SWAP2 SWAP1 SWAP2 MSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x32F6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x330D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2BE1 DUP5 DUP3 DUP6 ADD PUSH2 0x328E JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x80 DUP9 DUP11 SUB SLT ISZERO PUSH2 0x3334 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP8 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x334C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x3358 DUP12 DUP4 DUP13 ADD PUSH2 0x2F93 JUMP JUMPDEST SWAP1 SWAP10 POP SWAP8 POP PUSH1 0x20 DUP11 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x3371 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x337D DUP12 DUP4 DUP13 ADD PUSH2 0x2F93 JUMP JUMPDEST SWAP1 SWAP8 POP SWAP6 POP PUSH1 0x40 DUP11 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x3396 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x33A3 DUP11 DUP3 DUP12 ADD PUSH2 0x2F93 JUMP JUMPDEST SWAP9 SWAP12 SWAP8 SWAP11 POP SWAP6 SWAP9 SWAP5 SWAP8 SWAP6 SWAP7 PUSH1 0x60 SWAP1 SWAP6 ADD CALLDATALOAD SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP8 DUP10 SUB SLT ISZERO PUSH2 0x33D5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP7 CALLDATALOAD SWAP6 POP PUSH1 0x20 DUP8 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x33F4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x3400 DUP11 DUP4 DUP12 ADD PUSH2 0x2F93 JUMP JUMPDEST SWAP1 SWAP8 POP SWAP6 POP PUSH1 0x40 DUP10 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x3419 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3426 DUP10 DUP3 DUP11 ADD PUSH2 0x2F93 JUMP JUMPDEST SWAP8 SWAP11 SWAP7 SWAP10 POP SWAP5 SWAP8 SWAP5 SWAP7 SWAP6 PUSH1 0x60 SWAP1 SWAP6 ADD CALLDATALOAD SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x3459 JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x3441 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x1D49 JUMPI POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH2 0x3482 DUP2 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP7 ADD PUSH2 0x343E JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x20 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0x24FC PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x346A JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x2A20 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x60 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x34D4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP5 CALLDATALOAD PUSH2 0x34DF DUP2 PUSH2 0x34A9 JUMP JUMPDEST SWAP4 POP PUSH1 0x20 DUP6 ADD CALLDATALOAD SWAP3 POP PUSH1 0x40 DUP6 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x3502 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x350E DUP8 DUP3 DUP9 ADD PUSH2 0x2F93 JUMP JUMPDEST SWAP6 SWAP9 SWAP5 SWAP8 POP SWAP6 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xA0 DUP11 DUP13 SUB SLT ISZERO PUSH2 0x3538 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP10 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x3550 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x355C DUP14 DUP4 DUP15 ADD PUSH2 0x2F93 JUMP JUMPDEST SWAP1 SWAP12 POP SWAP10 POP PUSH1 0x20 DUP13 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x3575 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x3581 DUP14 DUP4 DUP15 ADD PUSH2 0x2F93 JUMP JUMPDEST SWAP1 SWAP10 POP SWAP8 POP PUSH1 0x40 DUP13 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x359A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x35A6 DUP14 DUP4 DUP15 ADD PUSH2 0x2F93 JUMP JUMPDEST SWAP1 SWAP8 POP SWAP6 POP PUSH1 0x60 DUP13 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x35BF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x35CC DUP13 DUP3 DUP14 ADD PUSH2 0x2F93 JUMP JUMPDEST SWAP11 SWAP14 SWAP10 SWAP13 POP SWAP8 SWAP11 SWAP7 SWAP10 SWAP6 SWAP9 SWAP5 SWAP8 SWAP7 PUSH1 0x80 ADD CALLDATALOAD SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0xE0 DUP12 DUP14 SUB SLT ISZERO PUSH2 0x3605 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP11 CALLDATALOAD SWAP10 POP PUSH1 0x20 DUP12 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x3624 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x3630 DUP15 DUP4 DUP16 ADD PUSH2 0x2F93 JUMP JUMPDEST SWAP1 SWAP12 POP SWAP10 POP PUSH1 0x40 DUP14 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x3649 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x3655 DUP15 DUP4 DUP16 ADD PUSH2 0x2F93 JUMP JUMPDEST SWAP1 SWAP10 POP SWAP8 POP PUSH1 0x60 DUP14 ADD CALLDATALOAD SWAP2 POP PUSH2 0x366A DUP3 PUSH2 0x34A9 JUMP JUMPDEST SWAP1 SWAP6 POP PUSH1 0x80 DUP13 ADD CALLDATALOAD SWAP5 POP PUSH1 0xA0 DUP13 ADD CALLDATALOAD SWAP1 DUP1 DUP3 GT ISZERO PUSH2 0x3687 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3694 DUP14 DUP3 DUP15 ADD PUSH2 0x2F93 JUMP JUMPDEST SWAP2 POP DUP1 SWAP5 POP POP DUP1 SWAP3 POP POP PUSH1 0xC0 DUP12 ADD CALLDATALOAD SWAP1 POP SWAP3 SWAP6 SWAP9 SWAP12 SWAP2 SWAP5 SWAP8 SWAP11 POP SWAP3 SWAP6 SWAP9 POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0x36C6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP DUP2 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x36DE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x20 DUP3 PUSH1 0x5 SHL DUP6 ADD ADD GT ISZERO PUSH2 0x2FD5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x40 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x370F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP5 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x3727 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x3733 DUP9 DUP4 DUP10 ADD PUSH2 0x36B4 JUMP JUMPDEST SWAP1 SWAP7 POP SWAP5 POP PUSH1 0x20 DUP8 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x374C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x350E DUP8 DUP3 DUP9 ADD PUSH2 0x36B4 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xA0 DUP9 DUP11 SUB SLT ISZERO PUSH2 0x3774 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP8 CALLDATALOAD SWAP7 POP PUSH1 0x20 DUP9 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x3793 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x379F DUP12 DUP4 DUP13 ADD PUSH2 0x2F93 JUMP JUMPDEST SWAP1 SWAP9 POP SWAP7 POP PUSH1 0x40 DUP11 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x37B8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x37C5 DUP11 DUP3 DUP12 ADD PUSH2 0x2F93 JUMP JUMPDEST SWAP1 SWAP6 POP SWAP4 POP POP PUSH1 0x60 DUP9 ADD CALLDATALOAD PUSH2 0x37D9 DUP2 PUSH2 0x34A9 JUMP JUMPDEST DUP1 SWAP3 POP POP PUSH1 0x80 DUP9 ADD CALLDATALOAD SWAP1 POP SWAP3 SWAP6 SWAP9 SWAP2 SWAP5 SWAP8 POP SWAP3 SWAP6 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH1 0x20 DUP1 DUP6 ADD DUP1 DUP2 SWAP7 POP DUP4 PUSH1 0x5 SHL DUP2 ADD SWAP2 POP DUP3 DUP7 ADD PUSH1 0x0 JUMPDEST DUP6 DUP2 LT ISZERO PUSH2 0x3838 JUMPI DUP3 DUP5 SUB DUP10 MSTORE PUSH2 0x3826 DUP5 DUP4 MLOAD PUSH2 0x346A JUMP JUMPDEST SWAP9 DUP6 ADD SWAP9 SWAP4 POP SWAP1 DUP5 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x380E JUMP JUMPDEST POP SWAP2 SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x80 DUP3 ADD DUP7 DUP4 MSTORE PUSH1 0x20 PUSH1 0x80 DUP2 DUP6 ADD MSTORE DUP2 DUP8 MLOAD DUP1 DUP5 MSTORE PUSH1 0xA0 DUP7 ADD SWAP2 POP DUP3 DUP10 ADD SWAP4 POP PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x3886 JUMPI DUP5 MLOAD DUP4 MSTORE SWAP4 DUP4 ADD SWAP4 SWAP2 DUP4 ADD SWAP2 PUSH1 0x1 ADD PUSH2 0x386A JUMP JUMPDEST POP POP DUP5 DUP2 SUB PUSH1 0x40 DUP7 ADD MSTORE DUP7 MLOAD DUP1 DUP3 MSTORE DUP3 DUP3 ADD SWAP4 POP PUSH1 0x5 DUP2 SWAP1 SHL DUP3 ADD DUP4 ADD DUP4 DUP10 ADD PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x38D7 JUMPI PUSH1 0x1F NOT DUP6 DUP5 SUB ADD DUP8 MSTORE PUSH2 0x38C5 DUP4 DUP4 MLOAD PUSH2 0x346A JUMP JUMPDEST SWAP7 DUP7 ADD SWAP7 SWAP3 POP SWAP1 DUP6 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x38A9 JUMP JUMPDEST POP POP DUP7 DUP2 SUB PUSH1 0x60 DUP9 ADD MSTORE PUSH2 0x1EC9 DUP2 DUP10 PUSH2 0x37F0 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x38FE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x3916 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x3922 DUP7 DUP4 DUP8 ADD PUSH2 0x328E JUMP JUMPDEST SWAP4 POP PUSH1 0x20 DUP6 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x3938 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3945 DUP6 DUP3 DUP7 ADD PUSH2 0x328E JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 MSTORE PUSH1 0x40 PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x0 PUSH2 0x2BE1 PUSH1 0x40 DUP4 ADD DUP5 PUSH2 0x346A JUMP JUMPDEST DUP1 MLOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x3978 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x398F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x24FC DUP3 PUSH2 0x3968 JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x39B2 JUMPI PUSH2 0x39B2 PUSH2 0x321F JUMP JUMPDEST POP PUSH1 0x5 SHL PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x39CD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x20 PUSH2 0x39DD PUSH2 0x32AD DUP4 PUSH2 0x3998 JUMP JUMPDEST DUP3 DUP2 MSTORE PUSH1 0x5 SWAP3 SWAP1 SWAP3 SHL DUP5 ADD DUP2 ADD SWAP2 DUP2 DUP2 ADD SWAP1 DUP7 DUP5 GT ISZERO PUSH2 0x39FC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 DUP7 ADD JUMPDEST DUP5 DUP2 LT ISZERO PUSH2 0x1390 JUMPI DUP1 MLOAD DUP4 MSTORE SWAP2 DUP4 ADD SWAP2 DUP4 ADD PUSH2 0x3A00 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3A25 PUSH2 0x32AD DUP5 PUSH2 0x3266 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE DUP4 DUP4 DUP4 ADD GT ISZERO PUSH2 0x3A39 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x24FC DUP4 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x343E JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x3A58 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x20 PUSH2 0x3A68 PUSH2 0x32AD DUP4 PUSH2 0x3998 JUMP JUMPDEST DUP3 DUP2 MSTORE PUSH1 0x5 SWAP3 SWAP1 SWAP3 SHL DUP5 ADD DUP2 ADD SWAP2 DUP2 DUP2 ADD SWAP1 DUP7 DUP5 GT ISZERO PUSH2 0x3A87 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 DUP7 ADD JUMPDEST DUP5 DUP2 LT ISZERO PUSH2 0x1390 JUMPI DUP1 MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x3AAB JUMPI PUSH1 0x0 DUP1 DUP2 REVERT JUMPDEST DUP8 ADD PUSH1 0x3F DUP2 ADD DUP10 SGT PUSH2 0x3ABD JUMPI PUSH1 0x0 DUP1 DUP2 REVERT JUMPDEST PUSH2 0x3ACE DUP10 DUP7 DUP4 ADD MLOAD PUSH1 0x40 DUP5 ADD PUSH2 0x3A17 JUMP JUMPDEST DUP5 MSTORE POP SWAP2 DUP4 ADD SWAP2 DUP4 ADD PUSH2 0x3A8B JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x3AED JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x24FC DUP4 DUP4 MLOAD PUSH1 0x20 DUP6 ADD PUSH2 0x3A17 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x3B0D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x20 PUSH2 0x3B1D PUSH2 0x32AD DUP4 PUSH2 0x3998 JUMP JUMPDEST DUP3 DUP2 MSTORE PUSH1 0x5 SWAP3 SWAP1 SWAP3 SHL DUP5 ADD DUP2 ADD SWAP2 DUP2 DUP2 ADD SWAP1 DUP7 DUP5 GT ISZERO PUSH2 0x3B3C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 DUP7 ADD JUMPDEST DUP5 DUP2 LT ISZERO PUSH2 0x1390 JUMPI DUP1 MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x3B60 JUMPI PUSH1 0x0 DUP1 DUP2 REVERT JUMPDEST PUSH2 0x3B6E DUP10 DUP7 DUP4 DUP12 ADD ADD PUSH2 0x3ADC JUMP JUMPDEST DUP5 MSTORE POP SWAP2 DUP4 ADD SWAP2 DUP4 ADD PUSH2 0x3B40 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x3B92 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP5 MLOAD SWAP4 POP PUSH1 0x20 DUP6 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x3BB1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x3BBD DUP9 DUP4 DUP10 ADD PUSH2 0x39BC JUMP JUMPDEST SWAP5 POP PUSH1 0x40 DUP8 ADD MLOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x3BD3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x3BDF DUP9 DUP4 DUP10 ADD PUSH2 0x3A47 JUMP JUMPDEST SWAP4 POP PUSH1 0x60 DUP8 ADD MLOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x3BF5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3C02 DUP8 DUP3 DUP9 ADD PUSH2 0x3AFC JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP3 MLOAD PUSH2 0x3C36 DUP2 DUP5 PUSH1 0x20 DUP8 ADD PUSH2 0x343E JUMP JUMPDEST SWAP2 SWAP1 SWAP2 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x40 DUP2 MSTORE PUSH1 0x0 PUSH2 0x3C53 PUSH1 0x40 DUP4 ADD DUP6 PUSH2 0x346A JUMP JUMPDEST SWAP1 POP DUP3 PUSH1 0x20 DUP4 ADD MSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x0 NOT DUP3 EQ ISZERO PUSH2 0x3C8C JUMPI PUSH2 0x3C8C PUSH2 0x3C62 JUMP JUMPDEST POP PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST DUP1 CALLDATALOAD PUSH2 0x3978 DUP2 PUSH2 0x34A9 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x3CB3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x3CCA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x3CD6 DUP7 DUP3 DUP8 ADD PUSH2 0x328E JUMP JUMPDEST SWAP4 POP POP PUSH1 0x20 DUP5 ADD CALLDATALOAD PUSH2 0x3CE7 DUP2 PUSH2 0x34A9 JUMP JUMPDEST SWAP3 SWAP6 SWAP3 SWAP5 POP POP POP PUSH1 0x40 SWAP2 SWAP1 SWAP2 ADD CALLDATALOAD SWAP1 JUMP JUMPDEST DUP2 DUP4 DUP3 CALLDATACOPY PUSH1 0x0 SWAP2 ADD SWAP1 DUP2 MSTORE SWAP2 SWAP1 POP JUMP JUMPDEST DUP2 DUP4 MSTORE DUP2 DUP2 PUSH1 0x20 DUP6 ADD CALLDATACOPY POP PUSH1 0x0 DUP3 DUP3 ADD PUSH1 0x20 SWAP1 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x1F SWAP1 SWAP2 ADD PUSH1 0x1F NOT AND SWAP1 SWAP2 ADD ADD SWAP1 JUMP JUMPDEST PUSH1 0x60 DUP2 MSTORE PUSH1 0x0 PUSH2 0x3D45 PUSH1 0x60 DUP4 ADD DUP9 DUP11 PUSH2 0x3D08 JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x3D58 DUP2 DUP8 DUP10 PUSH2 0x3D08 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 SUB PUSH1 0x40 DUP5 ADD MSTORE PUSH2 0x3D6D DUP2 DUP6 DUP8 PUSH2 0x3D08 JUMP JUMPDEST SWAP10 SWAP9 POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x3D97 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP DIV SWAP1 JUMP JUMPDEST PUSH1 0x80 DUP2 MSTORE PUSH1 0x0 PUSH2 0x3DB0 PUSH1 0x80 DUP4 ADD DUP10 DUP12 PUSH2 0x3D08 JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x3DC3 DUP2 DUP9 DUP11 PUSH2 0x3D08 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 SUB PUSH1 0x40 DUP5 ADD MSTORE PUSH2 0x3DD8 DUP2 DUP7 DUP9 PUSH2 0x3D08 JUMP JUMPDEST SWAP2 POP POP DUP3 PUSH1 0x60 DUP4 ADD MSTORE SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x3E00 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x3E17 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x3E23 DUP6 DUP3 DUP7 ADD PUSH2 0x328E JUMP JUMPDEST SWAP6 PUSH1 0x20 SWAP5 SWAP1 SWAP5 ADD CALLDATALOAD SWAP5 POP POP POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x3E5A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND DUP2 MSTORE PUSH1 0x40 PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x0 PUSH2 0x2BE1 PUSH1 0x40 DUP4 ADD DUP5 PUSH2 0x346A JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x3E96 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x3E9F DUP4 PUSH2 0x3968 JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x3EBB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x3945 DUP6 DUP3 DUP7 ADD PUSH2 0x3ADC JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH2 0x100 DUP10 DUP12 SUB SLT ISZERO PUSH2 0x3EE4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP9 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x3EFC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x3F08 DUP13 DUP4 DUP14 ADD PUSH2 0x328E JUMP JUMPDEST SWAP10 POP PUSH1 0x20 DUP12 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x3F1E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x3F2A DUP13 DUP4 DUP14 ADD PUSH2 0x328E JUMP JUMPDEST SWAP9 POP PUSH2 0x3F38 PUSH1 0x40 DUP13 ADD PUSH2 0x3C93 JUMP JUMPDEST SWAP8 POP PUSH1 0x60 DUP12 ADD CALLDATALOAD SWAP7 POP PUSH1 0x80 DUP12 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x3F55 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3F62 DUP12 DUP3 DUP13 ADD PUSH2 0x328E JUMP JUMPDEST SWAP9 SWAP12 SWAP8 SWAP11 POP SWAP6 SWAP9 SWAP5 SWAP8 SWAP7 PUSH1 0xA0 DUP7 ADD CALLDATALOAD SWAP7 POP PUSH1 0xC0 DUP7 ADD CALLDATALOAD SWAP6 PUSH1 0xE0 ADD CALLDATALOAD SWAP5 POP SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0xC0 DUP2 MSTORE PUSH1 0x0 PUSH2 0x3F98 PUSH1 0xC0 DUP4 ADD DUP10 PUSH2 0x346A JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x3FAA DUP2 DUP10 PUSH2 0x346A JUMP JUMPDEST SWAP1 POP DUP3 DUP2 SUB PUSH1 0x40 DUP5 ADD MSTORE PUSH2 0x3FBE DUP2 DUP9 PUSH2 0x346A JUMP JUMPDEST PUSH1 0x60 DUP5 ADD SWAP7 SWAP1 SWAP7 MSTORE POP POP PUSH1 0x80 DUP2 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0xA0 SWAP1 SWAP2 ADD MSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0xC0 DUP8 DUP10 SUB SLT ISZERO PUSH2 0x3FF6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP7 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x400E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x401A DUP11 DUP4 DUP12 ADD PUSH2 0x328E JUMP JUMPDEST SWAP8 POP PUSH1 0x20 DUP10 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x4030 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x403D DUP10 DUP3 DUP11 ADD PUSH2 0x328E JUMP JUMPDEST SWAP6 POP POP PUSH1 0x40 DUP8 ADD CALLDATALOAD PUSH1 0xFF DUP2 AND DUP2 EQ PUSH2 0x4054 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP4 POP PUSH1 0x60 DUP8 ADD CALLDATALOAD SWAP3 POP PUSH1 0x80 DUP8 ADD CALLDATALOAD PUSH2 0x406B DUP2 PUSH2 0x34A9 JUMP JUMPDEST DUP1 SWAP3 POP POP PUSH1 0xA0 DUP8 ADD CALLDATALOAD SWAP1 POP SWAP3 SWAP6 POP SWAP3 SWAP6 POP SWAP3 SWAP6 JUMP JUMPDEST PUSH1 0xA0 DUP2 MSTORE PUSH1 0x0 PUSH2 0x4093 PUSH1 0xA0 DUP4 ADD DUP9 PUSH2 0x346A JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x40A5 DUP2 DUP9 PUSH2 0x346A JUMP JUMPDEST PUSH1 0xFF SWAP7 SWAP1 SWAP7 AND PUSH1 0x40 DUP5 ADD MSTORE POP POP PUSH1 0x60 DUP2 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x80 SWAP1 SWAP2 ADD MSTORE SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x40D8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x24FC DUP2 PUSH2 0x34A9 JUMP JUMPDEST PUSH1 0x40 DUP2 MSTORE PUSH1 0x0 PUSH2 0x40F6 PUSH1 0x40 DUP4 ADD DUP6 PUSH2 0x346A JUMP JUMPDEST SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x20 DUP4 ADD MSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0x2BE1 PUSH1 0x20 DUP4 ADD DUP5 DUP7 PUSH2 0x3D08 JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0x4136 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH2 0x4157 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 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x4172 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x418A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP7 ADD SWAP2 POP DUP7 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x419E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x20 PUSH2 0x41AE PUSH2 0x32AD DUP4 PUSH2 0x3998 JUMP JUMPDEST DUP3 DUP2 MSTORE PUSH1 0x5 SWAP3 SWAP1 SWAP3 SHL DUP5 ADD DUP2 ADD SWAP2 DUP2 DUP2 ADD SWAP1 DUP11 DUP5 GT ISZERO PUSH2 0x41CD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP5 DUP3 ADD SWAP5 JUMPDEST DUP4 DUP7 LT ISZERO PUSH2 0x41F4 JUMPI DUP6 CALLDATALOAD PUSH2 0x41E5 DUP2 PUSH2 0x34A9 JUMP JUMPDEST DUP3 MSTORE SWAP5 DUP3 ADD SWAP5 SWAP1 DUP3 ADD SWAP1 PUSH2 0x41D2 JUMP JUMPDEST SWAP8 POP POP DUP8 ADD CALLDATALOAD SWAP5 POP POP PUSH1 0x40 DUP7 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x4211 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x421E DUP7 DUP3 DUP8 ADD PUSH2 0x328E JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 DUP3 NOT DUP3 GT ISZERO PUSH2 0x423B JUMPI PUSH2 0x423B PUSH2 0x3C62 JUMP JUMPDEST POP ADD SWAP1 JUMP JUMPDEST PUSH1 0xA0 DUP2 MSTORE PUSH1 0x0 PUSH2 0x4254 PUSH1 0xA0 DUP4 ADD DUP12 DUP14 PUSH2 0x3D08 JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x4267 DUP2 DUP11 DUP13 PUSH2 0x3D08 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 SUB PUSH1 0x40 DUP5 ADD MSTORE PUSH2 0x427C DUP2 DUP9 DUP11 PUSH2 0x3D08 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 SUB PUSH1 0x60 DUP5 ADD MSTORE PUSH2 0x4291 DUP2 DUP7 DUP9 PUSH2 0x3D08 JUMP JUMPDEST SWAP2 POP POP DUP3 PUSH1 0x80 DUP4 ADD MSTORE SWAP11 SWAP10 POP POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 CALLDATALOAD PUSH1 0x1E NOT DUP5 CALLDATASIZE SUB ADD DUP2 SLT PUSH2 0x42BF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 ADD DUP1 CALLDATALOAD SWAP2 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x42DA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x20 ADD SWAP2 POP CALLDATASIZE DUP2 SWAP1 SUB DUP3 SGT ISZERO PUSH2 0x2FD5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xA0 DUP7 DUP9 SUB SLT ISZERO PUSH2 0x4307 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP6 MLOAD SWAP5 POP PUSH1 0x20 DUP7 ADD MLOAD SWAP4 POP PUSH1 0x40 DUP7 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x432D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4339 DUP10 DUP4 DUP11 ADD PUSH2 0x39BC JUMP JUMPDEST SWAP5 POP PUSH1 0x60 DUP9 ADD MLOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x434F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x435B DUP10 DUP4 DUP11 ADD PUSH2 0x3A47 JUMP JUMPDEST SWAP4 POP PUSH1 0x80 DUP9 ADD MLOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x4371 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x437E DUP9 DUP3 DUP10 ADD PUSH2 0x3AFC JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 POP SWAP3 SWAP6 SWAP1 SWAP4 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0xC0 DUP8 DUP10 SUB SLT ISZERO PUSH2 0x43A4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP7 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x43BC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x43C8 DUP11 DUP4 DUP12 ADD PUSH2 0x328E JUMP JUMPDEST SWAP8 POP PUSH1 0x20 DUP10 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x43DE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x43EB DUP10 DUP3 DUP11 ADD PUSH2 0x328E JUMP JUMPDEST SWAP6 POP POP PUSH1 0x40 DUP8 ADD CALLDATALOAD PUSH2 0x43FC DUP2 PUSH2 0x34A9 JUMP JUMPDEST SWAP6 SWAP9 SWAP5 SWAP8 POP SWAP5 SWAP6 PUSH1 0x60 DUP2 ADD CALLDATALOAD SWAP6 POP PUSH1 0x80 DUP2 ADD CALLDATALOAD SWAP5 PUSH1 0xA0 SWAP1 SWAP2 ADD CALLDATALOAD SWAP4 POP SWAP2 POP POP JUMP JUMPDEST PUSH1 0x80 DUP2 MSTORE PUSH1 0x0 PUSH2 0x4430 PUSH1 0x80 DUP4 ADD DUP8 PUSH2 0x346A JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x4442 DUP2 DUP8 PUSH2 0x346A JUMP JUMPDEST PUSH1 0x40 DUP5 ADD SWAP6 SWAP1 SWAP6 MSTORE POP POP PUSH1 0x60 ADD MSTORE SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x100 DUP11 DUP4 MSTORE DUP10 PUSH1 0x20 DUP5 ADD MSTORE DUP1 PUSH1 0x40 DUP5 ADD MSTORE PUSH2 0x4476 DUP2 DUP5 ADD DUP11 PUSH2 0x346A JUMP JUMPDEST SWAP1 POP DUP3 DUP2 SUB PUSH1 0x60 DUP5 ADD MSTORE PUSH2 0x448A DUP2 DUP10 PUSH2 0x346A JUMP JUMPDEST SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND PUSH1 0x80 DUP5 ADD MSTORE DUP6 PUSH1 0xA0 DUP5 ADD MSTORE DUP3 DUP2 SUB PUSH1 0xC0 DUP5 ADD MSTORE PUSH2 0x44B3 DUP2 DUP7 PUSH2 0x346A JUMP JUMPDEST SWAP2 POP POP DUP3 PUSH1 0xE0 DUP4 ADD MSTORE SWAP10 SWAP9 POP POP POP POP POP POP POP POP POP JUMP JUMPDEST DUP4 DUP2 MSTORE PUSH1 0x0 DUP4 MLOAD PUSH2 0x44E1 DUP2 PUSH1 0x20 DUP6 ADD PUSH1 0x20 DUP9 ADD PUSH2 0x343E JUMP JUMPDEST PUSH1 0x20 SWAP3 ADD SWAP2 DUP3 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x40 ADD SWAP4 SWAP3 POP POP POP JUMP JUMPDEST DUP3 DUP2 MSTORE PUSH1 0x0 DUP3 MLOAD PUSH2 0x450E DUP2 PUSH1 0x20 DUP6 ADD PUSH1 0x20 DUP8 ADD PUSH2 0x343E JUMP JUMPDEST SWAP2 SWAP1 SWAP2 ADD PUSH1 0x20 ADD SWAP4 SWAP3 POP POP POP JUMP JUMPDEST DUP7 DUP2 MSTORE DUP6 PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0xC0 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x0 PUSH2 0x453B PUSH1 0xC0 DUP4 ADD DUP8 PUSH2 0x346A JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x60 DUP5 ADD MSTORE PUSH2 0x454D DUP2 DUP8 PUSH2 0x346A JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP6 SWAP1 SWAP6 AND PUSH1 0x80 DUP5 ADD MSTORE POP POP PUSH1 0xA0 ADD MSTORE SWAP5 SWAP4 POP POP POP POP JUMP INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x1 PUSH1 0x0 SSTORE CALLVALUE DUP1 ISZERO PUSH2 0x15 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x324 DUP1 PUSH2 0x25 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 0x35 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH3 0xF55D9D EQ PUSH2 0x3A JUMPI DUP1 PUSH4 0x1CFF79CD EQ PUSH2 0x4F JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4D PUSH2 0x48 CALLDATASIZE PUSH1 0x4 PUSH2 0x1DA JUMP JUMPDEST PUSH2 0x79 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x62 PUSH2 0x5D CALLDATASIZE PUSH1 0x4 PUSH2 0x1FC JUMP JUMPDEST PUSH2 0xBB JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x70 SWAP3 SWAP2 SWAP1 PUSH2 0x27F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x2 PUSH1 0x0 SLOAD EQ ISZERO PUSH2 0x9D JUMPI PUSH1 0x40 MLOAD PUSH4 0xCAA30F55 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x2 PUSH1 0x0 SSTORE PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 AND SELFDESTRUCT JUMPDEST PUSH1 0x0 PUSH1 0x60 PUSH1 0x2 PUSH1 0x0 SLOAD EQ ISZERO PUSH2 0xE3 JUMPI PUSH1 0x40 MLOAD PUSH4 0xCAA30F55 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x2 PUSH1 0x0 SSTORE PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP6 AND EXTCODESIZE PUSH2 0x136 JUMPI PUSH1 0x40 MLOAD PUSH32 0x6F7C43F100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP5 DUP5 PUSH1 0x40 MLOAD PUSH2 0x15D SWAP3 SWAP2 SWAP1 PUSH2 0x2DE JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP7 GAS CALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x19A JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x19F JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP PUSH1 0x1 PUSH1 0x0 SSTORE SWAP1 SWAP7 SWAP1 SWAP6 POP SWAP4 POP POP POP POP JUMP JUMPDEST DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 AND DUP2 EQ PUSH2 0x1D5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1EC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1F5 DUP3 PUSH2 0x1B1 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x40 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x211 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x21A DUP5 PUSH2 0x1B1 JUMP JUMPDEST SWAP3 POP PUSH1 0x20 DUP5 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x237 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP7 ADD SWAP2 POP DUP7 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x24B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD DUP2 DUP2 GT ISZERO PUSH2 0x25A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP8 PUSH1 0x20 DUP3 DUP6 ADD ADD GT ISZERO PUSH2 0x26C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x20 DUP4 ADD SWAP5 POP DUP1 SWAP4 POP POP POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST DUP3 ISZERO ISZERO DUP2 MSTORE PUSH1 0x0 PUSH1 0x20 PUSH1 0x40 DUP2 DUP5 ADD MSTORE DUP4 MLOAD DUP1 PUSH1 0x40 DUP6 ADD MSTORE PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x2B5 JUMPI DUP6 DUP2 ADD DUP4 ADD MLOAD DUP6 DUP3 ADD PUSH1 0x60 ADD MSTORE DUP3 ADD PUSH2 0x299 JUMP JUMPDEST DUP2 DUP2 GT ISZERO PUSH2 0x2C7 JUMPI PUSH1 0x0 PUSH1 0x60 DUP4 DUP8 ADD ADD MSTORE JUMPDEST POP PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x60 ADD SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST DUP2 DUP4 DUP3 CALLDATACOPY PUSH1 0x0 SWAP2 ADD SWAP1 DUP2 MSTORE SWAP2 SWAP1 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xDF 0xB7 MUL 0x49 0x2C CALLDATALOAD 0xC6 0xA8 DUP5 0xAC GT SWAP10 PUSH28 0x483E3FEE4FF8145C7ABB0799D2A2FC8674C39364736F6C6343000809 STOP CALLER LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 DUP13 0xCF PUSH30 0x53804E5299AE34CB40B83392C107813B7A4EBCE02CC0A10D4ED07FDAFE64 PUSH20 0x6F6C634300080900330000000000000000000000 ", - "sourceMap": "548:24635:2:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10192:2894;;;;;;:::i;:::-;;:::i;:::-;;14802:236;;;;;;:::i;:::-;;:::i;7518:297::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5434:600;;;;;;:::i;:::-;;:::i;:::-;;;3517:14:34;;3510:22;3492:41;;3480:2;3465:18;5434:600:2;3352:187:34;3419:284:2;;;;;;:::i;:::-;;:::i;801:107:9:-;;;;;;:::i;:::-;855:7;881:20;;;:15;:20;;;;;;-1:-1:-1;;;;;881:20:9;;801:107;;;;-1:-1:-1;;;;;4904:55:34;;;4886:74;;4874:2;4859:18;801:107:9;4740:226:34;6258:185:2;;;;;;:::i;:::-;;:::i;:::-;;;6574:25:34;;;6562:2;6547:18;6258:185:2;6428:177:34;3088:325:2;;;;;;:::i;:::-;;:::i;7140:100::-;;;:::i;15044:1078::-;;;;;;:::i;:::-;;:::i;16787:906::-;;;;;;:::i;:::-;;:::i;6549:119::-;1108:66;6605:7;881:20:9;:15;:20;;;;-1:-1:-1;;;;;881:20:9;6549:119:2;7140:100;6095:157;;;;;;:::i;:::-;;:::i;5026:402::-;;;;;;:::i;:::-;;:::i;1028:98:9:-;;;;;;:::i;:::-;1079:4;1102:17;;;:12;:17;;;;;;;;;1028:98;6828:103:2;;;;;;:::i;:::-;-1:-1:-1;6896:4:2;;6828:103;13168:1628;;;;;;:::i;:::-;;:::i;7313:129::-;;;;;;:::i;:::-;;:::i;6674:148::-;;;;;;:::i;:::-;;:::i;17699:227::-;;;;;;:::i;:::-;;:::i;684:111:9:-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;9338:848:2:-;;;;;;:::i;:::-;;:::i;8409:835::-;;;;;;:::i;:::-;;:::i;6449:94::-;6508:4;6449:94;;3709:426;;;;;;:::i;:::-;;:::i;4519:501::-;;;;;;:::i;:::-;;:::i;577:101:9:-;;;;;;:::i;:::-;628:7;654:17;;;;;;;;;;;;577:101;914:108;;;;;;:::i;:::-;;:::i;6937:150:2:-;;;;;;:::i;:::-;;:::i;1132:98:9:-;;;;;;:::i;:::-;1182:6;1207:16;;;:11;:16;;;;;;;1132:98;7900:503:2;;;;;;:::i;:::-;;:::i;4141:372::-;;;;;;:::i;:::-;;:::i;18014:395::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;:::i;16128:653::-;;;;;;:::i;:::-;;:::i;10192:2894::-;10260:17;;10301:33;;;;10312:5;10301:33;:::i;:::-;10259:75;;;;10345:19;10367:45;10406:4;10396:15;;;;;;10367:28;:45::i;:::-;10345:67;;10467:21;10503:11;-1:-1:-1;;;;;10491:38:2;;10530:11;10543:5;10491:58;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10467:82;;10560:15;10585:27;10622:24;10656:21;10706:4;-1:-1:-1;;;;;10692:41:2;;10734:4;10692:47;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;10692:47:2;;;;;;;;;;;;:::i;:::-;;;10688:459;;11090:4;11079:57;;;;;;;;;;;;:::i;:::-;11037:99;;-1:-1:-1;11037:99:2;;-1:-1:-1;11037:99:2;-1:-1:-1;11037:99:2;-1:-1:-1;10688:459:2;;;10963:8;;-1:-1:-1;10973:11:2;;-1:-1:-1;10986:9:2;-1:-1:-1;10997:7:2;-1:-1:-1;10688:459:2;11172:13;11161:7;:24;11157:53;;11194:16;;;;;;;;;;;;;;11157:53;11246:17;;11296:15;;11278:33;;;;:68;;;11333:6;:13;11315:14;:31;;11278:68;11274:98;;;11355:17;;;;;;;;;;;;;;11274:98;11388:9;11383:1697;11403:14;11399:1;:18;11383:1697;;;11438:17;11458:10;11469:1;11458:13;;;;;;;;:::i;:::-;;;;;;;11438:33;;11490:28;11508:9;11490:17;:28::i;:::-;11486:42;;;11520:8;;;11486:42;11588:22;11624:19;11673:8;11682:1;11673:11;;;;;;;;:::i;:::-;;;;;;;11656:29;;;;;;;;:::i;:::-;;;;;;;;;;;;;11646:40;;;;;;11624:62;;2040:24;11705:11;:36;11701:992;;;11779:34;;-1:-1:-1;11701:992:2;;;2118:22;11838:11;:34;11834:859;;;11910:32;;-1:-1:-1;11834:859:2;;;2205:32;11967:11;:45;11963:730;;;12050:42;;-1:-1:-1;11963:730:2;;;2312:40;12117:11;:55;12113:580;;;12210:50;;-1:-1:-1;12113:580:2;;;1962:22;12285:11;:34;12281:412;;;12357:32;;-1:-1:-1;12281:412:2;;;2417:33;12414:11;:45;12410:283;;;12484:16;12479:31;;12502:8;;;;;12479:31;12547:43;;-1:-1:-1;12410:283:2;;;12629:8;;;;;12410:283;12811:36;12831:9;12842:4;12811:19;:36::i;:::-;12862:12;12888:4;-1:-1:-1;;;;;12880:18:2;12922:15;12939:6;12946:1;12939:9;;;;;;;;:::i;:::-;;;;;;;12950;12899:61;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;12899:61:2;;;;;;;;;;;;;;-1:-1:-1;;;;;12899:61:2;-1:-1:-1;;;;;;12899:61:2;;;;;;;;;;12880:81;;;;12899:61;12880:81;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12861:100;;;12980:7;12976:93;;;12994:19;;13003:9;;12994:19;;;;;12976:93;;;13032:37;13052:9;13063:5;13032:19;:37::i;:::-;11424:1656;;;;11383:1697;11419:3;;;:::i;:::-;;;11383:1697;;;;10249:2837;;;;;;;;;10192:2894;;:::o;14802:236::-;2942:10;2964:4;2942:27;2938:49;;2978:9;;-1:-1:-1;;;2978:9:2;;;;;;;;;;;2938:49;14882:20:::1;::::0;;14939:46:::1;::::0;;::::1;14950:6:::0;14939:46:::1;:::i;:::-;14881:104;;;;;;14996:35;15007:6;15015:7;15024:6;14996:10;:35::i;:::-;14871:167;;;14802:236:::0;;;:::o;7518:297::-;7581:24;7617:18;7638:21;7653:5;7638:14;:21::i;:::-;7617:42;;7693:10;7679:25;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7679:25:2;;7669:35;;7720:9;7715:94;7735:10;7731:1;:14;7715:94;;;7779:19;7789:5;7796:1;7779:9;:19::i;:::-;7766:7;7774:1;7766:10;;;;;;;;:::i;:::-;-1:-1:-1;;;;;7766:32:2;;;:10;;;;;;;;;;;:32;7747:3;;;:::i;:::-;;;7715:94;;;;7607:208;7518:297;;;:::o;5434:600::-;5692:10;5714:11;5728:117;5766:9;5777:11;;5728:117;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5728:117:2;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5790:13:2;;-1:-1:-1;5790:13:2;;;;5728:117;;5790:13;;;;5728:117;;;;;;;;;-1:-1:-1;;5728:117:2;;;;;;;;;;;;;;;;;;;;;;5805:10;;-1:-1:-1;5817:11:2;;-1:-1:-1;5728:117:2;5830:6;;;;;;5728:117;;5830:6;;;;5728:117;;;;;;;;;-1:-1:-1;5838:6:2;;-1:-1:-1;5728:37:2;;-1:-1:-1;;5728:117:2:i;:::-;1079:4:9;1102:17;;;:12;:17;;;;;;;;;-1:-1:-1;1102:17:9;-1:-1:-1;5885:143:2;;;;5959:5;1763:17:9;;;:12;:17;;;;;:25;;-1:-1:-1;;1763:25:9;;;5979:38:2;5990:6;;5979:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5998:10:2;;-1:-1:-1;6010:6:2;;-1:-1:-1;5979:10:2;;-1:-1:-1;5979:38:2:i;:::-;5704:330;5434:600;;;;;;;;;;;:::o;3419:284::-;3678:7;;3668:18;;;;;;;:::i;:::-;;;;;;;;3610:10;-1:-1:-1;;;;;3597:99:2;;3622:16;;3640:26;;3688:7;;3597:99;;;;;;;;;;;:::i;:::-;;;;;;;;3419:284;;;;;;:::o;6258:185::-;6340:7;6366:70;6374:61;6402:6;6410:24;6428:6;6410:15;:24;:::i;:::-;6374:27;:61::i;6366:70::-;6359:77;6258:185;-1:-1:-1;;6258:185:2:o;3088:325::-;3274:42;3289:10;3301:6;;3274:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3309:6:2;;-1:-1:-1;3274:14:2;;-1:-1:-1;;3274:42:2:i;:::-;3341:10;-1:-1:-1;;;;;3331:75:2;;3353:16;;3371:18;;3391:6;;3399;3331:75;;;;;;;;;;;;:::i;:::-;;;;;;;;3088:325;;;;;;;:::o;7140:100::-;7194:7;7220:13;430:24:0;3432:7;654:17:9;;;;;;;;7140:100:2;7220:13;7213:20;;7140:100;:::o;15044:1078::-;2942:10;2964:4;2942:27;2938:49;;2978:9;;-1:-1:-1;;;2978:9:2;;;;;;;;;;;2938:49;15124:20:::1;::::0;15162:37:::1;::::0;;::::1;15173:6:::0;15162:37:::1;:::i;:::-;15123:76;;;;15210:20;15233:22;15248:6;15233:14;:22::i;:::-;15210:45:::0;-1:-1:-1;;;;;;15270:26:2;::::1;15266:64;;15323:6;15305:25;;-1:-1:-1::0;;;15305:25:2::1;;;;;;;;:::i;:::-;;;;;;;;15266:64;15370:18;15345:21;15359:6;15345:13;:21::i;:::-;:43;;;;;;;;:::i;:::-;;15341:775;;;15404:29;15462:4;15436:34;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;15661:55:2::1;::::0;;;;-1:-1:-1;;;;;15527:22:2;;::::1;15661:55;::::0;::::1;4886:74:34::0;;;15404:66:2;;-1:-1:-1;15486:12:2::1;::::0;;;15527:22;;::::1;::::0;15567:12;;-1:-1:-1;;;15620:24:2;15654:4:::1;::::0;15661:30;::::1;::::0;::::1;::::0;4859:18:34;;15661:55:2::1;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15597:120;::::0;-1:-1:-1;;;;;28642:55:34;;;15597:120:2::1;::::0;::::1;28624:74:34::0;28714:18;;;28707:34;28597:18;;15597:120:2::1;::::0;;-1:-1:-1;;15597:120:2;;::::1;::::0;;;;;;::::1;::::0;::::1;::::0;;-1:-1:-1;;;;;15597:120:2::1;-1:-1:-1::0;;;;;;15597:120:2;;::::1;;::::0;;15527:204;::::1;::::0;;;;;;;;::::1;::::0;;::::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;::::0;;::::1;-1:-1:-1::0;;15527:204:2::1;::::0;::::1;;::::0;::::1;::::0;;;::::1;::::0;::::1;:::i;:::-;15485:246;;;;15751:7;15750:8;:80;;;-1:-1:-1::0;15763:17:2;;:31;;::::1;::::0;:66:::1;;;15810:10;15799:30;;;;;;;;;;;;:::i;:::-;15798:31;15763:66;15746:111;;;15850:6;15839:18;;-1:-1:-1::0;;;15839:18:2::1;;;;;;;;:::i;15746:111::-;15984:37;::::0;;;;16015:4:::1;15984:37;::::0;::::1;4886:74:34::0;-1:-1:-1;;;;;15984:22:2;::::1;::::0;::::1;::::0;4859:18:34;;15984:37:2::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;15390:642;;;15341:775;;;16052:53;::::0;-1:-1:-1;;;16052:53:2;;::::1;::::0;::::1;6574:25:34::0;;;-1:-1:-1;;;;;16052:47:2;::::1;::::0;::::1;::::0;6547:18:34;;16052:53:2::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;15113:1009;;;15044:1078:::0;;;:::o;16787:906::-;2942:10;2964:4;2942:27;2938:49;;2978:9;;-1:-1:-1;;;2978:9:2;;;;;;;;;;;2938:49;16908:25:::1;::::0;;;;;;;17191:89:::1;::::0;;::::1;17202:6:::0;17191:89:::1;:::i;:::-;16894:386;;;;;;;;;;;;;;;;17291:117;17324:9;17335:11;17348:13;17363:15;17380:11;17393:6;17401;17291:32;:117::i;:::-;17569:11;17540:15;-1:-1:-1::0;;;;;17423:263:2::1;17465:9;17423:263;17488:11;17513:13;17594:6;17614;17634:12;17660:16;17423:263;;;;;;;;;;;:::i;:::-;;;;;;;;16884:809;;;;;;;;16787:906:::0;;;:::o;6095:157::-;6176:7;6202:43;6210:34;6237:6;6210:26;:34::i;5026:402::-;5221:10;5243:11;5257:93;5287:9;5298:11;;5257:93;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5257:93:2;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5311:13:2;;-1:-1:-1;5311:13:2;;;;5257:93;;5311:13;;;;5257:93;;;;;;;;;-1:-1:-1;5326:10:2;;-1:-1:-1;5338:11:2;;-1:-1:-1;5257:29:2;;-1:-1:-1;5257:93:2:i;:::-;1079:4:9;1102:17;;;:12;:17;;;;;;;;;-1:-1:-1;1102:17:9;-1:-1:-1;5390:31:2;;;;5415:5;1763:17:9;;;:12;:17;;;;;:25;;-1:-1:-1;;1763:25:9;;;5401:20:2;5233:195;5026:402;;;;;;;;:::o;13168:1628::-;2942:10;2964:4;2942:27;2938:49;;2978:9;;-1:-1:-1;;;2978:9:2;;;;;;;;;;;2938:49;13250:18:::1;::::0;;;;;13369:104:::1;::::0;;::::1;13393:6:::0;13369:104:::1;:::i;:::-;13249:224;;;;;;;;;;;;13577:1;-1:-1:-1::0;;;;;13543:36:2::1;:22;13558:6;13543:14;:22::i;:::-;-1:-1:-1::0;;;;;13543:36:2::1;;13539:75;;13607:6;13588:26;;;;;;;;;;;:::i;13539:75::-;-1:-1:-1::0;;;;;13629:26:2;::::1;13625:1008;;13758:12;13800:6;13783:24;;;;;;;;:::i;:::-;;;;;;;;;;;;;13773:35;;;;;;13758:50;;13824:12;13838:17:::0;13859:29:::1;-1:-1:-1::0;;;;;13859:42:2::1;13942:35;;;13979:4;13985:6;13993:8;14003:3;14008:4;13919:94;;;;;;;;;;;;:::i;:::-;;::::0;;-1:-1:-1;;13919:94:2;;::::1;::::0;;;;;;::::1;::::0;::::1;::::0;;-1:-1:-1;;;;;13919:94:2::1;-1:-1:-1::0;;;;;;13919:94:2;;::::1;::::0;;;::::1;::::0;;;13859:168;;::::1;::::0;13919:94;13859:168:::1;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13823:204;;;;14047:7;14042:46;;14081:6;14063:25;;;;;;;;;;;:::i;14042:46::-;14129:4;14118:27;;;;;;;;;;;;:::i;:::-;14103:42;;14160:53;14174:6;14182:30;14160:13;:53::i;:::-;13657:567;;;13625:1008;;;-1:-1:-1::0;;;;;14351:24:2;::::1;;14347:90;;14398:39;::::0;::::1;::::0;;-1:-1:-1;;;;;4904:55:34;;14398:39:2::1;::::0;::::1;4886:74:34::0;4859:18;;14398:39:2::1;4740:226:34::0;14347:90:2::1;14581:41;14595:6;14603:18;14581:13;:41::i;:::-;14643:38;14660:6;14668:12;14643:16;:38::i;:::-;14691:47;14715:6;14723:14;14691:23;:47::i;:::-;14754:35;14768:6;14776:12;14754:35;;;;;;;:::i;:::-;;;;;;;;13239:1557;;;;;;13168:1628:::0;;;:::o;7313:129::-;7384:7;7410:25;7429:5;7410:18;:25::i;6674:148::-;6750:7;6776:39;6787:27;6807:6;6787:19;:27::i;17699:227::-;2942:10;2964:4;2942:27;2938:49;;2978:9;;-1:-1:-1;;;2978:9:2;;;;;;;;;;;2938:49;17799:63:::1;::::0;-1:-1:-1;;;17799:63:2;;-1:-1:-1;;;;;17811:11:2::1;17799:45;::::0;::::1;::::0;:63:::1;::::0;17845:16;;;;17799:63:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;17878:41;17902:16;;17878:41;;;;;;;:::i;:::-;;;;;;;;17699:227:::0;;;:::o;684:111:9:-;769:19;;;;:14;:19;;;;;762:26;;737:13;;769:19;762:26;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;684:111;;;:::o;9338:848:2:-;9516:1;9488:16;1108:66;6605:7;881:20:9;:15;:20;;;;-1:-1:-1;;;;;881:20:9;;7140:100:2;9488:16;-1:-1:-1;;;;;9488:30:2;;9484:53;;;9527:10;;;;;;;;;;;;;;9484:53;9549:31;;;9642:81;;;;9666:6;9642:81;:::i;:::-;9548:175;;;;;;9828:21;9876:1;9852:13;430:24:0;3432:7;654:17:9;;;;;;;;7140:100:2;9852:13;:26;;;;:::i;:::-;9828:50;;9888:29;9903:13;430:24:0;1331:12:9;:17;;;;;;:25;4547:107:0;9888:29:2;9927:60;9938:13;9953:14;9969:17;9927:10;:60::i;:::-;10002:23;;:27;9998:182;;10045:63;;-1:-1:-1;;;10045:63:2;;-1:-1:-1;;;;;10057:11:2;10045:45;;;;:63;;10091:16;;10045:63;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10128:41;10152:16;10128:41;;;;;;:::i;:::-;;;;;;;;9394:792;;;;9338:848;;:::o;8409:835::-;1069:18:0;1090:13;430:24;3432:7;654:17:9;;;;;;;;7140:100:2;1090:13:0;1069:34;;1119:32;1128:10;1140;1119:8;:32::i;:::-;1114:56;;1160:10;;-1:-1:-1;;;1160:10:0;;;;;;;;;;;1114:56;1181:13;1207:8;;1197:19;;;;;;;:::i;:::-;;;;;;;;1181:35;;1308:40;1318:10;1330:5;1337:10;1308:9;:40::i;:::-;1304:67;;;1357:14;;-1:-1:-1;;;1357:14:0;;;;;;;;;;;1304:67;1382:49;1395:10;1407:5;1414:10;1426:4;1382:12;:49::i;:::-;1497:22;1565:1;1522:32;1536:10;1548:5;1522:13;:32::i;:::-;:45;;;;:::i;:::-;1497:70;;1577:48;1591:10;1603:5;1610:14;1577:13;:48::i;:::-;1731:30;1750:10;1731:18;:30::i;:::-;1714:14;:47;1710:60;;;1763:7;;;;;1710:60;8617:17:2::1;-1:-1:-1::0;;;;;8617:26:2::1;;8588:25;:55;8584:85;;8652:17;;;;;;;;;;;;;;8584:85;8685:27;::::0;-1:-1:-1;;;;;8685:27:2;::::1;::::0;::::1;::::0;;;::::1;8974:23:::0;;8970:220:::1;;9014:12;9032:17;-1:-1:-1::0;;;;;9032:30:2::1;9086:29;;;9117:11;;9063:66;;;;;;;;;:::i;:::-;;::::0;;-1:-1:-1;;9063:66:2;;::::1;::::0;;;;;;::::1;::::0;::::1;::::0;;-1:-1:-1;;;;;9063:66:2::1;-1:-1:-1::0;;;;;;9063:66:2;;::::1;::::0;;;::::1;::::0;;;9032:98;;::::1;::::0;9063:66;9032:98:::1;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9013:117;;;9150:7;9145:34;;9166:13;;;;;;;;;;;;;;9145:34;8999:191;8970:220;9200:37;9219:17;1108:66:::0;1550:20:9;;:15;:20;;;:28;;-1:-1:-1;;1550:28:9;-1:-1:-1;;;;;1550:28:9;;;;;4547:107:0;;9200:37:2::1;1840:44:0::0;1854:10;1866:5;1881:1;1840:13;:44::i;:::-;1895:18;1916:26;1931:10;1916:14;:26::i;:::-;1895:47;;1958:9;1953:126;1973:10;1969:1;:14;1953:126;;;2004:64;2017:10;2029:5;2036:24;2046:10;2058:1;2036:9;:24::i;:::-;2062:5;2004:12;:64::i;:::-;1985:3;;;:::i;:::-;;;1953:126;;;;1059:1026;;;;8409:835:2;;;;;:::o;3709:426::-;3947:42;3962:10;3974:6;;3947:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3982:6:2;;-1:-1:-1;3947:14:2;;-1:-1:-1;;3947:42:2:i;:::-;4094:7;;4084:18;;;;;;;:::i;:::-;;;;;;;;4026:10;-1:-1:-1;;;;;4004:124:2;;4038:16;;4056:26;;4104:7;;4113:6;;4121;4004:124;;;;;;;;;;;;;;:::i;:::-;;;;;;;;3709:426;;;;;;;;;:::o;4519:501::-;4817:4;4852:161;4877:122;4915:9;4926:11;;4877:122;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4939:13;;4877:122;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4877:122:2;;;;;;;;;;;;;;;;;;;;;;4954:15;;-1:-1:-1;4971:11:2;;-1:-1:-1;4877:122:2;4984:6;;;;;;4877:122;;4984:6;;;;4877:122;;;;;;;;;-1:-1:-1;4992:6:2;;-1:-1:-1;4877:37:2;;-1:-1:-1;;4877:122:2:i;4852:161::-;4833:180;4519:501;-1:-1:-1;;;;;;;;;;;4519:501:2:o;914:108:9:-;997:18;;;;:13;:18;;;;;990:25;;966:12;;997:18;990:25;;;:::i;6937:150:2:-;7013:4;7036:44;7044:35;7069:9;7044:24;:35::i;7900:503::-;1069:18:0;1090:13;430:24;3432:7;654:17:9;;;;;;;;7140:100:2;1090:13:0;1069:34;;1119:32;1128:10;1140;1119:8;:32::i;:::-;1114:56;;1160:10;;-1:-1:-1;;;1160:10:0;;;;;;;;;;;1114:56;1181:13;1207:8;;1197:19;;;;;;;:::i;:::-;;;;;;;;1181:35;;1308:40;1318:10;1330:5;1337:10;1308:9;:40::i;:::-;1304:67;;;1357:14;;-1:-1:-1;;;1357:14:0;;;;;;;;;;;1304:67;1382:49;1395:10;1407:5;1414:10;1426:4;1382:12;:49::i;:::-;1497:22;1565:1;1522:32;1536:10;1548:5;1522:13;:32::i;:::-;:45;;;;:::i;:::-;1497:70;;1577:48;1591:10;1603:5;1610:14;1577:13;:48::i;:::-;1731:30;1750:10;1731:18;:30::i;:::-;1714:14;:47;1710:60;;;1763:7;;;;;1710:60;8029:31:2;;::::1;8025:77;;8069:33;;;;;;;;;;;;;;8025:77;8118:9;8113:284;8133:18:::0;;::::1;8113:284;;;8172:20;8195:7;;8203:1;8195:10;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;8172:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;-1:-1:-1;8172:33:2;;-1:-1:-1;8235:6:2;;-1:-1:-1;8235:6:2;;-1:-1:-1;8242:1:2;;-1:-1:-1;8235:9:2;;::::1;;;;;:::i;:::-;;;;;;;8219:25;;8297:1;-1:-1:-1::0;;;;;8263:36:2::1;:22;8278:6;8263:14;:22::i;:::-;-1:-1:-1::0;;;;;8263:36:2::1;;8259:74;;;8326:6;8308:25;;-1:-1:-1::0;;;8308:25:2::1;;;;;;;;:::i;8259:74::-;8348:38;8372:6;8380:5;8348:23;:38::i;:::-;8158:239;;8153:3;;;;;:::i;:::-;;;;8113:284;;;;1840:44:0::0;1854:10;1866:5;1881:1;1840:13;:44::i;:::-;1895:18;1916:26;1931:10;1916:14;:26::i;:::-;1895:47;;1958:9;1953:126;1973:10;1969:1;:14;1953:126;;;2004:64;2017:10;2029:5;2036:24;2046:10;2058:1;2036:9;:24::i;2004:64::-;1985:3;;;:::i;:::-;;;1953:126;;4141:372:2;4376:4;4399:107;4407:98;4437:9;4448:11;;4407:98;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4407:98:2;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4461:13:2;;-1:-1:-1;4461:13:2;;;;4407:98;;4461:13;;;;4407:98;;;;;;;;;-1:-1:-1;4476:15:2;;-1:-1:-1;4493:11:2;;-1:-1:-1;4407:29:2;;-1:-1:-1;4407:98:2:i;4399:107::-;4392:114;4141:372;-1:-1:-1;;;;;;;;4141:372:2:o;18014:395::-;18131:15;18160:27;18201:24;18239:21;18340:11;18329:73;;;;;;;;;;;;:::i;:::-;18285:117;;;;-1:-1:-1;18285:117:2;-1:-1:-1;18285:117:2;;-1:-1:-1;18014:395:2;;-1:-1:-1;;;18014:395:2:o;16128:653::-;2942:10;2964:4;2942:27;2938:49;;2978:9;;-1:-1:-1;;;2978:9:2;;;;;;;;;;;2938:49;16241:25:::1;::::0;;;;;16462:72:::1;::::0;;::::1;16473:6:::0;16462:72:::1;:::i;:::-;16227:307;;;;;;;;;;;;16545:93;16570:9;16581:11;16594:13;16609:15;16626:11;16545:24;:93::i;:::-;16730:11;16713:15;-1:-1:-1::0;;;;;16653:121:2::1;16674:9;16653:121;16685:11;16698:13;16743:12;16757:16;16653:121;;;;;;;;;:::i;:::-;;;;;;;;16217:564;;;;;;16128:653:::0;;;:::o;3325:265:6:-;3524:58;;39960:66:34;3524:58:6;;;39948:79:34;40043:12;;;40036:28;;;3394:7:6;;40080:12:34;;3524:58:6;;;;;;;;;;;;;3514:69;;;;;;3507:76;;3325:265;;;:::o;24086:144:2:-;24168:55;24177:35;24202:9;24177:24;:35::i;:::-;1763:17:9;;;;:12;:17;;;;;:25;;-1:-1:-1;;1763:25:9;;;;;;;1701:94;24168:55:2;24086:144;;:::o;18696:677::-;18820:20;18843:22;18858:6;18843:14;:22::i;:::-;18820:45;-1:-1:-1;;;;;;18880:26:2;;18876:64;;18933:6;18915:25;;-1:-1:-1;;;18915:25:2;;;;;;;;:::i;18876:64::-;18951:71;18976:6;19015;18984:28;19005:6;18984:20;:28::i;:::-;:37;;;;:::i;:::-;18951:24;:71::i;:::-;19062:18;19037:21;19051:6;19037:13;:21::i;:::-;:43;;;;;;;;:::i;:::-;;19033:334;;;19141:65;;-1:-1:-1;;;;;28642:55:34;;19141:65:2;;;28624:74:34;28714:18;;;28707:34;;;19096:12:2;;19111:96;;19127:12;;-1:-1:-1;;;19164:24:2;28597:18:34;;19141:65:2;;;;-1:-1:-1;;19141:65:2;;;;;;;;;;;;;;-1:-1:-1;;;;;19141:65:2;-1:-1:-1;;;;;;19141:65:2;;;;;;;;;;19111:15;:96::i;:::-;19096:111;;19227:7;19222:39;;19254:6;19243:18;;;;;;;;;;;:::i;19222:39::-;19082:190;19033:334;;;19292:64;;;;;-1:-1:-1;;;;;28642:55:34;;;19292:64:2;;;28624:74:34;28714:18;;;28707:34;;;19292:47:2;;;;;28597:18:34;;19292:64:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18810:563;18696:677;;;:::o;3654:138:0:-;3721:7;3747:38;3755:29;3773:10;3755:17;:29::i;3495:153::-;3572:7;3598:43;3609:31;3622:10;3634:5;3609:12;:31::i;3598:43::-;3591:50;3495:153;-1:-1:-1;;;3495:153:0:o;22239:691:2:-;22530:7;1662:45;22688:9;22719:11;22752:13;22787:15;22824:11;22857:6;22885;22595:314;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;22568:355;;;;;;22549:374;;22239:691;;;;;;;;;:::o;21132:200::-;21227:7;1871:36;21312:6;21320:3;21263:61;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;21253:72;;;;;;21246:79;;21132:200;;;;:::o;19379:1479::-;19506:20;19529:22;19544:6;19529:14;:22::i;:::-;19506:45;-1:-1:-1;;;;;;19566:26:2;;19562:64;;19619:6;19601:25;;-1:-1:-1;;;19601:25:2;;;;;;;;:::i;19562:64::-;19640:11;19636:39;;19660:15;;;;;;;;;;;;;;19636:39;19686:19;19708:21;19722:6;19708:13;:21::i;:::-;19686:43;-1:-1:-1;19739:16:2;19783:18;19770:9;:31;;;;;;;;:::i;:::-;;19766:315;;;19894:83;;-1:-1:-1;;;;;41803:15:34;;19894:83:2;;;41785:34:34;19963:4:2;41835:18:34;;;41828:43;41887:18;;;41880:34;;;19831:160:2;;19864:12;;-1:-1:-1;;;19917:28:2;41697:18:34;;19894:83:2;41522:398:34;19831:160:2;19817:174;;20011:11;20006:43;;20042:6;20031:18;;-1:-1:-1;;;20031:18:2;;;;;;;;:::i;19766:315::-;20108:30;20095:9;:43;;;;;;;;:::i;:::-;;20091:330;;;20231:86;;-1:-1:-1;;;;;28642:55:34;;20231:86:2;;;28624:74:34;28714:18;;;28707:34;;;20168:163:2;;20201:12;;20254:46;;28597:18:34;;20231:86:2;28450:297:34;20091:330:2;20610:69;;;;;20676:1;20610:69;;;6574:25:34;20445:282:2;;20474:12;;-1:-1:-1;;;20540:28:2;20586:6;;-1:-1:-1;;;;;20610:57:2;;;;;6547:18:34;;20610:69:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20500:217;;-1:-1:-1;;;;;41803:15:34;;;20500:217:2;;;41785:34:34;41855:15;;41835:18;;;41828:43;41887:18;;;41880:34;;;41697:18;;20500:217:2;41522:398:34;20445:282:2;20431:296;;20743:11;20738:43;;20774:6;20763:18;;-1:-1:-1;;;20763:18:2;;;;;;;;:::i;20738:43::-;20792:59;;-1:-1:-1;;;20792:59:2;;20848:1;20792:59;;;6574:25:34;-1:-1:-1;;;;;20792:47:2;;;;;6547:18:34;;20792:59:2;6428:177:34;23018:147:2;23086:9;23124:33;23132:24;23149:6;23132:16;:24::i;23124:33::-;23114:44;;;;;;;;:::i;24583:461::-;24865:172;24887:122;24925:9;24936:11;24949:13;24964:15;24981:11;24994:6;25002;24887:37;:122::i;:::-;1763:17:9;;;;:12;:17;;;;;:25;;-1:-1:-1;;1763:25:9;25023:4:2;1763:25:9;;;1701:94;24865:172:2;24583:461;;;;;;;:::o;20946:180::-;21027:7;1771:35;21111:6;21063:55;;;;;;;;;:::i;21850:383::-;22079:7;1553:35;22157:9;22168:11;22181:13;22196:15;22213:11;22115:110;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;22105:121;;;;;;22098:128;;21850:383;;;;;;;:::o;23778:146::-;23863:54;23872:24;23889:6;23872:16;:24::i;:::-;23906:9;23898:18;;;;;;;;:::i;:::-;1331:12:9;:17;;;;;;;;;;;:25;1266:97;23930:150:2;24019:54;24031:27;24051:6;24031:19;:27::i;:::-;1550:20:9;;;;:15;:20;;;;;:28;;-1:-1:-1;;1550:28:9;-1:-1:-1;;;;;1550:28:9;;;;;1482:103;23253:204:2;23342:51;23351:34;23378:6;23351:26;:34::i;:::-;23387:5;1331:12:9;:17;;;;;;;;;;;:25;1266:97;23342:51:2;23409:41;23436:6;23444:5;23409:41;;;;;;;:::i;:::-;;;;;;;;23253:204;;:::o;3798:146:0:-;3869:7;3895:42;3903:33;3925:10;3903:21;:33::i;21502:164:2:-;21576:7;1388:26;21651:6;21612:46;;;;;;;;;:::i;4610:37:0:-;4547:107;:::o;4993:960::-;5150:15;;5180:23;;;5176:51;;;5212:15;;-1:-1:-1;;;5212:15:0;;;;;;;;;;;5176:51;5242:23;5238:59;;5274:23;;;;;;;;;;;;;;5238:59;5308:41;5327:10;5339:9;5308:18;:41::i;:::-;5359:39;5374:10;5386:11;5359:14;:39::i;:::-;5414:9;5409:538;5429:11;5425:1;:15;5409:538;;;5461:15;5479:8;5488:1;5479:11;;;;;;;;:::i;:::-;;;;;;;5461:29;;5594;5603:10;5615:7;5594:8;:29::i;:::-;5590:65;;;5632:23;;;;;-1:-1:-1;;;;;4904:55:34;;5632:23:0;;;4886:74:34;4859:18;;5632:23:0;4740:226:34;5590:65:0;-1:-1:-1;;;;;5674:21:0;;5670:49;;5704:15;;-1:-1:-1;;;5704:15:0;;;;;;;;;;;5670:49;5851:33;5861:10;5873:1;5876:7;5851:9;:33::i;:::-;5898:38;5910:10;5922:7;5931:4;5898:11;:38::i;:::-;-1:-1:-1;5442:3:0;;;:::i;:::-;;;5409:538;;;;5118:835;4993:960;;;:::o;4334:152::-;4412:4;4435:44;4443:35;4458:10;4470:7;4443:14;:35::i;4120:208::-;3065:64;;;824:24;3065:64;;;;44953:19:34;;;;44988:12;;;44981:28;;;45025:12;;;;45018:28;;;45080:15;;;-1:-1:-1;;45076:53:34;45062:12;;;45055:75;3065:64:0;;;;;;;;;45146:13:34;;;;3065:64:0;;;3055:75;;;;;-1:-1:-1;;4267:54:0;;4275:45;2897:240;4267:54;4260:61;4120:208;-1:-1:-1;;;;4120:208:0:o;6323:212::-;3065:64;;;824:24;3065:64;;;;44953:19:34;;;;44988:12;;;44981:28;;;45025:12;;;;45018:28;;;45080:15;;;-1:-1:-1;;45076:53:34;45062:12;;;45055:75;3065:64:0;;;;;;;;;45146:13:34;;;;3065:64:0;;;3055:75;;;;;6466:62;;6475:45;2897:240;3950:164;4031:7;4057:50;4065:41;4088:10;4100:5;4065:22;:41::i;6122:195::-;6248:62;6257:41;6280:10;6292:5;6257:22;:41::i;6248:62::-;6122:195;;;:::o;21672:172:2:-;21784:52;;;1304:29;21784:52;;;43712:19:34;43747:12;;;43740:28;;;21748:7:2;;43784:12:34;;21784:52:2;43555:247:34;24236:341:2;24456:114;24465:98;24495:9;24506:11;24519:13;24534:15;24551:11;24465:29;:98::i;23463:309::-;23554:13;23570:27;23590:6;23570:19;:27::i;:::-;23554:43;;23619:1;23611:5;:9;:27;;;;;23633:5;23624:6;:14;23611:27;23607:68;;;23668:6;23647:28;;;;;;;;;;;:::i;23607:68::-;23686:79;23695:61;23723:6;23731:24;23749:6;23731:15;:24;:::i;23695:61::-;23758:6;1331:12:9;:17;;;;;;;;;;;:25;1266:97;18415:275:2;18503:4;18520:12;18534:23;18561:12;-1:-1:-1;;;;;18561:17:2;18579:8;18561:27;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18519:69;;;;18605:7;:78;;;;-1:-1:-1;18617:17:2;;:31;;:65;;;18663:10;18652:30;;;;;;;;;;;;:::i;:::-;18598:85;18415:275;-1:-1:-1;;;;;18415:275:2:o;2352:162:0:-;2458:48;;;573:24;2458:48;;;43712:19:34;43747:12;;;43740:28;;;2422:7:0;;43784:12:34;;2458:48:0;43555:247:34;2173:173:0;2289:49;;;502:18;2289:49;;;44244:19:34;44279:12;;;44272:28;;;44316:12;;;44309:28;;;2253:7:0;;44353:12:34;;2289:49:0;44059:312:34;21338:158:2;21409:7;1466:23;21481:6;21445:43;;;;;;;;;:::i;2520:170:0:-;2630:52;;;654:28;2630:52;;;43712:19:34;43747:12;;;43740:28;;;2594:7:0;;43784:12:34;;2630:52:0;43555:247:34;5959:157:0;6050:59;6059:33;6081:10;6059:21;:33::i;4846:141::-;4929:51;4938:29;4956:10;4938:17;:29::i;4660:180::-;4780:53;4792:31;4805:10;4817:5;4792:12;:31::i;6541:182::-;6662:54;6671:35;6686:10;6698:7;3143:182;3263:54;;;898:21;3263:54;;;44561:19:34;44596:12;;;44589:28;;;44655:2;44651:15;;;-1:-1:-1;;44647:53:34;44633:12;;;44626:75;-1:-1:-1;;44717:12:34;;3263:54:0;44376:359:34;2696:195:0;2822:61;;;741:30;2822:61;;;44244:19:34;44279:12;;;44272:28;;;44316:12;;;44309:28;;;2786:7:0;;44353:12:34;;2822:61:0;44059:312:34;-1:-1:-1;;;;;;;;:::o;14:347:34:-;65:8;75:6;129:3;122:4;114:6;110:17;106:27;96:55;;147:1;144;137:12;96:55;-1:-1:-1;170:20:34;;213:18;202:30;;199:50;;;245:1;242;235:12;199:50;282:4;274:6;270:17;258:29;;334:3;327:4;318:6;310;306:19;302:30;299:39;296:59;;;351:1;348;341:12;296:59;14:347;;;;;:::o;366:409::-;436:6;444;497:2;485:9;476:7;472:23;468:32;465:52;;;513:1;510;503:12;465:52;553:9;540:23;586:18;578:6;575:30;572:50;;;618:1;615;608:12;572:50;657:58;707:7;698:6;687:9;683:22;657:58;:::i;:::-;734:8;;631:84;;-1:-1:-1;366:409:34;-1:-1:-1;;;;366:409:34:o;780:477::-;859:6;867;875;928:2;916:9;907:7;903:23;899:32;896:52;;;944:1;941;934:12;896:52;984:9;971:23;1017:18;1009:6;1006:30;1003:50;;;1049:1;1046;1039:12;1003:50;1088:58;1138:7;1129:6;1118:9;1114:22;1088:58;:::i;:::-;1165:8;;1062:84;;-1:-1:-1;1247:2:34;1232:18;;;;1219:32;;780:477;-1:-1:-1;;;;780:477:34:o;1262:180::-;1321:6;1374:2;1362:9;1353:7;1349:23;1345:32;1342:52;;;1390:1;1387;1380:12;1342:52;-1:-1:-1;1413:23:34;;1262:180;-1:-1:-1;1262:180:34:o;1447:681::-;1618:2;1670:21;;;1740:13;;1643:18;;;1762:22;;;1589:4;;1618:2;1841:15;;;;1815:2;1800:18;;;1589:4;1884:218;1898:6;1895:1;1892:13;1884:218;;;1963:13;;-1:-1:-1;;;;;1959:62:34;1947:75;;2077:15;;;;2042:12;;;;1920:1;1913:9;1884:218;;;-1:-1:-1;2119:3:34;;1447:681;-1:-1:-1;;;;;;1447:681:34:o;2133:1214::-;2273:6;2281;2289;2297;2305;2313;2321;2329;2337;2390:3;2378:9;2369:7;2365:23;2361:33;2358:53;;;2407:1;2404;2397:12;2358:53;2443:9;2430:23;2420:33;;2504:2;2493:9;2489:18;2476:32;2527:18;2568:2;2560:6;2557:14;2554:34;;;2584:1;2581;2574:12;2554:34;2623:58;2673:7;2664:6;2653:9;2649:22;2623:58;:::i;:::-;2700:8;;-1:-1:-1;2597:84:34;-1:-1:-1;2788:2:34;2773:18;;2760:32;;-1:-1:-1;2804:16:34;;;2801:36;;;2833:1;2830;2823:12;2801:36;2872:60;2924:7;2913:8;2902:9;2898:24;2872:60;:::i;:::-;2951:8;;-1:-1:-1;2846:86:34;-1:-1:-1;3033:2:34;3018:18;;3005:32;;-1:-1:-1;3090:3:34;3075:19;;3062:33;;-1:-1:-1;3107:16:34;;;3104:36;;;3136:1;3133;3126:12;3104:36;;3175:60;3227:7;3216:8;3205:9;3201:24;3175:60;:::i;:::-;2133:1214;;;;-1:-1:-1;2133:1214:34;;;;;;;;3254:8;3336:3;3321:19;3308:33;;2133:1214;-1:-1:-1;;;;2133:1214:34:o;3544:1006::-;3656:6;3664;3672;3680;3688;3696;3749:2;3737:9;3728:7;3724:23;3720:32;3717:52;;;3765:1;3762;3755:12;3717:52;3805:9;3792:23;3834:18;3875:2;3867:6;3864:14;3861:34;;;3891:1;3888;3881:12;3861:34;3930:58;3980:7;3971:6;3960:9;3956:22;3930:58;:::i;:::-;4007:8;;-1:-1:-1;3904:84:34;-1:-1:-1;4095:2:34;4080:18;;4067:32;;-1:-1:-1;4111:16:34;;;4108:36;;;4140:1;4137;4130:12;4108:36;4179:60;4231:7;4220:8;4209:9;4205:24;4179:60;:::i;:::-;4258:8;;-1:-1:-1;4153:86:34;-1:-1:-1;4346:2:34;4331:18;;4318:32;;-1:-1:-1;4362:16:34;;;4359:36;;;4391:1;4388;4381:12;4359:36;;4430:60;4482:7;4471:8;4460:9;4456:24;4430:60;:::i;:::-;3544:1006;;;;-1:-1:-1;3544:1006:34;;-1:-1:-1;3544:1006:34;;4509:8;;3544:1006;-1:-1:-1;;;3544:1006:34:o;4971:184::-;-1:-1:-1;;;5020:1:34;5013:88;5120:4;5117:1;5110:15;5144:4;5141:1;5134:15;5160:275;5231:2;5225:9;5296:2;5277:13;;-1:-1:-1;;5273:27:34;5261:40;;5331:18;5316:34;;5352:22;;;5313:62;5310:88;;;5378:18;;:::i;:::-;5414:2;5407:22;5160:275;;-1:-1:-1;5160:275:34:o;5440:187::-;5489:4;5522:18;5514:6;5511:30;5508:56;;;5544:18;;:::i;:::-;-1:-1:-1;5610:2:34;5589:15;-1:-1:-1;;5585:29:34;5616:4;5581:40;;5440:187::o;5632:464::-;5675:5;5728:3;5721:4;5713:6;5709:17;5705:27;5695:55;;5746:1;5743;5736:12;5695:55;5782:6;5769:20;5813:49;5829:32;5858:2;5829:32;:::i;:::-;5813:49;:::i;:::-;5887:2;5878:7;5871:19;5933:3;5926:4;5921:2;5913:6;5909:15;5905:26;5902:35;5899:55;;;5950:1;5947;5940:12;5899:55;6015:2;6008:4;6000:6;5996:17;5989:4;5980:7;5976:18;5963:55;6063:1;6038:16;;;6056:4;6034:27;6027:38;;;;6042:7;5632:464;-1:-1:-1;;;5632:464:34:o;6101:322::-;6170:6;6223:2;6211:9;6202:7;6198:23;6194:32;6191:52;;;6239:1;6236;6229:12;6191:52;6279:9;6266:23;6312:18;6304:6;6301:30;6298:50;;;6344:1;6341;6334:12;6298:50;6367;6409:7;6400:6;6389:9;6385:22;6367:50;:::i;6610:1076::-;6732:6;6740;6748;6756;6764;6772;6780;6833:3;6821:9;6812:7;6808:23;6804:33;6801:53;;;6850:1;6847;6840:12;6801:53;6890:9;6877:23;6919:18;6960:2;6952:6;6949:14;6946:34;;;6976:1;6973;6966:12;6946:34;7015:58;7065:7;7056:6;7045:9;7041:22;7015:58;:::i;:::-;7092:8;;-1:-1:-1;6989:84:34;-1:-1:-1;7180:2:34;7165:18;;7152:32;;-1:-1:-1;7196:16:34;;;7193:36;;;7225:1;7222;7215:12;7193:36;7264:60;7316:7;7305:8;7294:9;7290:24;7264:60;:::i;:::-;7343:8;;-1:-1:-1;7238:86:34;-1:-1:-1;7431:2:34;7416:18;;7403:32;;-1:-1:-1;7447:16:34;;;7444:36;;;7476:1;7473;7466:12;7444:36;;7515:60;7567:7;7556:8;7545:9;7541:24;7515:60;:::i;:::-;6610:1076;;;;-1:-1:-1;6610:1076:34;;;;;;7676:2;7661:18;;;7648:32;;6610:1076;-1:-1:-1;;;;6610:1076:34:o;7691:856::-;7801:6;7809;7817;7825;7833;7841;7894:3;7882:9;7873:7;7869:23;7865:33;7862:53;;;7911:1;7908;7901:12;7862:53;7947:9;7934:23;7924:33;;8008:2;7997:9;7993:18;7980:32;8031:18;8072:2;8064:6;8061:14;8058:34;;;8088:1;8085;8078:12;8058:34;8127:58;8177:7;8168:6;8157:9;8153:22;8127:58;:::i;:::-;8204:8;;-1:-1:-1;8101:84:34;-1:-1:-1;8292:2:34;8277:18;;8264:32;;-1:-1:-1;8308:16:34;;;8305:36;;;8337:1;8334;8327:12;8305:36;;8376:60;8428:7;8417:8;8406:9;8402:24;8376:60;:::i;:::-;7691:856;;;;-1:-1:-1;7691:856:34;;;;;8537:2;8522:18;;;8509:32;;7691:856;-1:-1:-1;;;;7691:856:34:o;8552:258::-;8624:1;8634:113;8648:6;8645:1;8642:13;8634:113;;;8724:11;;;8718:18;8705:11;;;8698:39;8670:2;8663:10;8634:113;;;8765:6;8762:1;8759:13;8756:48;;;-1:-1:-1;;8800:1:34;8782:16;;8775:27;8552:258::o;8815:::-;8857:3;8895:5;8889:12;8922:6;8917:3;8910:19;8938:63;8994:6;8987:4;8982:3;8978:14;8971:4;8964:5;8960:16;8938:63;:::i;:::-;9055:2;9034:15;-1:-1:-1;;9030:29:34;9021:39;;;;9062:4;9017:50;;8815:258;-1:-1:-1;;8815:258:34:o;9078:220::-;9227:2;9216:9;9209:21;9190:4;9247:45;9288:2;9277:9;9273:18;9265:6;9247:45;:::i;9303:154::-;-1:-1:-1;;;;;9382:5:34;9378:54;9371:5;9368:65;9358:93;;9447:1;9444;9437:12;9462:612;9550:6;9558;9566;9574;9627:2;9615:9;9606:7;9602:23;9598:32;9595:52;;;9643:1;9640;9633:12;9595:52;9682:9;9669:23;9701:31;9726:5;9701:31;:::i;:::-;9751:5;-1:-1:-1;9803:2:34;9788:18;;9775:32;;-1:-1:-1;9858:2:34;9843:18;;9830:32;9885:18;9874:30;;9871:50;;;9917:1;9914;9907:12;9871:50;9956:58;10006:7;9997:6;9986:9;9982:22;9956:58;:::i;:::-;9462:612;;;;-1:-1:-1;10033:8:34;-1:-1:-1;;;;9462:612:34:o;10079:1364::-;10221:6;10229;10237;10245;10253;10261;10269;10277;10285;10338:3;10326:9;10317:7;10313:23;10309:33;10306:53;;;10355:1;10352;10345:12;10306:53;10395:9;10382:23;10424:18;10465:2;10457:6;10454:14;10451:34;;;10481:1;10478;10471:12;10451:34;10520:58;10570:7;10561:6;10550:9;10546:22;10520:58;:::i;:::-;10597:8;;-1:-1:-1;10494:84:34;-1:-1:-1;10685:2:34;10670:18;;10657:32;;-1:-1:-1;10701:16:34;;;10698:36;;;10730:1;10727;10720:12;10698:36;10769:60;10821:7;10810:8;10799:9;10795:24;10769:60;:::i;:::-;10848:8;;-1:-1:-1;10743:86:34;-1:-1:-1;10936:2:34;10921:18;;10908:32;;-1:-1:-1;10952:16:34;;;10949:36;;;10981:1;10978;10971:12;10949:36;11020:60;11072:7;11061:8;11050:9;11046:24;11020:60;:::i;:::-;11099:8;;-1:-1:-1;10994:86:34;-1:-1:-1;11187:2:34;11172:18;;11159:32;;-1:-1:-1;11203:16:34;;;11200:36;;;11232:1;11229;11222:12;11200:36;;11271:60;11323:7;11312:8;11301:9;11297:24;11271:60;:::i;:::-;10079:1364;;;;-1:-1:-1;10079:1364:34;;;;;;;;11350:8;11432:3;11417:19;11404:33;;10079:1364;-1:-1:-1;;;;10079:1364:34:o;11448:1350::-;11597:6;11605;11613;11621;11629;11637;11645;11653;11661;11669;11722:3;11710:9;11701:7;11697:23;11693:33;11690:53;;;11739:1;11736;11729:12;11690:53;11775:9;11762:23;11752:33;;11836:2;11825:9;11821:18;11808:32;11859:18;11900:2;11892:6;11889:14;11886:34;;;11916:1;11913;11906:12;11886:34;11955:58;12005:7;11996:6;11985:9;11981:22;11955:58;:::i;:::-;12032:8;;-1:-1:-1;11929:84:34;-1:-1:-1;12120:2:34;12105:18;;12092:32;;-1:-1:-1;12136:16:34;;;12133:36;;;12165:1;12162;12155:12;12133:36;12204:60;12256:7;12245:8;12234:9;12230:24;12204:60;:::i;:::-;12283:8;;-1:-1:-1;12178:86:34;-1:-1:-1;12368:2:34;12353:18;;12340:32;;-1:-1:-1;12381:31:34;12340:32;12381:31;:::i;:::-;12431:5;;-1:-1:-1;12483:3:34;12468:19;;12455:33;;-1:-1:-1;12541:3:34;12526:19;;12513:33;;12558:16;;;12555:36;;;12587:1;12584;12577:12;12555:36;;12626:60;12678:7;12667:8;12656:9;12652:24;12626:60;:::i;:::-;12600:86;;12705:8;12695:18;;;12732:8;12722:18;;;12787:3;12776:9;12772:19;12759:33;12749:43;;11448:1350;;;;;;;;;;;;;:::o;13206:375::-;13277:8;13287:6;13341:3;13334:4;13326:6;13322:17;13318:27;13308:55;;13359:1;13356;13349:12;13308:55;-1:-1:-1;13382:20:34;;13425:18;13414:30;;13411:50;;;13457:1;13454;13447:12;13411:50;13494:4;13486:6;13482:17;13470:29;;13554:3;13547:4;13537:6;13534:1;13530:14;13522:6;13518:27;13514:38;13511:47;13508:67;;;13571:1;13568;13561:12;13586:801;13720:6;13728;13736;13744;13797:2;13785:9;13776:7;13772:23;13768:32;13765:52;;;13813:1;13810;13803:12;13765:52;13853:9;13840:23;13882:18;13923:2;13915:6;13912:14;13909:34;;;13939:1;13936;13929:12;13909:34;13978:78;14048:7;14039:6;14028:9;14024:22;13978:78;:::i;:::-;14075:8;;-1:-1:-1;13952:104:34;-1:-1:-1;14163:2:34;14148:18;;14135:32;;-1:-1:-1;14179:16:34;;;14176:36;;;14208:1;14205;14198:12;14176:36;;14247:80;14319:7;14308:8;14297:9;14293:24;14247:80;:::i;14392:992::-;14511:6;14519;14527;14535;14543;14551;14559;14612:3;14600:9;14591:7;14587:23;14583:33;14580:53;;;14629:1;14626;14619:12;14580:53;14665:9;14652:23;14642:33;;14726:2;14715:9;14711:18;14698:32;14749:18;14790:2;14782:6;14779:14;14776:34;;;14806:1;14803;14796:12;14776:34;14845:58;14895:7;14886:6;14875:9;14871:22;14845:58;:::i;:::-;14922:8;;-1:-1:-1;14819:84:34;-1:-1:-1;15010:2:34;14995:18;;14982:32;;-1:-1:-1;15026:16:34;;;15023:36;;;15055:1;15052;15045:12;15023:36;;15094:60;15146:7;15135:8;15124:9;15120:24;15094:60;:::i;:::-;15173:8;;-1:-1:-1;15068:86:34;-1:-1:-1;;15258:2:34;15243:18;;15230:32;15271:31;15230:32;15271:31;:::i;:::-;15321:5;15311:15;;;15373:3;15362:9;15358:19;15345:33;15335:43;;14392:992;;;;;;;;;;:::o;15715:615::-;15766:3;15804:5;15798:12;15831:6;15826:3;15819:19;15857:4;15898:2;15893:3;15889:12;15923:11;15950;15943:18;;16000:6;15997:1;15993:14;15986:5;15982:26;15970:38;;16042:2;16035:5;16031:14;16063:1;16073:231;16087:6;16084:1;16081:13;16073:231;;;16158:5;16152:4;16148:16;16143:3;16136:29;16186:38;16219:4;16210:6;16204:13;16186:38;:::i;:::-;16282:12;;;;16178:46;-1:-1:-1;16247:15:34;;;;16109:1;16102:9;16073:231;;;-1:-1:-1;16320:4:34;;15715:615;-1:-1:-1;;;;;;;15715:615:34:o;16335:1574::-;16699:4;16747:3;16736:9;16732:19;16778:6;16767:9;16760:25;16804:2;16842:3;16837:2;16826:9;16822:18;16815:31;16866:6;16901;16895:13;16932:6;16924;16917:22;16970:3;16959:9;16955:19;16948:26;;17009:2;17001:6;16997:15;16983:29;;17030:1;17040:169;17054:6;17051:1;17048:13;17040:169;;;17115:13;;17103:26;;17184:15;;;;17149:12;;;;17076:1;17069:9;17040:169;;;-1:-1:-1;;17245:19:34;;;17240:2;17225:18;;17218:47;17315:13;;17337:21;;;17376:12;;;;-1:-1:-1;17428:1:34;17424:16;;;17415:26;;17411:35;;17471:15;;;17506:1;17516:269;17532:8;17527:3;17524:17;17516:269;;;17627:2;17623:7;17617:3;17609:6;17605:16;17601:30;17594:5;17587:45;17655:42;17690:6;17679:8;17673:15;17655:42;:::i;:::-;17761:14;;;;17645:52;-1:-1:-1;17722:17:34;;;;17560:1;17551:11;17516:269;;;17520:3;;17833:9;17825:6;17821:22;17816:2;17805:9;17801:18;17794:50;17861:42;17896:6;17888;17861:42;:::i;17914:541::-;18000:6;18008;18061:2;18049:9;18040:7;18036:23;18032:32;18029:52;;;18077:1;18074;18067:12;18029:52;18117:9;18104:23;18146:18;18187:2;18179:6;18176:14;18173:34;;;18203:1;18200;18193:12;18173:34;18226:50;18268:7;18259:6;18248:9;18244:22;18226:50;:::i;:::-;18216:60;;18329:2;18318:9;18314:18;18301:32;18285:48;;18358:2;18348:8;18345:16;18342:36;;;18374:1;18371;18364:12;18342:36;;18397:52;18441:7;18430:8;18419:9;18415:24;18397:52;:::i;:::-;18387:62;;;17914:541;;;;;:::o;18460:289::-;18635:6;18624:9;18617:25;18678:2;18673;18662:9;18658:18;18651:30;18598:4;18698:45;18739:2;18728:9;18724:18;18716:6;18698:45;:::i;18754:164::-;18830:13;;18879;;18872:21;18862:32;;18852:60;;18908:1;18905;18898:12;18852:60;18754:164;;;:::o;18923:202::-;18990:6;19043:2;19031:9;19022:7;19018:23;19014:32;19011:52;;;19059:1;19056;19049:12;19011:52;19082:37;19109:9;19082:37;:::i;19130:183::-;19190:4;19223:18;19215:6;19212:30;19209:56;;;19245:18;;:::i;:::-;-1:-1:-1;19290:1:34;19286:14;19302:4;19282:25;;19130:183::o;19318:659::-;19383:5;19436:3;19429:4;19421:6;19417:17;19413:27;19403:55;;19454:1;19451;19444:12;19403:55;19483:6;19477:13;19509:4;19533:60;19549:43;19589:2;19549:43;:::i;19533:60::-;19627:15;;;19713:1;19709:10;;;;19697:23;;19693:32;;;19658:12;;;;19737:15;;;19734:35;;;19765:1;19762;19755:12;19734:35;19801:2;19793:6;19789:15;19813:135;19829:6;19824:3;19821:15;19813:135;;;19895:10;;19883:23;;19926:12;;;;19846;;19813:135;;19982:309;20058:5;20087:53;20103:36;20132:6;20103:36;:::i;20087:53::-;20078:62;;20163:6;20156:5;20149:21;20203:3;20194:6;20189:3;20185:16;20182:25;20179:45;;;20220:1;20217;20210:12;20179:45;20233:52;20278:6;20271:4;20264:5;20260:16;20255:3;20233:52;:::i;20296:1090::-;20360:5;20413:3;20406:4;20398:6;20394:17;20390:27;20380:55;;20431:1;20428;20421:12;20380:55;20460:6;20454:13;20486:4;20510:60;20526:43;20566:2;20526:43;:::i;20510:60::-;20604:15;;;20690:1;20686:10;;;;20674:23;;20670:32;;;20635:12;;;;20714:15;;;20711:35;;;20742:1;20739;20732:12;20711:35;20778:2;20770:6;20766:15;20790:567;20806:6;20801:3;20798:15;20790:567;;;20885:3;20879:10;20921:18;20908:11;20905:35;20902:125;;;20981:1;21010:2;21006;20999:14;20902:125;21050:24;;21109:2;21101:11;;21097:21;-1:-1:-1;21087:119:34;;21160:1;21189:2;21185;21178:14;21087:119;21231:83;21310:3;21304:2;21300;21296:11;21290:18;21285:2;21281;21277:11;21231:83;:::i;:::-;21219:96;;-1:-1:-1;21335:12:34;;;;20823;;20790:567;;21391:236;21444:5;21497:3;21490:4;21482:6;21478:17;21474:27;21464:55;;21515:1;21512;21505:12;21464:55;21537:84;21617:3;21608:6;21602:13;21595:4;21587:6;21583:17;21537:84;:::i;21632:894::-;21695:5;21748:3;21741:4;21733:6;21729:17;21725:27;21715:55;;21766:1;21763;21756:12;21715:55;21795:6;21789:13;21821:4;21845:60;21861:43;21901:2;21861:43;:::i;21845:60::-;21939:15;;;22025:1;22021:10;;;;22009:23;;22005:32;;;21970:12;;;;22049:15;;;22046:35;;;22077:1;22074;22067:12;22046:35;22113:2;22105:6;22101:15;22125:372;22141:6;22136:3;22133:15;22125:372;;;22220:3;22214:10;22256:18;22243:11;22240:35;22237:125;;;22316:1;22345:2;22341;22334:14;22237:125;22387:67;22450:3;22445:2;22431:11;22423:6;22419:24;22415:33;22387:67;:::i;:::-;22375:80;;-1:-1:-1;22475:12:34;;;;22158;;22125:372;;22531:922;22722:6;22730;22738;22746;22799:3;22787:9;22778:7;22774:23;22770:33;22767:53;;;22816:1;22813;22806:12;22767:53;22845:9;22839:16;22829:26;;22899:2;22888:9;22884:18;22878:25;22922:18;22963:2;22955:6;22952:14;22949:34;;;22979:1;22976;22969:12;22949:34;23002:72;23066:7;23057:6;23046:9;23042:22;23002:72;:::i;:::-;22992:82;;23120:2;23109:9;23105:18;23099:25;23083:41;;23149:2;23139:8;23136:16;23133:36;;;23165:1;23162;23155:12;23133:36;23188:73;23253:7;23242:8;23231:9;23227:24;23188:73;:::i;:::-;23178:83;;23307:2;23296:9;23292:18;23286:25;23270:41;;23336:2;23326:8;23323:16;23320:36;;;23352:1;23349;23342:12;23320:36;;23375:72;23439:7;23428:8;23417:9;23413:24;23375:72;:::i;:::-;23365:82;;;22531:922;;;;;;;:::o;23458:184::-;-1:-1:-1;;;23507:1:34;23500:88;23607:4;23604:1;23597:15;23631:4;23628:1;23621:15;23647:276;23778:3;23816:6;23810:13;23832:53;23878:6;23873:3;23866:4;23858:6;23854:17;23832:53;:::i;:::-;23901:16;;;;;23647:276;-1:-1:-1;;23647:276:34:o;23928:289::-;24103:2;24092:9;24085:21;24066:4;24123:45;24164:2;24153:9;24149:18;24141:6;24123:45;:::i;:::-;24115:53;;24204:6;24199:2;24188:9;24184:18;24177:34;23928:289;;;;;:::o;24501:184::-;-1:-1:-1;;;24550:1:34;24543:88;24650:4;24647:1;24640:15;24674:4;24671:1;24664:15;24690:135;24729:3;-1:-1:-1;;24750:17:34;;24747:43;;;24770:18;;:::i;:::-;-1:-1:-1;24817:1:34;24806:13;;24690:135::o;24830:142::-;24906:20;;24935:31;24906:20;24935:31;:::i;24977:533::-;25072:6;25080;25088;25141:2;25129:9;25120:7;25116:23;25112:32;25109:52;;;25157:1;25154;25147:12;25109:52;25197:9;25184:23;25230:18;25222:6;25219:30;25216:50;;;25262:1;25259;25252:12;25216:50;25285;25327:7;25318:6;25307:9;25303:22;25285:50;:::i;:::-;25275:60;;;25385:2;25374:9;25370:18;25357:32;25398:31;25423:5;25398:31;:::i;:::-;24977:533;;25448:5;;-1:-1:-1;;;25500:2:34;25485:18;;;;25472:32;;24977:533::o;25515:271::-;25698:6;25690;25685:3;25672:33;25654:3;25724:16;;25749:13;;;25724:16;25515:271;-1:-1:-1;25515:271:34:o;25791:267::-;25880:6;25875:3;25868:19;25932:6;25925:5;25918:4;25913:3;25909:14;25896:43;-1:-1:-1;25984:1:34;25959:16;;;25977:4;25955:27;;;25948:38;;;;26040:2;26019:15;;;-1:-1:-1;;26015:29:34;26006:39;;;26002:50;;25791:267::o;26063:625::-;26336:2;26325:9;26318:21;26299:4;26362:62;26420:2;26409:9;26405:18;26397:6;26389;26362:62;:::i;:::-;26472:9;26464:6;26460:22;26455:2;26444:9;26440:18;26433:50;26506;26549:6;26541;26533;26506:50;:::i;:::-;26492:64;;26604:9;26596:6;26592:22;26587:2;26576:9;26572:18;26565:50;26632;26675:6;26667;26659;26632:50;:::i;:::-;26624:58;26063:625;-1:-1:-1;;;;;;;;;26063:625:34:o;26693:274::-;26733:1;26759;26749:189;;-1:-1:-1;;;26791:1:34;26784:88;26895:4;26892:1;26885:15;26923:4;26920:1;26913:15;26749:189;-1:-1:-1;26952:9:34;;26693:274::o;26972:700::-;27275:3;27264:9;27257:22;27238:4;27302:63;27360:3;27349:9;27345:19;27337:6;27329;27302:63;:::i;:::-;27413:9;27405:6;27401:22;27396:2;27385:9;27381:18;27374:50;27447;27490:6;27482;27474;27447:50;:::i;:::-;27433:64;;27545:9;27537:6;27533:22;27528:2;27517:9;27513:18;27506:50;27573;27616:6;27608;27600;27573:50;:::i;:::-;27565:58;;;27659:6;27654:2;27643:9;27639:18;27632:34;26972:700;;;;;;;;;;:::o;27677:390::-;27755:6;27763;27816:2;27804:9;27795:7;27791:23;27787:32;27784:52;;;27832:1;27829;27822:12;27784:52;27872:9;27859:23;27905:18;27897:6;27894:30;27891:50;;;27937:1;27934;27927:12;27891:50;27960;28002:7;27993:6;27982:9;27978:22;27960:50;:::i;:::-;27950:60;28057:2;28042:18;;;;28029:32;;-1:-1:-1;;;;27677:390:34:o;28072:184::-;-1:-1:-1;;;28121:1:34;28114:88;28221:4;28218:1;28211:15;28245:4;28242:1;28235:15;28261:184;28331:6;28384:2;28372:9;28363:7;28359:23;28355:32;28352:52;;;28400:1;28397;28390:12;28352:52;-1:-1:-1;28423:16:34;;28261:184;-1:-1:-1;28261:184:34:o;28752:338::-;-1:-1:-1;;;;;28931:6:34;28927:55;28916:9;28909:74;29019:2;29014;29003:9;28999:18;28992:30;28890:4;29039:45;29080:2;29069:9;29065:18;29057:6;29039:45;:::i;29095:414::-;29180:6;29188;29241:2;29229:9;29220:7;29216:23;29212:32;29209:52;;;29257:1;29254;29247:12;29209:52;29280:37;29307:9;29280:37;:::i;:::-;29270:47;;29361:2;29350:9;29346:18;29340:25;29388:18;29380:6;29377:30;29374:50;;;29420:1;29417;29410:12;29374:50;29443:60;29495:7;29486:6;29475:9;29471:22;29443:60;:::i;29696:1110::-;29856:6;29864;29872;29880;29888;29896;29904;29912;29965:3;29953:9;29944:7;29940:23;29936:33;29933:53;;;29982:1;29979;29972:12;29933:53;30022:9;30009:23;30051:18;30092:2;30084:6;30081:14;30078:34;;;30108:1;30105;30098:12;30078:34;30131:50;30173:7;30164:6;30153:9;30149:22;30131:50;:::i;:::-;30121:60;;30234:2;30223:9;30219:18;30206:32;30190:48;;30263:2;30253:8;30250:16;30247:36;;;30279:1;30276;30269:12;30247:36;30302:52;30346:7;30335:8;30324:9;30320:24;30302:52;:::i;:::-;30292:62;;30373:46;30415:2;30404:9;30400:18;30373:46;:::i;:::-;30363:56;;30466:2;30455:9;30451:18;30438:32;30428:42;;30523:3;30512:9;30508:19;30495:33;30479:49;;30553:2;30543:8;30540:16;30537:36;;;30569:1;30566;30559:12;30537:36;;30592:52;30636:7;30625:8;30614:9;30610:24;30592:52;:::i;:::-;29696:1110;;;;-1:-1:-1;29696:1110:34;;;;30582:62;30691:3;30676:19;;30663:33;;-1:-1:-1;30743:3:34;30728:19;;30715:33;;30795:3;30780:19;30767:33;;-1:-1:-1;29696:1110:34;-1:-1:-1;;;29696:1110:34:o;30811:763::-;31140:3;31129:9;31122:22;31103:4;31167:46;31208:3;31197:9;31193:19;31185:6;31167:46;:::i;:::-;31261:9;31253:6;31249:22;31244:2;31233:9;31229:18;31222:50;31295:33;31321:6;31313;31295:33;:::i;:::-;31281:47;;31376:9;31368:6;31364:22;31359:2;31348:9;31344:18;31337:50;31404:33;31430:6;31422;31404:33;:::i;:::-;31468:2;31453:18;;31446:34;;;;-1:-1:-1;;31511:3:34;31496:19;;31489:35;;;;31555:3;31540:19;;;31533:35;31396:41;30811:763;-1:-1:-1;;;30811:763:34:o;31579:988::-;31709:6;31717;31725;31733;31741;31749;31802:3;31790:9;31781:7;31777:23;31773:33;31770:53;;;31819:1;31816;31809:12;31770:53;31859:9;31846:23;31888:18;31929:2;31921:6;31918:14;31915:34;;;31945:1;31942;31935:12;31915:34;31968:50;32010:7;32001:6;31990:9;31986:22;31968:50;:::i;:::-;31958:60;;32071:2;32060:9;32056:18;32043:32;32027:48;;32100:2;32090:8;32087:16;32084:36;;;32116:1;32113;32106:12;32084:36;;32139:52;32183:7;32172:8;32161:9;32157:24;32139:52;:::i;:::-;32129:62;;;32241:2;32230:9;32226:18;32213:32;32285:4;32278:5;32274:16;32267:5;32264:27;32254:55;;32305:1;32302;32295:12;32254:55;32328:5;-1:-1:-1;32380:2:34;32365:18;;32352:32;;-1:-1:-1;32436:3:34;32421:19;;32408:33;32450;32408;32450;:::i;:::-;32502:7;32492:17;;;32556:3;32545:9;32541:19;32528:33;32518:43;;31579:988;;;;;;;;:::o;32572:606::-;32849:3;32838:9;32831:22;32812:4;32876:46;32917:3;32906:9;32902:19;32894:6;32876:46;:::i;:::-;32970:9;32962:6;32958:22;32953:2;32942:9;32938:18;32931:50;32998:33;33024:6;33016;32998:33;:::i;:::-;33079:4;33067:17;;;;33062:2;33047:18;;33040:45;-1:-1:-1;;33116:2:34;33101:18;;33094:34;;;;33159:3;33144:19;;;33137:35;32990:41;32572:606;-1:-1:-1;;32572:606:34:o;33183:259::-;33261:6;33314:2;33302:9;33293:7;33289:23;33285:32;33282:52;;;33330:1;33327;33320:12;33282:52;33362:9;33356:16;33381:31;33406:5;33381:31;:::i;33447:340::-;33624:2;33613:9;33606:21;33587:4;33644:45;33685:2;33674:9;33670:18;33662:6;33644:45;:::i;:::-;33636:53;;-1:-1:-1;;;;;33729:6:34;33725:55;33720:2;33709:9;33705:18;33698:83;33447:340;;;;;:::o;33792:245::-;33949:2;33938:9;33931:21;33912:4;33969:62;34027:2;34016:9;34012:18;34004:6;33996;33969:62;:::i;34042:437::-;34121:1;34117:12;;;;34164;;;34185:61;;34239:4;34231:6;34227:17;34217:27;;34185:61;34292:2;34284:6;34281:14;34261:18;34258:38;34255:218;;;-1:-1:-1;;;34326:1:34;34319:88;34430:4;34427:1;34420:15;34458:4;34455:1;34448:15;34255:218;;34042:437;;;:::o;34484:1256::-;34595:6;34603;34611;34664:2;34652:9;34643:7;34639:23;34635:32;34632:52;;;34680:1;34677;34670:12;34632:52;34720:9;34707:23;34749:18;34790:2;34782:6;34779:14;34776:34;;;34806:1;34803;34796:12;34776:34;34844:6;34833:9;34829:22;34819:32;;34889:7;34882:4;34878:2;34874:13;34870:27;34860:55;;34911:1;34908;34901:12;34860:55;34947:2;34934:16;34969:4;34993:60;35009:43;35049:2;35009:43;:::i;34993:60::-;35087:15;;;35169:1;35165:10;;;;35157:19;;35153:28;;;35118:12;;;;35193:19;;;35190:39;;;35225:1;35222;35215:12;35190:39;35249:11;;;;35269:217;35285:6;35280:3;35277:15;35269:217;;;35365:3;35352:17;35382:31;35407:5;35382:31;:::i;:::-;35426:18;;35302:12;;;;35464;;;;35269:217;;;35505:5;-1:-1:-1;;35542:18:34;;35529:32;;-1:-1:-1;;35614:2:34;35599:18;;35586:32;;-1:-1:-1;35630:16:34;;;35627:36;;;35659:1;35656;35649:12;35627:36;;35682:52;35726:7;35715:8;35704:9;35700:24;35682:52;:::i;:::-;35672:62;;;34484:1256;;;;;:::o;35745:128::-;35785:3;35816:1;35812:6;35809:1;35806:13;35803:39;;;35822:18;;:::i;:::-;-1:-1:-1;35858:9:34;;35745:128::o;35878:889::-;36237:3;36226:9;36219:22;36200:4;36264:63;36322:3;36311:9;36307:19;36299:6;36291;36264:63;:::i;:::-;36375:9;36367:6;36363:22;36358:2;36347:9;36343:18;36336:50;36409;36452:6;36444;36436;36409:50;:::i;:::-;36395:64;;36507:9;36499:6;36495:22;36490:2;36479:9;36475:18;36468:50;36541;36584:6;36576;36568;36541:50;:::i;:::-;36527:64;;36639:9;36631:6;36627:22;36622:2;36611:9;36607:18;36600:50;36667;36710:6;36702;36694;36667:50;:::i;:::-;36659:58;;;36754:6;36748:3;36737:9;36733:19;36726:35;35878:889;;;;;;;;;;;;:::o;36772:522::-;36850:4;36856:6;36916:11;36903:25;37010:2;37006:7;36995:8;36979:14;36975:29;36971:43;36951:18;36947:68;36937:96;;37029:1;37026;37019:12;36937:96;37056:33;;37108:20;;;-1:-1:-1;37151:18:34;37140:30;;37137:50;;;37183:1;37180;37173:12;37137:50;37216:4;37204:17;;-1:-1:-1;37247:14:34;37243:27;;;37233:38;;37230:58;;;37284:1;37281;37274:12;37299:984;37499:6;37507;37515;37523;37531;37584:3;37572:9;37563:7;37559:23;37555:33;37552:53;;;37601:1;37598;37591:12;37552:53;37630:9;37624:16;37614:26;;37680:2;37669:9;37665:18;37659:25;37649:35;;37728:2;37717:9;37713:18;37707:25;37751:18;37792:2;37784:6;37781:14;37778:34;;;37808:1;37805;37798:12;37778:34;37831:72;37895:7;37886:6;37875:9;37871:22;37831:72;:::i;:::-;37821:82;;37949:2;37938:9;37934:18;37928:25;37912:41;;37978:2;37968:8;37965:16;37962:36;;;37994:1;37991;37984:12;37962:36;38017:73;38082:7;38071:8;38060:9;38056:24;38017:73;:::i;:::-;38007:83;;38136:3;38125:9;38121:19;38115:26;38099:42;;38166:2;38156:8;38153:16;38150:36;;;38182:1;38179;38172:12;38150:36;;38205:72;38269:7;38258:8;38247:9;38243:24;38205:72;:::i;:::-;38195:82;;;37299:984;;;;;;;;:::o;38288:893::-;38420:6;38428;38436;38444;38452;38460;38513:3;38501:9;38492:7;38488:23;38484:33;38481:53;;;38530:1;38527;38520:12;38481:53;38570:9;38557:23;38599:18;38640:2;38632:6;38629:14;38626:34;;;38656:1;38653;38646:12;38626:34;38679:50;38721:7;38712:6;38701:9;38697:22;38679:50;:::i;:::-;38669:60;;38782:2;38771:9;38767:18;38754:32;38738:48;;38811:2;38801:8;38798:16;38795:36;;;38827:1;38824;38817:12;38795:36;;38850:52;38894:7;38883:8;38872:9;38868:24;38850:52;:::i;:::-;38840:62;;;38952:2;38941:9;38937:18;38924:32;38965:31;38990:5;38965:31;:::i;:::-;38288:893;;;;-1:-1:-1;39015:5:34;;39067:2;39052:18;;39039:32;;-1:-1:-1;39118:3:34;39103:19;;39090:33;;39170:3;39155:19;;;39142:33;;-1:-1:-1;38288:893:34;-1:-1:-1;;38288:893:34:o;39186:527::-;39439:3;39428:9;39421:22;39402:4;39466:46;39507:3;39496:9;39492:19;39484:6;39466:46;:::i;:::-;39560:9;39552:6;39548:22;39543:2;39532:9;39528:18;39521:50;39588:33;39614:6;39606;39588:33;:::i;:::-;39652:2;39637:18;;39630:34;;;;-1:-1:-1;;39695:2:34;39680:18;39673:34;39580:41;39186:527;-1:-1:-1;;39186:527:34:o;40103:976::-;40451:4;40480:3;40510:6;40499:9;40492:25;40553:6;40548:2;40537:9;40533:18;40526:34;40596:2;40591;40580:9;40576:18;40569:30;40622:45;40663:2;40652:9;40648:18;40640:6;40622:45;:::i;:::-;40608:59;;40715:9;40707:6;40703:22;40698:2;40687:9;40683:18;40676:50;40749:33;40775:6;40767;40749:33;:::i;:::-;40735:47;;-1:-1:-1;;;;;40823:6:34;40819:55;40813:3;40802:9;40798:19;40791:84;40912:6;40906:3;40895:9;40891:19;40884:35;40968:9;40960:6;40956:22;40950:3;40939:9;40935:19;40928:51;40996:33;41022:6;41014;40996:33;:::i;:::-;40988:41;;;41066:6;41060:3;41049:9;41045:19;41038:35;40103:976;;;;;;;;;;;:::o;41084:433::-;41301:6;41296:3;41289:19;41271:3;41337:6;41331:13;41353:60;41406:6;41401:2;41396:3;41392:12;41387:2;41379:6;41375:15;41353:60;:::i;:::-;41472:2;41432:16;;41464:11;;;41457:27;;;;41508:2;41500:11;;41084:433;-1:-1:-1;;;41084:433:34:o;42181:348::-;42370:6;42365:3;42358:19;42340:3;42406:6;42400:13;42422:60;42475:6;42470:2;42465:3;42461:12;42456:2;42448:6;42444:15;42422:60;:::i;:::-;42502:16;;;;42520:2;42498:25;;42181:348;-1:-1:-1;;;42181:348:34:o;42534:720::-;42843:6;42832:9;42825:25;42886:6;42881:2;42870:9;42866:18;42859:34;42929:3;42924:2;42913:9;42909:18;42902:31;42806:4;42956:46;42997:3;42986:9;42982:19;42974:6;42956:46;:::i;:::-;43050:9;43042:6;43038:22;43033:2;43022:9;43018:18;43011:50;43078:33;43104:6;43096;43078:33;:::i;:::-;-1:-1:-1;;;;;43148:55:34;;;;43142:3;43127:19;;43120:84;-1:-1:-1;;43235:3:34;43220:19;43213:35;43070:41;42534:720;-1:-1:-1;;;;42534:720:34:o" - }, - "methodIdentifiers": { - "_unpackLegacyCommands(bytes)": "f871f14e", - "adminEpoch()": "364940d8", - "adminThreshold(uint256)": "88b30587", - "admins(uint256)": "14bfd6d0", - "allTokensFrozen()": "aa1e1f0a", - "approveContractCall(bytes,bytes32)": "fbe0a31b", - "approveContractCallWithMint(bytes,bytes32)": "585a9fd4", - "burnToken(bytes,bytes32)": "4656ae2e", - "callContract(string,string,bytes)": "1c92115f", - "callContractWithToken(string,string,bytes,string,uint256)": "b5417084", - "deployToken(bytes,bytes32)": "886a625d", - "execute(bytes)": "09c5eabe", - "getAddress(bytes32)": "21f8a721", - "getBool(bytes32)": "7ae1cfca", - "getBytes(bytes32)": "c031a180", - "getInt(bytes32)": "dc97d962", - "getString(bytes32)": "986e791a", - "getUint(bytes32)": "bd02d0f5", - "implementation()": "5c60da1b", - "isCommandExecuted(bytes32)": "d26ff210", - "isContractCallAndMintApproved(bytes32,string,string,address,bytes32,string,uint256)": "bc00c216", - "isContractCallApproved(bytes32,string,string,address,bytes32)": "f6a5f9f5", - "mintToken(bytes,bytes32)": "146e2d78", - "sendToken(string,string,string,uint256)": "26ef699d", - "setTokenDailyMintLimits(string[],uint256[])": "f6789c8c", - "setup(bytes)": "9ded06df", - "tokenAddresses(string)": "935b13f6", - "tokenDailyMintAmount(string)": "23275548", - "tokenDailyMintLimit(string)": "5dde8117", - "tokenFrozen(string)": "7b1b769e", - "transferOperatorship(bytes,bytes32)": "97b87ba6", - "upgrade(address,bytes32,bytes)": "a3499c73", - "validateContractCall(bytes32,string,string,bytes32)": "5f6970c3", - "validateContractCallAndMint(bytes32,string,string,bytes32,string,uint256)": "1876eed9" - } - }, - "metadata": "{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"authModule\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tokenDeployerImplementation\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"AlreadyVoted\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"}],\"name\":\"BurnFailed\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"admin\",\"type\":\"address\"}],\"name\":\"DuplicateAdmin\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"}],\"name\":\"ExceedDailyMintLimit\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidAdminThreshold\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidAdmins\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidAmount\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidAuthModule\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidChainId\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidCodeHash\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidCommands\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidSetDailyMintLimitsParams\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidTokenDeployer\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"}],\"name\":\"MintFailed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotAdmin\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotProxy\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotSelf\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SetupFailed\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"}],\"name\":\"TokenAlreadyExists\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"TokenContractDoesNotExist\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"}],\"name\":\"TokenDeployFailed\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"}],\"name\":\"TokenDoesNotExist\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"destinationChain\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"destinationContractAddress\",\"type\":\"string\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"payloadHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"payload\",\"type\":\"bytes\"}],\"name\":\"ContractCall\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"commandId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"sourceChain\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"sourceAddress\",\"type\":\"string\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"payloadHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"sourceTxHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"sourceEventIndex\",\"type\":\"uint256\"}],\"name\":\"ContractCallApproved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"commandId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"sourceChain\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"sourceAddress\",\"type\":\"string\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"payloadHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"sourceTxHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"sourceEventIndex\",\"type\":\"uint256\"}],\"name\":\"ContractCallApprovedWithMint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"destinationChain\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"destinationContractAddress\",\"type\":\"string\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"payloadHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"payload\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"ContractCallWithToken\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"commandId\",\"type\":\"bytes32\"}],\"name\":\"Executed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"newOperatorsData\",\"type\":\"bytes\"}],\"name\":\"OperatorshipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"limit\",\"type\":\"uint256\"}],\"name\":\"TokenDailyMintLimitUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"tokenAddresses\",\"type\":\"address\"}],\"name\":\"TokenDeployed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"destinationChain\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"destinationAddress\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"TokenSent\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"executeData\",\"type\":\"bytes\"}],\"name\":\"_unpackLegacyCommands\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"chainId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32[]\",\"name\":\"commandIds\",\"type\":\"bytes32[]\"},{\"internalType\":\"string[]\",\"name\":\"commands\",\"type\":\"string[]\"},{\"internalType\":\"bytes[]\",\"name\":\"params\",\"type\":\"bytes[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"adminEpoch\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"epoch\",\"type\":\"uint256\"}],\"name\":\"adminThreshold\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"epoch\",\"type\":\"uint256\"}],\"name\":\"admins\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"results\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"allTokensFrozen\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"params\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"commandId\",\"type\":\"bytes32\"}],\"name\":\"approveContractCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"params\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"commandId\",\"type\":\"bytes32\"}],\"name\":\"approveContractCallWithMint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"params\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"burnToken\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"destinationChain\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"destinationContractAddress\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"payload\",\"type\":\"bytes\"}],\"name\":\"callContract\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"destinationChain\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"destinationContractAddress\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"payload\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"callContractWithToken\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"params\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"deployToken\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"input\",\"type\":\"bytes\"}],\"name\":\"execute\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"key\",\"type\":\"bytes32\"}],\"name\":\"getAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"key\",\"type\":\"bytes32\"}],\"name\":\"getBool\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"key\",\"type\":\"bytes32\"}],\"name\":\"getBytes\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"key\",\"type\":\"bytes32\"}],\"name\":\"getInt\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"key\",\"type\":\"bytes32\"}],\"name\":\"getString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"key\",\"type\":\"bytes32\"}],\"name\":\"getUint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"implementation\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"commandId\",\"type\":\"bytes32\"}],\"name\":\"isCommandExecuted\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"commandId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"sourceChain\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"sourceAddress\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"payloadHash\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"isContractCallAndMintApproved\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"commandId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"sourceChain\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"sourceAddress\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"payloadHash\",\"type\":\"bytes32\"}],\"name\":\"isContractCallApproved\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"params\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"mintToken\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"destinationChain\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"destinationAddress\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"sendToken\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string[]\",\"name\":\"symbols\",\"type\":\"string[]\"},{\"internalType\":\"uint256[]\",\"name\":\"limits\",\"type\":\"uint256[]\"}],\"name\":\"setTokenDailyMintLimits\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"params\",\"type\":\"bytes\"}],\"name\":\"setup\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"}],\"name\":\"tokenAddresses\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"}],\"name\":\"tokenDailyMintAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"}],\"name\":\"tokenDailyMintLimit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"tokenFrozen\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"newOperatorsData\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"transferOperatorship\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"newImplementationCodeHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"setupParams\",\"type\":\"bytes\"}],\"name\":\"upgrade\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"commandId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"sourceChain\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"sourceAddress\",\"type\":\"string\"},{\"internalType\":\"bytes32\",\"name\":\"payloadHash\",\"type\":\"bytes32\"}],\"name\":\"validateContractCall\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"valid\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"commandId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"sourceChain\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"sourceAddress\",\"type\":\"string\"},{\"internalType\":\"bytes32\",\"name\":\"payloadHash\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"validateContractCallAndMint\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"valid\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"adminEpoch()\":{\"details\":\"Returns the current `adminEpoch`.\"},\"adminThreshold(uint256)\":{\"details\":\"Returns the admin threshold for a given `adminEpoch`.\"},\"admins(uint256)\":{\"details\":\"Returns the array of admins within a given `adminEpoch`.\"}},\"stateVariables\":{\"KEY_IMPLEMENTATION\":{\"details\":\"Storage slot with the address of the current factory. `keccak256('eip1967.proxy.implementation') - 1`.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@axelar-network/axelar-cgp-solidity/contracts/AxelarGateway.sol\":\"AxelarGateway\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1000},\"remappings\":[]},\"sources\":{\"@axelar-network/axelar-cgp-solidity/contracts/AdminMultisigBase.sol\":{\"keccak256\":\"0x625f093d87b5a34722f7ccb270e4cb63b77f9f82c5123974b82afddd3b02a0b9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ce2310cce667d4dd80016424572753ba5921224e2ade80fa7a4d3ace7c60f667\",\"dweb:/ipfs/QmR9edGpuyuxMYHQkDaC7Zumnm9tbtLXARgMVqz9KFzFui\"]},\"@axelar-network/axelar-cgp-solidity/contracts/AxelarGateway.sol\":{\"keccak256\":\"0xb5150786dd0bdc44de481d136c54fdef727d05f419f2b85fa3c690beff930b74\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3d5e6e62ee5d2937680378635b4abb136a588e655bb159130fa7b47569ba956d\",\"dweb:/ipfs/QmQenKKMWdRmhdL6oGPWj4ZzzMQHRFJakKCBrnsdoWRDBR\"]},\"@axelar-network/axelar-cgp-solidity/contracts/DepositHandler.sol\":{\"keccak256\":\"0x5b4bc062482be3f8dd95774d48f05b5edae19fc2768b509db687b9ad1cfd300c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a0a9de2fbb742825e692fe4b5c4d9e770e230c6685f697def072e5c1f432caa5\",\"dweb:/ipfs/QmRZxBayzsQghyTpZfiUJQTJ61hXL2o4vweqLQkHP5XSbE\"]},\"@axelar-network/axelar-cgp-solidity/contracts/ECDSA.sol\":{\"keccak256\":\"0x6bab2891fba4c6a333665ce1ff97b22407d31877163d1e729ccfaa221b0baf96\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4069d2cbffc6f11af86ad299d34c6db62e492b7f1b3b7c45adec1f5d34995f07\",\"dweb:/ipfs/QmVAq2RPLdHrfcPLtrQ3XbgZUYH9oLfvEK95pNeZmj8vRo\"]},\"@axelar-network/axelar-cgp-solidity/contracts/EternalStorage.sol\":{\"keccak256\":\"0x112fe354a00bc09d30d7e914cd9b6680df3830a6118ce806b6c1c92677a46be7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f0b5cdcf41522fd7c8bd390820845c89396af31fed48bf344743ce0826b729d\",\"dweb:/ipfs/QmUX6qUgzk8M84GNdHiVu6F1zSsUSXsG2kq6Vi7oybTFrE\"]},\"@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarAuth.sol\":{\"keccak256\":\"0x53c03308ec456c41f8f5f0b181a61bfab8a1162d4373a84cbeecddaeb629f836\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://54b4b3137dcd827929b82c62f18cb85fcfb086845a5a359162c5cd8765d24f4d\",\"dweb:/ipfs/QmWQX2YiqehDvvMi5fVn5rJnet4Py9k5vP2Uy2mVWQ6noB\"]},\"@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarGateway.sol\":{\"keccak256\":\"0x1ab75989d0869cf2b919b82aec52e75b1cd34395dcf78d99a6d852eb46432462\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://35d3164de1eba58778bb57c9495056e933551cde899ab2e4326dccf00c137e93\",\"dweb:/ipfs/QmYqH4jvacF3fuRqGhXZ1cLzkuBhBwp4qtNdV4uoa2NivG\"]},\"@axelar-network/axelar-cgp-solidity/contracts/interfaces/IBurnableMintableCappedERC20.sol\":{\"keccak256\":\"0xc6c00f50351e67fbaf7e7b248392ebe32afac522beb1b494e03906cd4e88ad61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2352fe3bd79d78b4960b79dce04e5ff564d30c7348e80de9a8c7359b0a6aaec4\",\"dweb:/ipfs/QmaAv6xVJZ1NWUB959iwytgNcLffqfwvFPu8FskTBJ1SmB\"]},\"@axelar-network/axelar-cgp-solidity/contracts/interfaces/IERC20.sol\":{\"keccak256\":\"0x018cf796d80d65945fa85fa4fb49d926481ffe9316564ea251ee14836d661635\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://677295d77a7b45e0d06fc389f859bb39e1175e16a75e141f0ce06743258178d3\",\"dweb:/ipfs/QmdoJiu5PJ6D3NcZVGHVGCFVW8WkQbTdqok1AoTcG3NmYR\"]},\"@axelar-network/axelar-cgp-solidity/contracts/interfaces/IERC20Burn.sol\":{\"keccak256\":\"0x50a310a5be7aa6bc95085b1173291543c9e17b0f86b4a38f535cce28864a4627\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://849b5dd44f16d0d803806bd2bdb8219b61d6a10f269683cff888d6db4778e14f\",\"dweb:/ipfs/QmcvYH2uCZY9zmPWS6nG9YHt3XdncgnepMhhgbEmdv5KK7\"]},\"@axelar-network/axelar-cgp-solidity/contracts/interfaces/IERC20BurnFrom.sol\":{\"keccak256\":\"0xdbd8d686a6febad83bb51dcc2fd488b84ae27d50209f1f2ad2515a8c15681e49\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://858ded3c046b35dda8035b3eb4377e8510e1c2afc7f12ad9da1d9ee7a8559b81\",\"dweb:/ipfs/QmT284Vxz61VCxX6A7VcxgkLZgwQdmiKGpk1jAngJ6TDXQ\"]},\"@axelar-network/axelar-cgp-solidity/contracts/interfaces/IERC20Permit.sol\":{\"keccak256\":\"0xd0f2210276eefeceae0ba6590c9f515f89149e01d70c18a7b36c372250ed06cb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://78caf6d22f4239a95d84cfdb04e4fe8a122c29c967e4edacadc9f88ba0d2fee0\",\"dweb:/ipfs/QmR2Weu44fXPvgwfHEenMhTnMZFVTSuzTGsP8TQRtQLQEj\"]},\"@axelar-network/axelar-cgp-solidity/contracts/interfaces/IMintableCappedERC20.sol\":{\"keccak256\":\"0x8ba2122d3c0fb1d4256d01b34cc6d38847c17de3321ceb680a53d3267799b36e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://78a827661b41a592c046ee4fb87297e59373aa6bfdef14b301060f3682b5e678\",\"dweb:/ipfs/QmTHCkgPAH2Kc83TovmE61euxu7SuhvUGTsLByXn6jKTh3\"]},\"@axelar-network/axelar-cgp-solidity/contracts/interfaces/IOwnable.sol\":{\"keccak256\":\"0x7a6e3ad6c339fc3d5a3f16ab1778cfae2f6b38f4c1a100b9686cf05b4bceb408\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d3801fdbd1c5cbfc105703b0da12051f5d9e17d38a4768a79fd5110cfd8712b8\",\"dweb:/ipfs/QmUnTmkpxTcbebnjDVNkfhEPRnyLfnPMEnAh53zKeZPgj9\"]},\"@axelar-network/axelar-cgp-solidity/contracts/interfaces/ITokenDeployer.sol\":{\"keccak256\":\"0x6f8231cfc73f7c9b5b3660e8b4625c10fa09587403e3edcabaded3ddd386cc82\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc87357ef860569affce4fd1dfcffc8c09e7559d626aac7d170c8423113b8bd5\",\"dweb:/ipfs/QmU2gz2fTBmHa4gmQCZe4ttgnkKPwTakgAj6NrocANYxGg\"]}},\"version\":1}" - } - }, - "@axelar-network/axelar-cgp-solidity/contracts/AxelarGatewayProxy.sol": { - "AxelarGatewayProxy": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "gatewayImplementation", - "type": "address" - }, - { - "internalType": "bytes", - "name": "params", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "name": "InvalidImplementation", - "type": "error" - }, - { - "inputs": [], - "name": "SetupFailed", - "type": "error" - }, - { - "stateMutability": "payable", - "type": "fallback" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "key", - "type": "bytes32" - } - ], - "name": "getAddress", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "key", - "type": "bytes32" - } - ], - "name": "getBool", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "key", - "type": "bytes32" - } - ], - "name": "getBytes", - "outputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "key", - "type": "bytes32" - } - ], - "name": "getInt", - "outputs": [ - { - "internalType": "int256", - "name": "", - "type": "int256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "key", - "type": "bytes32" - } - ], - "name": "getString", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "key", - "type": "bytes32" - } - ], - "name": "getUint", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "params", - "type": "bytes" - } - ], - "name": "setup", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "stateMutability": "payable", - "type": "receive" - } - ], - "evm": { - "bytecode": { - "functionDebugData": { - "@_3133": { - "entryPoint": null, - "id": 3133, - "parameterSlots": 2, - "returnSlots": 0 - }, - "@_setAddress_4185": { - "entryPoint": null, - "id": 4185, - "parameterSlots": 2, - "returnSlots": 0 - }, - "abi_decode_tuple_t_addresst_bytes_memory_ptr_fromMemory": { - "entryPoint": 461, - "id": null, - "parameterSlots": 2, - "returnSlots": 2 - }, - "abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed": { - "entryPoint": 718, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_encode_tuple_t_bytes_memory_ptr__to_t_bytes_memory_ptr__fromStack_reversed": { - "entryPoint": 667, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "copy_memory_to_memory": { - "entryPoint": 413, - "id": null, - "parameterSlots": 3, - "returnSlots": 0 - }, - "panic_error_0x41": { - "entryPoint": 391, - "id": null, - "parameterSlots": 0, - "returnSlots": 0 - } - }, - "generatedSources": [ - { - "ast": { - "nodeType": "YulBlock", - "src": "0:2126:34", - "statements": [ - { - "nodeType": "YulBlock", - "src": "6:3:34", - "statements": [] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "46:95:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "63:1:34", - "type": "", - "value": "0" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "70:3:34", - "type": "", - "value": "224" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "75:10:34", - "type": "", - "value": "0x4e487b71" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "66:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "66:20:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "56:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "56:31:34" - }, - "nodeType": "YulExpressionStatement", - "src": "56:31:34" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "103:1:34", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "106:4:34", - "type": "", - "value": "0x41" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "96:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "96:15:34" - }, - "nodeType": "YulExpressionStatement", - "src": "96:15:34" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "127:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "130:4:34", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "120:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "120:15:34" - }, - "nodeType": "YulExpressionStatement", - "src": "120:15:34" - } - ] - }, - "name": "panic_error_0x41", - "nodeType": "YulFunctionDefinition", - "src": "14:127:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "199:205:34", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "209:10:34", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "218:1:34", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "i", - "nodeType": "YulTypedName", - "src": "213:1:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "278:63:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "303:3:34" - }, - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "308:1:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "299:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "299:11:34" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "322:3:34" - }, - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "327:1:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "318:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "318:11:34" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "312:5:34" - }, - "nodeType": "YulFunctionCall", - "src": "312:18:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "292:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "292:39:34" - }, - "nodeType": "YulExpressionStatement", - "src": "292:39:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "239:1:34" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "242:6:34" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "236:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "236:13:34" - }, - "nodeType": "YulForLoop", - "post": { - "nodeType": "YulBlock", - "src": "250:19:34", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "252:15:34", - "value": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "261:1:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "264:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "257:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "257:10:34" - }, - "variableNames": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "252:1:34" - } - ] - } - ] - }, - "pre": { - "nodeType": "YulBlock", - "src": "232:3:34", - "statements": [] - }, - "src": "228:113:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "367:31:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "380:3:34" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "385:6:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "376:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "376:16:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "394:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "369:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "369:27:34" - }, - "nodeType": "YulExpressionStatement", - "src": "369:27:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "356:1:34" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "359:6:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "353:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "353:13:34" - }, - "nodeType": "YulIf", - "src": "350:48:34" - } - ] - }, - "name": "copy_memory_to_memory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "src", - "nodeType": "YulTypedName", - "src": "177:3:34", - "type": "" - }, - { - "name": "dst", - "nodeType": "YulTypedName", - "src": "182:3:34", - "type": "" - }, - { - "name": "length", - "nodeType": "YulTypedName", - "src": "187:6:34", - "type": "" - } - ], - "src": "146:258:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "516:943:34", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "562:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "571:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "574:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "564:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "564:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "564:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "537:7:34" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "546:9:34" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "533:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "533:23:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "558:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "529:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "529:32:34" - }, - "nodeType": "YulIf", - "src": "526:52:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "587:29:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "606:9:34" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "600:5:34" - }, - "nodeType": "YulFunctionCall", - "src": "600:16:34" - }, - "variables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "591:5:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "679:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "688:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "691:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "681:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "681:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "681:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "638:5:34" - }, - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "649:5:34" - }, - { - "arguments": [ - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "664:3:34", - "type": "", - "value": "160" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "669:1:34", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "660:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "660:11:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "673:1:34", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "656:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "656:19:34" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "645:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "645:31:34" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "635:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "635:42:34" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "628:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "628:50:34" - }, - "nodeType": "YulIf", - "src": "625:70:34" - }, - { - "nodeType": "YulAssignment", - "src": "704:15:34", - "value": { - "name": "value", - "nodeType": "YulIdentifier", - "src": "714:5:34" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "704:6:34" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "728:39:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "752:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "763:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "748:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "748:18:34" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "742:5:34" - }, - "nodeType": "YulFunctionCall", - "src": "742:25:34" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "732:6:34", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "776:28:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "794:2:34", - "type": "", - "value": "64" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "798:1:34", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "790:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "790:10:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "802:1:34", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "786:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "786:18:34" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "780:2:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "831:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "840:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "843:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "833:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "833:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "833:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "819:6:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "827:2:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "816:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "816:14:34" - }, - "nodeType": "YulIf", - "src": "813:34:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "856:32:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "870:9:34" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "881:6:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "866:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "866:22:34" - }, - "variables": [ - { - "name": "_2", - "nodeType": "YulTypedName", - "src": "860:2:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "936:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "945:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "948:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "938:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "938:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "938:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "915:2:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "919:4:34", - "type": "", - "value": "0x1f" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "911:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "911:13:34" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "926:7:34" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "907:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "907:27:34" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "900:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "900:35:34" - }, - "nodeType": "YulIf", - "src": "897:55:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "961:19:34", - "value": { - "arguments": [ - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "977:2:34" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "971:5:34" - }, - "nodeType": "YulFunctionCall", - "src": "971:9:34" - }, - "variables": [ - { - "name": "_3", - "nodeType": "YulTypedName", - "src": "965:2:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1003:22:34", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x41", - "nodeType": "YulIdentifier", - "src": "1005:16:34" - }, - "nodeType": "YulFunctionCall", - "src": "1005:18:34" - }, - "nodeType": "YulExpressionStatement", - "src": "1005:18:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "_3", - "nodeType": "YulIdentifier", - "src": "995:2:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "999:2:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "992:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "992:10:34" - }, - "nodeType": "YulIf", - "src": "989:36:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1034:17:34", - "value": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1048:2:34", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "1044:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1044:7:34" - }, - "variables": [ - { - "name": "_4", - "nodeType": "YulTypedName", - "src": "1038:2:34", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1060:23:34", - "value": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1080:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "1074:5:34" - }, - "nodeType": "YulFunctionCall", - "src": "1074:9:34" - }, - "variables": [ - { - "name": "memPtr", - "nodeType": "YulTypedName", - "src": "1064:6:34", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1092:71:34", - "value": { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "1114:6:34" - }, - { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "_3", - "nodeType": "YulIdentifier", - "src": "1138:2:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1142:4:34", - "type": "", - "value": "0x1f" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1134:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1134:13:34" - }, - { - "name": "_4", - "nodeType": "YulIdentifier", - "src": "1149:2:34" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "1130:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1130:22:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1154:2:34", - "type": "", - "value": "63" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1126:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1126:31:34" - }, - { - "name": "_4", - "nodeType": "YulIdentifier", - "src": "1159:2:34" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "1122:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1122:40:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1110:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1110:53:34" - }, - "variables": [ - { - "name": "newFreePtr", - "nodeType": "YulTypedName", - "src": "1096:10:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1222:22:34", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x41", - "nodeType": "YulIdentifier", - "src": "1224:16:34" - }, - "nodeType": "YulFunctionCall", - "src": "1224:18:34" - }, - "nodeType": "YulExpressionStatement", - "src": "1224:18:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "newFreePtr", - "nodeType": "YulIdentifier", - "src": "1181:10:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "1193:2:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "1178:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "1178:18:34" - }, - { - "arguments": [ - { - "name": "newFreePtr", - "nodeType": "YulIdentifier", - "src": "1201:10:34" - }, - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "1213:6:34" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "1198:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "1198:22:34" - } - ], - "functionName": { - "name": "or", - "nodeType": "YulIdentifier", - "src": "1175:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "1175:46:34" - }, - "nodeType": "YulIf", - "src": "1172:72:34" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1260:2:34", - "type": "", - "value": "64" - }, - { - "name": "newFreePtr", - "nodeType": "YulIdentifier", - "src": "1264:10:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1253:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "1253:22:34" - }, - "nodeType": "YulExpressionStatement", - "src": "1253:22:34" - }, - { - "expression": { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "1291:6:34" - }, - { - "name": "_3", - "nodeType": "YulIdentifier", - "src": "1299:2:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1284:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "1284:18:34" - }, - "nodeType": "YulExpressionStatement", - "src": "1284:18:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1348:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1357:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1360:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "1350:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "1350:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "1350:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "1325:2:34" - }, - { - "name": "_3", - "nodeType": "YulIdentifier", - "src": "1329:2:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1321:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1321:11:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1334:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1317:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1317:20:34" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "1339:7:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "1314:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "1314:33:34" - }, - "nodeType": "YulIf", - "src": "1311:53:34" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "1399:2:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1403:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1395:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1395:11:34" - }, - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "1412:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1420:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1408:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1408:15:34" - }, - { - "name": "_3", - "nodeType": "YulIdentifier", - "src": "1425:2:34" - } - ], - "functionName": { - "name": "copy_memory_to_memory", - "nodeType": "YulIdentifier", - "src": "1373:21:34" - }, - "nodeType": "YulFunctionCall", - "src": "1373:55:34" - }, - "nodeType": "YulExpressionStatement", - "src": "1373:55:34" - }, - { - "nodeType": "YulAssignment", - "src": "1437:16:34", - "value": { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "1447:6:34" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "1437:6:34" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_addresst_bytes_memory_ptr_fromMemory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "474:9:34", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "485:7:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "497:6:34", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "505:6:34", - "type": "" - } - ], - "src": "409:1050:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1583:262:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1600:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1611:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1593:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "1593:21:34" - }, - "nodeType": "YulExpressionStatement", - "src": "1593:21:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1623:27:34", - "value": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1643:6:34" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "1637:5:34" - }, - "nodeType": "YulFunctionCall", - "src": "1637:13:34" - }, - "variables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "1627:6:34", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1670:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1681:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1666:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1666:18:34" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "1686:6:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1659:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "1659:34:34" - }, - "nodeType": "YulExpressionStatement", - "src": "1659:34:34" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1728:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1736:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1724:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1724:15:34" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1745:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1756:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1741:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1741:18:34" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "1761:6:34" - } - ], - "functionName": { - "name": "copy_memory_to_memory", - "nodeType": "YulIdentifier", - "src": "1702:21:34" - }, - "nodeType": "YulFunctionCall", - "src": "1702:66:34" - }, - "nodeType": "YulExpressionStatement", - "src": "1702:66:34" - }, - { - "nodeType": "YulAssignment", - "src": "1777:62:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1793:9:34" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "1812:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1820:2:34", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1808:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1808:15:34" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1829:2:34", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "1825:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1825:7:34" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "1804:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1804:29:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1789:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1789:45:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1836:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1785:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1785:54:34" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "1777:4:34" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_bytes_memory_ptr__to_t_bytes_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "1552:9:34", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "1563:6:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "1574:4:34", - "type": "" - } - ], - "src": "1464:381:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1987:137:34", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "1997:27:34", - "value": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "2017:6:34" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "2011:5:34" - }, - "nodeType": "YulFunctionCall", - "src": "2011:13:34" - }, - "variables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "2001:6:34", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "2059:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2067:4:34", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2055:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "2055:17:34" - }, - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "2074:3:34" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "2079:6:34" - } - ], - "functionName": { - "name": "copy_memory_to_memory", - "nodeType": "YulIdentifier", - "src": "2033:21:34" - }, - "nodeType": "YulFunctionCall", - "src": "2033:53:34" - }, - "nodeType": "YulExpressionStatement", - "src": "2033:53:34" - }, - { - "nodeType": "YulAssignment", - "src": "2095:23:34", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "2106:3:34" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "2111:6:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2102:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "2102:16:34" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "2095:3:34" - } - ] - } - ] - }, - "name": "abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "1963:3:34", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "1968:6:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "1979:3:34", - "type": "" - } - ], - "src": "1850:274:34" - } - ] - }, - "contents": "{\n { }\n function panic_error_0x41()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x41)\n revert(0, 0x24)\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 abi_decode_tuple_t_addresst_bytes_memory_ptr_fromMemory(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n let value := mload(headStart)\n if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n value0 := value\n let offset := mload(add(headStart, 32))\n let _1 := sub(shl(64, 1), 1)\n if gt(offset, _1) { revert(0, 0) }\n let _2 := add(headStart, offset)\n if iszero(slt(add(_2, 0x1f), dataEnd)) { revert(0, 0) }\n let _3 := mload(_2)\n if gt(_3, _1) { panic_error_0x41() }\n let _4 := not(31)\n let memPtr := mload(64)\n let newFreePtr := add(memPtr, and(add(and(add(_3, 0x1f), _4), 63), _4))\n if or(gt(newFreePtr, _1), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n mstore(memPtr, _3)\n if gt(add(add(_2, _3), 32), dataEnd) { revert(0, 0) }\n copy_memory_to_memory(add(_2, 32), add(memPtr, 32), _3)\n value1 := memPtr\n }\n function abi_encode_tuple_t_bytes_memory_ptr__to_t_bytes_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n {\n mstore(headStart, 32)\n let length := mload(value0)\n mstore(add(headStart, 32), length)\n copy_memory_to_memory(add(value0, 32), add(headStart, 64), length)\n tail := add(add(headStart, and(add(length, 31), not(31))), 64)\n }\n function abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value0) -> end\n {\n let length := mload(value0)\n copy_memory_to_memory(add(value0, 0x20), pos, length)\n end := add(pos, length)\n }\n}", - "id": 34, - "language": "Yul", - "name": "#utility.yul" - } - ], - "linkReferences": {}, - "object": "608060405234801561001057600080fd5b5060405161081d38038061081d83398101604081905261002f916101cd565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60005260026020527f11141f466c69fd409e1990e063b49cd6d61ed2ecff27a2e402e259ca6b9a01a380546001600160a01b0319166001600160a01b0384161790556001600160a01b0382163b6100ba5760405163340aafcd60e11b815260040160405180910390fd5b6000826001600160a01b0316639ded06df60e01b836040516024016100df919061029b565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b031990941693909317909252905161011d91906102ce565b600060405180830381855af49150503d8060008114610158576040519150601f19603f3d011682016040523d82523d6000602084013e61015d565b606091505b505090508061017f576040516397905dfb60e01b815260040160405180910390fd5b5050506102ea565b634e487b7160e01b600052604160045260246000fd5b60005b838110156101b85781810151838201526020016101a0565b838111156101c7576000848401525b50505050565b600080604083850312156101e057600080fd5b82516001600160a01b03811681146101f757600080fd5b60208401519092506001600160401b038082111561021457600080fd5b818501915085601f83011261022857600080fd5b81518181111561023a5761023a610187565b604051601f8201601f19908116603f0116810190838211818310171561026257610262610187565b8160405282815288602084870101111561027b57600080fd5b61028c83602083016020880161019d565b80955050505050509250929050565b60208152600082518060208401526102ba81604085016020870161019d565b601f01601f19169190910160400192915050565b600082516102e081846020870161019d565b9190910192915050565b610524806102f96000396000f3fe6080604052600436106100745760003560e01c80639ded06df1161004e5780639ded06df14610240578063bd02d0f514610261578063c031a1801461029c578063dc97d962146102bc576100df565b806321f8a721146101665780637ae1cfca146101d3578063986e791a14610213576100df565b366100df576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600860248201527f4e4f5f4554484552000000000000000000000000000000000000000000000000604482015260640160405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc600090815260026020527f11141f466c69fd409e1990e063b49cd6d61ed2ecff27a2e402e259ca6b9a01a35473ffffffffffffffffffffffffffffffffffffffff169036908037600080366000845af43d6000803e808015610161573d6000f35b3d6000fd5b34801561017257600080fd5b506101a96101813660046103a8565b60009081526002602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b3480156101df57600080fd5b506102036101ee3660046103a8565b60009081526004602052604090205460ff1690565b60405190151581526020016101ca565b34801561021f57600080fd5b5061023361022e3660046103a8565b6102e9565b6040516101ca919061040e565b34801561024c57600080fd5b5061025f61025b366004610428565b5050565b005b34801561026d57600080fd5b5061028e61027c3660046103a8565b60009081526020819052604090205490565b6040519081526020016101ca565b3480156102a857600080fd5b506102336102b73660046103a8565b61038b565b3480156102c857600080fd5b5061028e6102d73660046103a8565b60009081526005602052604090205490565b60008181526001602052604090208054606091906103069061049a565b80601f01602080910402602001604051908101604052809291908181526020018280546103329061049a565b801561037f5780601f106103545761010080835404028352916020019161037f565b820191906000526020600020905b81548152906001019060200180831161036257829003601f168201915b50505050509050919050565b60008181526003602052604090208054606091906103069061049a565b6000602082840312156103ba57600080fd5b5035919050565b6000815180845260005b818110156103e7576020818501810151868301820152016103cb565b818111156103f9576000602083870101525b50601f01601f19169290920160200192915050565b60208152600061042160208301846103c1565b9392505050565b6000806020838503121561043b57600080fd5b823567ffffffffffffffff8082111561045357600080fd5b818501915085601f83011261046757600080fd5b81358181111561047657600080fd5b86602082850101111561048857600080fd5b60209290920196919550909350505050565b600181811c908216806104ae57607f821691505b602082108114156104e8577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b5091905056fea2646970667358221220da07925d887eb3a3e5cdb417a9a47311901fe909db7c0170b70bfd6b54e3f5d764736f6c63430008090033", - "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH2 0x81D CODESIZE SUB DUP1 PUSH2 0x81D DUP4 CODECOPY DUP2 ADD PUSH1 0x40 DUP2 SWAP1 MSTORE PUSH2 0x2F SWAP2 PUSH2 0x1CD JUMP JUMPDEST PUSH32 0x360894A13BA1A3210667C828492DB98DCA3E2076CC3735A920A3CA505D382BBC PUSH1 0x0 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH32 0x11141F466C69FD409E1990E063B49CD6D61ED2ECFF27A2E402E259CA6B9A01A3 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND OR SWAP1 SSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND EXTCODESIZE PUSH2 0xBA JUMPI PUSH1 0x40 MLOAD PUSH4 0x340AAFCD PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x9DED06DF PUSH1 0xE0 SHL DUP4 PUSH1 0x40 MLOAD PUSH1 0x24 ADD PUSH2 0xDF SWAP2 SWAP1 PUSH2 0x29B JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F NOT DUP2 DUP5 SUB ADD DUP2 MSTORE SWAP2 DUP2 MSTORE PUSH1 0x20 DUP3 ADD DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT SWAP1 SWAP5 AND SWAP4 SWAP1 SWAP4 OR SWAP1 SWAP3 MSTORE SWAP1 MLOAD PUSH2 0x11D SWAP2 SWAP1 PUSH2 0x2CE JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 GAS DELEGATECALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x158 JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x15D JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP POP SWAP1 POP DUP1 PUSH2 0x17F JUMPI PUSH1 0x40 MLOAD PUSH4 0x97905DFB PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP POP POP PUSH2 0x2EA JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x1B8 JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x1A0 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x1C7 JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1E0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x1F7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x20 DUP5 ADD MLOAD SWAP1 SWAP3 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x214 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP6 ADD SWAP2 POP DUP6 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x228 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD DUP2 DUP2 GT ISZERO PUSH2 0x23A JUMPI PUSH2 0x23A PUSH2 0x187 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT SWAP1 DUP2 AND PUSH1 0x3F ADD AND DUP2 ADD SWAP1 DUP4 DUP3 GT DUP2 DUP4 LT OR ISZERO PUSH2 0x262 JUMPI PUSH2 0x262 PUSH2 0x187 JUMP JUMPDEST DUP2 PUSH1 0x40 MSTORE DUP3 DUP2 MSTORE DUP9 PUSH1 0x20 DUP5 DUP8 ADD ADD GT ISZERO PUSH2 0x27B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x28C DUP4 PUSH1 0x20 DUP4 ADD PUSH1 0x20 DUP9 ADD PUSH2 0x19D JUMP JUMPDEST DUP1 SWAP6 POP POP POP POP POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 DUP3 MLOAD DUP1 PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x2BA DUP2 PUSH1 0x40 DUP6 ADD PUSH1 0x20 DUP8 ADD PUSH2 0x19D JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP2 SWAP1 SWAP2 ADD PUSH1 0x40 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 MLOAD PUSH2 0x2E0 DUP2 DUP5 PUSH1 0x20 DUP8 ADD PUSH2 0x19D JUMP JUMPDEST SWAP2 SWAP1 SWAP2 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x524 DUP1 PUSH2 0x2F9 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x74 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x9DED06DF GT PUSH2 0x4E JUMPI DUP1 PUSH4 0x9DED06DF EQ PUSH2 0x240 JUMPI DUP1 PUSH4 0xBD02D0F5 EQ PUSH2 0x261 JUMPI DUP1 PUSH4 0xC031A180 EQ PUSH2 0x29C JUMPI DUP1 PUSH4 0xDC97D962 EQ PUSH2 0x2BC JUMPI PUSH2 0xDF JUMP JUMPDEST DUP1 PUSH4 0x21F8A721 EQ PUSH2 0x166 JUMPI DUP1 PUSH4 0x7AE1CFCA EQ PUSH2 0x1D3 JUMPI DUP1 PUSH4 0x986E791A EQ PUSH2 0x213 JUMPI PUSH2 0xDF JUMP JUMPDEST CALLDATASIZE PUSH2 0xDF JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x8 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4E4F5F4554484552000000000000000000000000000000000000000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH32 0x360894A13BA1A3210667C828492DB98DCA3E2076CC3735A920A3CA505D382BBC PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH32 0x11141F466C69FD409E1990E063B49CD6D61ED2ECFF27A2E402E259CA6B9A01A3 SLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 CALLDATASIZE SWAP1 DUP1 CALLDATACOPY PUSH1 0x0 DUP1 CALLDATASIZE PUSH1 0x0 DUP5 GAS DELEGATECALL RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY DUP1 DUP1 ISZERO PUSH2 0x161 JUMPI RETURNDATASIZE PUSH1 0x0 RETURN JUMPDEST RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x172 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1A9 PUSH2 0x181 CALLDATASIZE PUSH1 0x4 PUSH2 0x3A8 JUMP JUMPDEST PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1DF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x203 PUSH2 0x1EE CALLDATASIZE PUSH1 0x4 PUSH2 0x3A8 JUMP JUMPDEST PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x1CA JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x21F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x233 PUSH2 0x22E CALLDATASIZE PUSH1 0x4 PUSH2 0x3A8 JUMP JUMPDEST PUSH2 0x2E9 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1CA SWAP2 SWAP1 PUSH2 0x40E JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x24C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x25F PUSH2 0x25B CALLDATASIZE PUSH1 0x4 PUSH2 0x428 JUMP JUMPDEST POP POP JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x26D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x28E PUSH2 0x27C CALLDATASIZE PUSH1 0x4 PUSH2 0x3A8 JUMP JUMPDEST PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x1CA JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2A8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x233 PUSH2 0x2B7 CALLDATASIZE PUSH1 0x4 PUSH2 0x3A8 JUMP JUMPDEST PUSH2 0x38B JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2C8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x28E PUSH2 0x2D7 CALLDATASIZE PUSH1 0x4 PUSH2 0x3A8 JUMP JUMPDEST PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x60 SWAP2 SWAP1 PUSH2 0x306 SWAP1 PUSH2 0x49A 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 0x332 SWAP1 PUSH2 0x49A JUMP JUMPDEST DUP1 ISZERO PUSH2 0x37F JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x354 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x37F 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 0x362 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x60 SWAP2 SWAP1 PUSH2 0x306 SWAP1 PUSH2 0x49A JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x3BA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x3E7 JUMPI PUSH1 0x20 DUP2 DUP6 ADD DUP2 ADD MLOAD DUP7 DUP4 ADD DUP3 ADD MSTORE ADD PUSH2 0x3CB JUMP JUMPDEST DUP2 DUP2 GT ISZERO PUSH2 0x3F9 JUMPI PUSH1 0x0 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 PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0x421 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x3C1 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x20 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x43B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x453 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP6 ADD SWAP2 POP DUP6 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x467 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD DUP2 DUP2 GT ISZERO PUSH2 0x476 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP7 PUSH1 0x20 DUP3 DUP6 ADD ADD GT ISZERO PUSH2 0x488 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x20 SWAP3 SWAP1 SWAP3 ADD SWAP7 SWAP2 SWAP6 POP SWAP1 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0x4AE JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH2 0x4E8 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 0xDA SMOD SWAP3 0x5D DUP9 PUSH31 0xB3A3E5CDB417A9A47311901FE909DB7C0170B70BFD6B54E3F5D764736F6C63 NUMBER STOP ADDMOD MULMOD STOP CALLER ", - "sourceMap": "180:1384:3:-:0;;;538:392;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;464:66;1550:20:9;;:15;:20;;;:28;;-1:-1:-1;;;;;;1550:28:9;-1:-1:-1;;;;;1550:28:9;;;;;-1:-1:-1;;;;;681:33:3;;;677:74;;728:23;;-1:-1:-1;;;728:23:3;;;;;;;;;;;677:74;763:12;781:21;-1:-1:-1;;;;;781:34:3;839:29;;;870:6;816:61;;;;;;;;:::i;:::-;;;;-1:-1:-1;;816:61:3;;;;;;;;;;;;;;-1:-1:-1;;;;;816:61:3;-1:-1:-1;;;;;;816:61:3;;;;;;;;;;781:97;;;;816:61;781:97;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;762:116;;;894:7;889:34;;910:13;;-1:-1:-1;;;910:13:3;;;;;;;;;;;889:34;602:328;538:392;;180:1384;;14:127:34;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:258;218:1;228:113;242:6;239:1;236:13;228:113;;;318:11;;;312:18;299:11;;;292:39;264:2;257:10;228:113;;;359:6;356:1;353:13;350:48;;;394:1;385:6;380:3;376:16;369:27;350:48;;146:258;;;:::o;409:1050::-;497:6;505;558:2;546:9;537:7;533:23;529:32;526:52;;;574:1;571;564:12;526:52;600:16;;-1:-1:-1;;;;;645:31:34;;635:42;;625:70;;691:1;688;681:12;625:70;763:2;748:18;;742:25;714:5;;-1:-1:-1;;;;;;816:14:34;;;813:34;;;843:1;840;833:12;813:34;881:6;870:9;866:22;856:32;;926:7;919:4;915:2;911:13;907:27;897:55;;948:1;945;938:12;897:55;977:2;971:9;999:2;995;992:10;989:36;;;1005:18;;:::i;:::-;1080:2;1074:9;1048:2;1134:13;;-1:-1:-1;;1130:22:34;;;1154:2;1126:31;1122:40;1110:53;;;1178:18;;;1198:22;;;1175:46;1172:72;;;1224:18;;:::i;:::-;1264:10;1260:2;1253:22;1299:2;1291:6;1284:18;1339:7;1334:2;1329;1325;1321:11;1317:20;1314:33;1311:53;;;1360:1;1357;1350:12;1311:53;1373:55;1425:2;1420;1412:6;1408:15;1403:2;1399;1395:11;1373:55;:::i;:::-;1447:6;1437:16;;;;;;;409:1050;;;;;:::o;1464:381::-;1611:2;1600:9;1593:21;1574:4;1643:6;1637:13;1686:6;1681:2;1670:9;1666:18;1659:34;1702:66;1761:6;1756:2;1745:9;1741:18;1736:2;1728:6;1724:15;1702:66;:::i;:::-;1829:2;1808:15;-1:-1:-1;;1804:29:34;1789:45;;;;1836:2;1785:54;;1464:381;-1:-1:-1;;1464:381:34:o;1850:274::-;1979:3;2017:6;2011:13;2033:53;2079:6;2074:3;2067:4;2059:6;2055:17;2033:53;:::i;:::-;2102:16;;;;;1850:274;-1:-1:-1;;1850:274:34:o;:::-;180:1384:3;;;;;;" - }, - "deployedBytecode": { - "functionDebugData": { - "@_3150": { - "entryPoint": null, - "id": 3150, - "parameterSlots": 0, - "returnSlots": 0 - }, - "@_3158": { - "entryPoint": null, - "id": 3158, - "parameterSlots": 0, - "returnSlots": 0 - }, - "@getAddress_4107": { - "entryPoint": null, - "id": 4107, - "parameterSlots": 1, - "returnSlots": 1 - }, - "@getBool_4131": { - "entryPoint": null, - "id": 4131, - "parameterSlots": 1, - "returnSlots": 1 - }, - "@getBytes_4119": { - "entryPoint": 907, - "id": 4119, - "parameterSlots": 1, - "returnSlots": 1 - }, - "@getInt_4143": { - "entryPoint": null, - "id": 4143, - "parameterSlots": 1, - "returnSlots": 1 - }, - "@getString_4095": { - "entryPoint": 745, - "id": 4095, - "parameterSlots": 1, - "returnSlots": 1 - }, - "@getUint_4083": { - "entryPoint": null, - "id": 4083, - "parameterSlots": 1, - "returnSlots": 1 - }, - "@setup_3139": { - "entryPoint": null, - "id": 3139, - "parameterSlots": 2, - "returnSlots": 0 - }, - "abi_decode_tuple_t_bytes32": { - "entryPoint": 936, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_decode_tuple_t_bytes_calldata_ptr": { - "entryPoint": 1064, - "id": null, - "parameterSlots": 2, - "returnSlots": 2 - }, - "abi_encode_string": { - "entryPoint": 961, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_encode_tuple_t_address__to_t_address__fromStack_reversed": { - "entryPoint": null, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed": { - "entryPoint": null, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_encode_tuple_t_bytes_memory_ptr__to_t_bytes_memory_ptr__fromStack_reversed": { - "entryPoint": null, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_encode_tuple_t_int256__to_t_int256__fromStack_reversed": { - "entryPoint": null, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed": { - "entryPoint": 1038, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_encode_tuple_t_stringliteral_b68cb9b9759ba8ba6325584aa90c9b3a239dbea621253f8b5c521dd1ebe66aba__to_t_string_memory_ptr__fromStack_reversed": { - "entryPoint": null, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": { - "entryPoint": null, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "extract_byte_array_length": { - "entryPoint": 1178, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - } - }, - "generatedSources": [ - { - "ast": { - "nodeType": "YulBlock", - "src": "0:3280:34", - "statements": [ - { - "nodeType": "YulBlock", - "src": "6:3:34", - "statements": [] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "188:157:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "205:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "216:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "198:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "198:21:34" - }, - "nodeType": "YulExpressionStatement", - "src": "198:21:34" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "239:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "250:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "235:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "235:18:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "255:1:34", - "type": "", - "value": "8" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "228:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "228:29:34" - }, - "nodeType": "YulExpressionStatement", - "src": "228:29:34" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "277:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "288:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "273:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "273:18:34" - }, - { - "hexValue": "4e4f5f4554484552", - "kind": "string", - "nodeType": "YulLiteral", - "src": "293:10:34", - "type": "", - "value": "NO_ETHER" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "266:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "266:38:34" - }, - "nodeType": "YulExpressionStatement", - "src": "266:38:34" - }, - { - "nodeType": "YulAssignment", - "src": "313:26:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "325:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "336:2:34", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "321:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "321:18:34" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "313:4:34" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_b68cb9b9759ba8ba6325584aa90c9b3a239dbea621253f8b5c521dd1ebe66aba__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "165:9:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "179:4:34", - "type": "" - } - ], - "src": "14:331:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "420:110:34", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "466:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "475:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "478:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "468:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "468:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "468:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "441:7:34" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "450:9:34" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "437:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "437:23:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "462:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "433:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "433:32:34" - }, - "nodeType": "YulIf", - "src": "430:52:34" - }, - { - "nodeType": "YulAssignment", - "src": "491:33:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "514:9:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "501:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "501:23:34" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "491:6:34" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_bytes32", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "386:9:34", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "397:7:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "409:6:34", - "type": "" - } - ], - "src": "350:180:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "636:125:34", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "646:26:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "658:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "669:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "654:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "654:18:34" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "646:4:34" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "688:9:34" - }, - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "703:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "711:42:34", - "type": "", - "value": "0xffffffffffffffffffffffffffffffffffffffff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "699:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "699:55:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "681:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "681:74:34" - }, - "nodeType": "YulExpressionStatement", - "src": "681:74:34" - } - ] - }, - "name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "605:9:34", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "616:6:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "627:4:34", - "type": "" - } - ], - "src": "535:226:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "861:92:34", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "871:26:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "883:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "894:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "879:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "879:18:34" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "871:4:34" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "913:9:34" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "938:6:34" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "931:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "931:14:34" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "924:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "924:22:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "906:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "906:41:34" - }, - "nodeType": "YulExpressionStatement", - "src": "906:41:34" - } - ] - }, - "name": "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "830:9:34", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "841:6:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "852:4:34", - "type": "" - } - ], - "src": "766:187:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1008:422:34", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "1018:26:34", - "value": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "1038:5:34" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "1032:5:34" - }, - "nodeType": "YulFunctionCall", - "src": "1032:12:34" - }, - "variables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "1022:6:34", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "1060:3:34" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "1065:6:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1053:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "1053:19:34" - }, - "nodeType": "YulExpressionStatement", - "src": "1053:19:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1081:10:34", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1090:1:34", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "i", - "nodeType": "YulTypedName", - "src": "1085:1:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1152:110:34", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "1166:14:34", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1176:4:34", - "type": "", - "value": "0x20" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "1170:2:34", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "1208:3:34" - }, - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "1213:1:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1204:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1204:11:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "1217:2:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1200:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1200:20:34" - }, - { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "1236:5:34" - }, - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "1243:1:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1232:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1232:13:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "1247:2:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1228:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1228:22:34" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "1222:5:34" - }, - "nodeType": "YulFunctionCall", - "src": "1222:29:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1193:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "1193:59:34" - }, - "nodeType": "YulExpressionStatement", - "src": "1193:59:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "1111:1:34" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "1114:6:34" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "1108:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "1108:13:34" - }, - "nodeType": "YulForLoop", - "post": { - "nodeType": "YulBlock", - "src": "1122:21:34", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "1124:17:34", - "value": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "1133:1:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1136:4:34", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1129:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1129:12:34" - }, - "variableNames": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "1124:1:34" - } - ] - } - ] - }, - "pre": { - "nodeType": "YulBlock", - "src": "1104:3:34", - "statements": [] - }, - "src": "1100:162:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1296:62:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "1325:3:34" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "1330:6:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1321:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1321:16:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1339:4:34", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1317:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1317:27:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1346:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1310:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "1310:38:34" - }, - "nodeType": "YulExpressionStatement", - "src": "1310:38:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "1277:1:34" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "1280:6:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "1274:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "1274:13:34" - }, - "nodeType": "YulIf", - "src": "1271:87:34" - }, - { - "nodeType": "YulAssignment", - "src": "1367:57:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "1382:3:34" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "1395:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1403:2:34", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1391:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1391:15:34" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1412:2:34", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "1408:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1408:7:34" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "1387:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1387:29:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1378:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1378:39:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1419:4:34", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1374:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1374:50:34" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "1367:3:34" - } - ] - } - ] - }, - "name": "abi_encode_string", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "985:5:34", - "type": "" - }, - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "992:3:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "1000:3:34", - "type": "" - } - ], - "src": "958:472:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1556:99:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1573:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1584:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1566:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "1566:21:34" - }, - "nodeType": "YulExpressionStatement", - "src": "1566:21:34" - }, - { - "nodeType": "YulAssignment", - "src": "1596:53:34", - "value": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1622:6:34" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1634:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1645:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1630:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1630:18:34" - } - ], - "functionName": { - "name": "abi_encode_string", - "nodeType": "YulIdentifier", - "src": "1604:17:34" - }, - "nodeType": "YulFunctionCall", - "src": "1604:45:34" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "1596:4:34" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "1525:9:34", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "1536:6:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "1547:4:34", - "type": "" - } - ], - "src": "1435:220:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1749:502:34", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "1795:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1804:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1807:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "1797:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "1797:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "1797:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "1770:7:34" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1779:9:34" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "1766:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1766:23:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1791:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "1762:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1762:32:34" - }, - "nodeType": "YulIf", - "src": "1759:52:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1820:37:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1847:9:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "1834:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "1834:23:34" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "1824:6:34", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1866:28:34", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1876:18:34", - "type": "", - "value": "0xffffffffffffffff" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "1870:2:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1921:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1930:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1933:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "1923:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "1923:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "1923:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "1909:6:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "1917:2:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "1906:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "1906:14:34" - }, - "nodeType": "YulIf", - "src": "1903:34:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1946:32:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1960:9:34" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "1971:6:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1956:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1956:22:34" - }, - "variables": [ - { - "name": "_2", - "nodeType": "YulTypedName", - "src": "1950:2:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2026:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2035:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2038:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "2028:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "2028:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "2028:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "2005:2:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2009:4:34", - "type": "", - "value": "0x1f" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2001:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "2001:13:34" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "2016:7:34" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "1997:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1997:27:34" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "1990:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "1990:35:34" - }, - "nodeType": "YulIf", - "src": "1987:55:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "2051:30:34", - "value": { - "arguments": [ - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "2078:2:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "2065:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "2065:16:34" - }, - "variables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "2055:6:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2108:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2117:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2120:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "2110:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "2110:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "2110:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "2096:6:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "2104:2:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "2093:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "2093:14:34" - }, - "nodeType": "YulIf", - "src": "2090:34:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2174:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2183:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2186:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "2176:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "2176:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "2176:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "2147:2:34" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "2151:6:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2143:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "2143:15:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2160:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2139:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "2139:24:34" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "2165:7:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "2136:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "2136:37:34" - }, - "nodeType": "YulIf", - "src": "2133:57:34" - }, - { - "nodeType": "YulAssignment", - "src": "2199:21:34", - "value": { - "arguments": [ - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "2213:2:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2217:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2209:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "2209:11:34" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "2199:6:34" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "2229:16:34", - "value": { - "name": "length", - "nodeType": "YulIdentifier", - "src": "2239:6:34" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "2229:6:34" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_bytes_calldata_ptr", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "1707:9:34", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "1718:7:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "1730:6:34", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "1738:6:34", - "type": "" - } - ], - "src": "1660:591:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2357:76:34", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "2367:26:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2379:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2390:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2375:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "2375:18:34" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "2367:4:34" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2409:9:34" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "2420:6:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2402:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "2402:25:34" - }, - "nodeType": "YulExpressionStatement", - "src": "2402:25:34" - } - ] - }, - "name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "2326:9:34", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "2337:6:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "2348:4:34", - "type": "" - } - ], - "src": "2256:177:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2557:99:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2574:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2585:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2567:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "2567:21:34" - }, - "nodeType": "YulExpressionStatement", - "src": "2567:21:34" - }, - { - "nodeType": "YulAssignment", - "src": "2597:53:34", - "value": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "2623:6:34" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2635:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2646:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2631:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "2631:18:34" - } - ], - "functionName": { - "name": "abi_encode_string", - "nodeType": "YulIdentifier", - "src": "2605:17:34" - }, - "nodeType": "YulFunctionCall", - "src": "2605:45:34" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "2597:4:34" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_bytes_memory_ptr__to_t_bytes_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "2526:9:34", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "2537:6:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "2548:4:34", - "type": "" - } - ], - "src": "2438:218:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2760:76:34", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "2770:26:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2782:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2793:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2778:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "2778:18:34" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "2770:4:34" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2812:9:34" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "2823:6:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2805:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "2805:25:34" - }, - "nodeType": "YulExpressionStatement", - "src": "2805:25:34" - } - ] - }, - "name": "abi_encode_tuple_t_int256__to_t_int256__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "2729:9:34", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "2740:6:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "2751:4:34", - "type": "" - } - ], - "src": "2661:175:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2896:382:34", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "2906:22:34", - "value": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2920:1:34", - "type": "", - "value": "1" - }, - { - "name": "data", - "nodeType": "YulIdentifier", - "src": "2923:4:34" - } - ], - "functionName": { - "name": "shr", - "nodeType": "YulIdentifier", - "src": "2916:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "2916:12:34" - }, - "variableNames": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "2906:6:34" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "2937:38:34", - "value": { - "arguments": [ - { - "name": "data", - "nodeType": "YulIdentifier", - "src": "2967:4:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2973:1:34", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "2963:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "2963:12:34" - }, - "variables": [ - { - "name": "outOfPlaceEncoding", - "nodeType": "YulTypedName", - "src": "2941:18:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3014:31:34", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "3016:27:34", - "value": { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "3030:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3038:4:34", - "type": "", - "value": "0x7f" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "3026:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "3026:17:34" - }, - "variableNames": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "3016:6:34" - } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "outOfPlaceEncoding", - "nodeType": "YulIdentifier", - "src": "2994:18:34" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "2987:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "2987:26:34" - }, - "nodeType": "YulIf", - "src": "2984:61:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3104:168:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3125:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3128:77:34", - "type": "", - "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "3118:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "3118:88:34" - }, - "nodeType": "YulExpressionStatement", - "src": "3118:88:34" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3226:1:34", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3229:4:34", - "type": "", - "value": "0x22" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "3219:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "3219:15:34" - }, - "nodeType": "YulExpressionStatement", - "src": "3219:15:34" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3254:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3257:4:34", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "3247:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "3247:15:34" - }, - "nodeType": "YulExpressionStatement", - "src": "3247:15:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "outOfPlaceEncoding", - "nodeType": "YulIdentifier", - "src": "3060:18:34" - }, - { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "3083:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3091:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "3080:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "3080:14:34" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "3057:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "3057:38:34" - }, - "nodeType": "YulIf", - "src": "3054:218:34" - } - ] - }, - "name": "extract_byte_array_length", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "data", - "nodeType": "YulTypedName", - "src": "2876:4:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "2885:6:34", - "type": "" - } - ], - "src": "2841:437:34" - } - ] - }, - "contents": "{\n { }\n function abi_encode_tuple_t_stringliteral_b68cb9b9759ba8ba6325584aa90c9b3a239dbea621253f8b5c521dd1ebe66aba__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 8)\n mstore(add(headStart, 64), \"NO_ETHER\")\n tail := add(headStart, 96)\n }\n function abi_decode_tuple_t_bytes32(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n value0 := calldataload(headStart)\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_string(value, pos) -> end\n {\n let length := mload(value)\n mstore(pos, length)\n let i := 0\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), 0)\n }\n end := add(add(pos, and(add(length, 31), not(31))), 0x20)\n }\n function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n {\n mstore(headStart, 32)\n tail := abi_encode_string(value0, add(headStart, 32))\n }\n function abi_decode_tuple_t_bytes_calldata_ptr(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let offset := calldataload(headStart)\n let _1 := 0xffffffffffffffff\n if gt(offset, _1) { revert(0, 0) }\n let _2 := add(headStart, offset)\n if iszero(slt(add(_2, 0x1f), dataEnd)) { revert(0, 0) }\n let length := calldataload(_2)\n if gt(length, _1) { revert(0, 0) }\n if gt(add(add(_2, length), 32), dataEnd) { revert(0, 0) }\n value0 := add(_2, 32)\n value1 := length\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_bytes_memory_ptr__to_t_bytes_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n {\n mstore(headStart, 32)\n tail := abi_encode_string(value0, add(headStart, 32))\n }\n function abi_encode_tuple_t_int256__to_t_int256__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, value0)\n }\n function extract_byte_array_length(data) -> length\n {\n length := shr(1, data)\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": 34, - "language": "Yul", - "name": "#utility.yul" - } - ], - "immutableReferences": {}, - "linkReferences": {}, - "object": "6080604052600436106100745760003560e01c80639ded06df1161004e5780639ded06df14610240578063bd02d0f514610261578063c031a1801461029c578063dc97d962146102bc576100df565b806321f8a721146101665780637ae1cfca146101d3578063986e791a14610213576100df565b366100df576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600860248201527f4e4f5f4554484552000000000000000000000000000000000000000000000000604482015260640160405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc600090815260026020527f11141f466c69fd409e1990e063b49cd6d61ed2ecff27a2e402e259ca6b9a01a35473ffffffffffffffffffffffffffffffffffffffff169036908037600080366000845af43d6000803e808015610161573d6000f35b3d6000fd5b34801561017257600080fd5b506101a96101813660046103a8565b60009081526002602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b3480156101df57600080fd5b506102036101ee3660046103a8565b60009081526004602052604090205460ff1690565b60405190151581526020016101ca565b34801561021f57600080fd5b5061023361022e3660046103a8565b6102e9565b6040516101ca919061040e565b34801561024c57600080fd5b5061025f61025b366004610428565b5050565b005b34801561026d57600080fd5b5061028e61027c3660046103a8565b60009081526020819052604090205490565b6040519081526020016101ca565b3480156102a857600080fd5b506102336102b73660046103a8565b61038b565b3480156102c857600080fd5b5061028e6102d73660046103a8565b60009081526005602052604090205490565b60008181526001602052604090208054606091906103069061049a565b80601f01602080910402602001604051908101604052809291908181526020018280546103329061049a565b801561037f5780601f106103545761010080835404028352916020019161037f565b820191906000526020600020905b81548152906001019060200180831161036257829003601f168201915b50505050509050919050565b60008181526003602052604090208054606091906103069061049a565b6000602082840312156103ba57600080fd5b5035919050565b6000815180845260005b818110156103e7576020818501810151868301820152016103cb565b818111156103f9576000602083870101525b50601f01601f19169290920160200192915050565b60208152600061042160208301846103c1565b9392505050565b6000806020838503121561043b57600080fd5b823567ffffffffffffffff8082111561045357600080fd5b818501915085601f83011261046757600080fd5b81358181111561047657600080fd5b86602082850101111561048857600080fd5b60209290920196919550909350505050565b600181811c908216806104ae57607f821691505b602082108114156104e8577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b5091905056fea2646970667358221220da07925d887eb3a3e5cdb417a9a47311901fe909db7c0170b70bfd6b54e3f5d764736f6c63430008090033", - "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x74 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x9DED06DF GT PUSH2 0x4E JUMPI DUP1 PUSH4 0x9DED06DF EQ PUSH2 0x240 JUMPI DUP1 PUSH4 0xBD02D0F5 EQ PUSH2 0x261 JUMPI DUP1 PUSH4 0xC031A180 EQ PUSH2 0x29C JUMPI DUP1 PUSH4 0xDC97D962 EQ PUSH2 0x2BC JUMPI PUSH2 0xDF JUMP JUMPDEST DUP1 PUSH4 0x21F8A721 EQ PUSH2 0x166 JUMPI DUP1 PUSH4 0x7AE1CFCA EQ PUSH2 0x1D3 JUMPI DUP1 PUSH4 0x986E791A EQ PUSH2 0x213 JUMPI PUSH2 0xDF JUMP JUMPDEST CALLDATASIZE PUSH2 0xDF JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x8 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4E4F5F4554484552000000000000000000000000000000000000000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH32 0x360894A13BA1A3210667C828492DB98DCA3E2076CC3735A920A3CA505D382BBC PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH32 0x11141F466C69FD409E1990E063B49CD6D61ED2ECFF27A2E402E259CA6B9A01A3 SLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 CALLDATASIZE SWAP1 DUP1 CALLDATACOPY PUSH1 0x0 DUP1 CALLDATASIZE PUSH1 0x0 DUP5 GAS DELEGATECALL RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY DUP1 DUP1 ISZERO PUSH2 0x161 JUMPI RETURNDATASIZE PUSH1 0x0 RETURN JUMPDEST RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x172 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1A9 PUSH2 0x181 CALLDATASIZE PUSH1 0x4 PUSH2 0x3A8 JUMP JUMPDEST PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1DF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x203 PUSH2 0x1EE CALLDATASIZE PUSH1 0x4 PUSH2 0x3A8 JUMP JUMPDEST PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x1CA JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x21F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x233 PUSH2 0x22E CALLDATASIZE PUSH1 0x4 PUSH2 0x3A8 JUMP JUMPDEST PUSH2 0x2E9 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1CA SWAP2 SWAP1 PUSH2 0x40E JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x24C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x25F PUSH2 0x25B CALLDATASIZE PUSH1 0x4 PUSH2 0x428 JUMP JUMPDEST POP POP JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x26D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x28E PUSH2 0x27C CALLDATASIZE PUSH1 0x4 PUSH2 0x3A8 JUMP JUMPDEST PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x1CA JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2A8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x233 PUSH2 0x2B7 CALLDATASIZE PUSH1 0x4 PUSH2 0x3A8 JUMP JUMPDEST PUSH2 0x38B JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2C8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x28E PUSH2 0x2D7 CALLDATASIZE PUSH1 0x4 PUSH2 0x3A8 JUMP JUMPDEST PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x60 SWAP2 SWAP1 PUSH2 0x306 SWAP1 PUSH2 0x49A 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 0x332 SWAP1 PUSH2 0x49A JUMP JUMPDEST DUP1 ISZERO PUSH2 0x37F JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x354 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x37F 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 0x362 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x60 SWAP2 SWAP1 PUSH2 0x306 SWAP1 PUSH2 0x49A JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x3BA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x3E7 JUMPI PUSH1 0x20 DUP2 DUP6 ADD DUP2 ADD MLOAD DUP7 DUP4 ADD DUP3 ADD MSTORE ADD PUSH2 0x3CB JUMP JUMPDEST DUP2 DUP2 GT ISZERO PUSH2 0x3F9 JUMPI PUSH1 0x0 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 PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0x421 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x3C1 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x20 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x43B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x453 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP6 ADD SWAP2 POP DUP6 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x467 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD DUP2 DUP2 GT ISZERO PUSH2 0x476 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP7 PUSH1 0x20 DUP3 DUP6 ADD ADD GT ISZERO PUSH2 0x488 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x20 SWAP3 SWAP1 SWAP3 ADD SWAP7 SWAP2 SWAP6 POP SWAP1 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0x4AE JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH2 0x4E8 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 0xDA SMOD SWAP3 0x5D DUP9 PUSH31 0xB3A3E5CDB417A9A47311901FE909DB7C0170B70BFD6B54E3F5D764736F6C63 NUMBER STOP ADDMOD MULMOD STOP CALLER ", - "sourceMap": "180:1384:3:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1537:18;;;;;216:2:34;1537:18:3;;;198:21:34;255:1;235:18;;;228:29;293:10;273:18;;;266:38;321:18;;1537::3;;;;;;;180:1384;464:66;1029:22;881:20:9;;;:15;:20;;;;;;;1137:14:3;;1029:22;1118:34;1238:1;1235;1219:14;1216:1;1200:14;1193:5;1180:60;1275:16;1272:1;1269;1254:38;1313:6;1332:66;;;;1447:16;1444:1;1437:27;1332:66;1367:16;1364:1;1357:27;801:107:9;;;;;;;;;;-1:-1:-1;801:107:9;;;;;:::i;:::-;855:7;881:20;;;:15;:20;;;;;;;;;801:107;;;;711:42:34;699:55;;;681:74;;669:2;654:18;801:107:9;;;;;;;;1028:98;;;;;;;;;;-1:-1:-1;1028:98:9;;;;;:::i;:::-;1079:4;1102:17;;;:12;:17;;;;;;;;;1028:98;;;;931:14:34;;924:22;906:41;;894:2;879:18;1028:98:9;766:187:34;684:111:9;;;;;;;;;;-1:-1:-1;684:111:9;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;936:49:3:-;;;;;;;;;;-1:-1:-1;936:49:3;;;;;:::i;:::-;;;;;;577:101:9;;;;;;;;;;-1:-1:-1;577:101:9;;;;;:::i;:::-;628:7;654:17;;;;;;;;;;;;577:101;;;;2402:25:34;;;2390:2;2375:18;577:101:9;2256:177:34;914:108:9;;;;;;;;;;-1:-1:-1;914:108:9;;;;;:::i;:::-;;:::i;1132:98::-;;;;;;;;;;-1:-1:-1;1132:98:9;;;;;:::i;:::-;1182:6;1207:16;;;:11;:16;;;;;;;1132:98;684:111;769:19;;;;:14;:19;;;;;762:26;;737:13;;769:19;762:26;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;684:111;;;:::o;914:108::-;997:18;;;;:13;:18;;;;;990:25;;966:12;;997:18;990:25;;;:::i;350:180:34:-;409:6;462:2;450:9;441:7;437:23;433:32;430:52;;;478:1;475;468:12;430:52;-1:-1:-1;501:23:34;;350:180;-1:-1:-1;350:180:34:o;958:472::-;1000:3;1038:5;1032:12;1065:6;1060:3;1053:19;1090:1;1100:162;1114:6;1111:1;1108:13;1100:162;;;1176:4;1232:13;;;1228:22;;1222:29;1204:11;;;1200:20;;1193:59;1129:12;1100:162;;;1280:6;1277:1;1274:13;1271:87;;;1346:1;1339:4;1330:6;1325:3;1321:16;1317:27;1310:38;1271:87;-1:-1:-1;1412:2:34;1391:15;-1:-1:-1;;1387:29:34;1378:39;;;;1419:4;1374:50;;958:472;-1:-1:-1;;958:472:34:o;1435:220::-;1584:2;1573:9;1566:21;1547:4;1604:45;1645:2;1634:9;1630:18;1622:6;1604:45;:::i;:::-;1596:53;1435:220;-1:-1:-1;;;1435:220:34:o;1660:591::-;1730:6;1738;1791:2;1779:9;1770:7;1766:23;1762:32;1759:52;;;1807:1;1804;1797:12;1759:52;1847:9;1834:23;1876:18;1917:2;1909:6;1906:14;1903:34;;;1933:1;1930;1923:12;1903:34;1971:6;1960:9;1956:22;1946:32;;2016:7;2009:4;2005:2;2001:13;1997:27;1987:55;;2038:1;2035;2028:12;1987:55;2078:2;2065:16;2104:2;2096:6;2093:14;2090:34;;;2120:1;2117;2110:12;2090:34;2165:7;2160:2;2151:6;2147:2;2143:15;2139:24;2136:37;2133:57;;;2186:1;2183;2176:12;2133:57;2217:2;2209:11;;;;;2239:6;;-1:-1:-1;1660:591:34;;-1:-1:-1;;;;1660:591:34:o;2841:437::-;2920:1;2916:12;;;;2963;;;2984:61;;3038:4;3030:6;3026:17;3016:27;;2984:61;3091:2;3083:6;3080:14;3060:18;3057:38;3054:218;;;3128:77;3125:1;3118:88;3229:4;3226:1;3219:15;3257:4;3254:1;3247:15;3054:218;;2841:437;;;:::o" - }, - "methodIdentifiers": { - "getAddress(bytes32)": "21f8a721", - "getBool(bytes32)": "7ae1cfca", - "getBytes(bytes32)": "c031a180", - "getInt(bytes32)": "dc97d962", - "getString(bytes32)": "986e791a", - "getUint(bytes32)": "bd02d0f5", - "setup(bytes)": "9ded06df" - } - }, - "metadata": "{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"gatewayImplementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"params\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"InvalidImplementation\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SetupFailed\",\"type\":\"error\"},{\"stateMutability\":\"payable\",\"type\":\"fallback\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"key\",\"type\":\"bytes32\"}],\"name\":\"getAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"key\",\"type\":\"bytes32\"}],\"name\":\"getBool\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"key\",\"type\":\"bytes32\"}],\"name\":\"getBytes\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"key\",\"type\":\"bytes32\"}],\"name\":\"getInt\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"key\",\"type\":\"bytes32\"}],\"name\":\"getString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"key\",\"type\":\"bytes32\"}],\"name\":\"getUint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"params\",\"type\":\"bytes\"}],\"name\":\"setup\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"stateVariables\":{\"KEY_IMPLEMENTATION\":{\"details\":\"Storage slot with the address of the current factory. `keccak256('eip1967.proxy.implementation') - 1`.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@axelar-network/axelar-cgp-solidity/contracts/AxelarGatewayProxy.sol\":\"AxelarGatewayProxy\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1000},\"remappings\":[]},\"sources\":{\"@axelar-network/axelar-cgp-solidity/contracts/AxelarGatewayProxy.sol\":{\"keccak256\":\"0x8b62c96b4e51dc53033e6f9701c838daf80c1d78385026457a4cff6b5f90c2de\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09e3ef6acc2fb416c3cbe97383bb421aaf192246877923e1f4d185511852485d\",\"dweb:/ipfs/QmRpATaHCDLuHLX2RSautCMPusMh1s1jBPa3masxtDVw4P\"]},\"@axelar-network/axelar-cgp-solidity/contracts/EternalStorage.sol\":{\"keccak256\":\"0x112fe354a00bc09d30d7e914cd9b6680df3830a6118ce806b6c1c92677a46be7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f0b5cdcf41522fd7c8bd390820845c89396af31fed48bf344743ce0826b729d\",\"dweb:/ipfs/QmUX6qUgzk8M84GNdHiVu6F1zSsUSXsG2kq6Vi7oybTFrE\"]},\"@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarGateway.sol\":{\"keccak256\":\"0x1ab75989d0869cf2b919b82aec52e75b1cd34395dcf78d99a6d852eb46432462\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://35d3164de1eba58778bb57c9495056e933551cde899ab2e4326dccf00c137e93\",\"dweb:/ipfs/QmYqH4jvacF3fuRqGhXZ1cLzkuBhBwp4qtNdV4uoa2NivG\"]}},\"version\":1}" - } - }, - "@axelar-network/axelar-cgp-solidity/contracts/BurnableMintableCappedERC20.sol": { - "BurnableMintableCappedERC20": { - "abi": [ - { - "inputs": [ - { - "internalType": "string", - "name": "name", - "type": "string" - }, - { - "internalType": "string", - "name": "symbol", - "type": "string" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "capacity", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "name": "CapExceeded", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidAccount", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidOwner", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidS", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidSignature", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidV", - "type": "error" - }, - { - "inputs": [], - "name": "NotOwner", - "type": "error" - }, - { - "inputs": [], - "name": "PermitExpired", - "type": "error" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Approval", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "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": "DOMAIN_SEPARATOR", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "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": "", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "salt", - "type": "bytes32" - } - ], - "name": "burn", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "burnFrom", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "cap", - "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": "salt", - "type": "bytes32" - } - ], - "name": "depositAddress", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "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": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "nonces", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "issuer", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "deadline", - "type": "uint256" - }, - { - "internalType": "uint8", - "name": "v", - "type": "uint8" - }, - { - "internalType": "bytes32", - "name": "r", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "s", - "type": "bytes32" - } - ], - "name": "permit", - "outputs": [], - "stateMutability": "nonpayable", - "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" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "evm": { - "bytecode": { - "functionDebugData": { - "@_3191": { - "entryPoint": null, - "id": 3191, - "parameterSlots": 4, - "returnSlots": 0 - }, - "@_3529": { - "entryPoint": null, - "id": 3529, - "parameterSlots": 3, - "returnSlots": 0 - }, - "@_3950": { - "entryPoint": null, - "id": 3950, - "parameterSlots": 1, - "returnSlots": 0 - }, - "@_4340": { - "entryPoint": null, - "id": 4340, - "parameterSlots": 4, - "returnSlots": 0 - }, - "@_4398": { - "entryPoint": null, - "id": 4398, - "parameterSlots": 0, - "returnSlots": 0 - }, - "abi_decode_string_fromMemory": { - "entryPoint": 554, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_decode_tuple_t_string_memory_ptrt_string_memory_ptrt_uint8t_uint256_fromMemory": { - "entryPoint": 737, - "id": null, - "parameterSlots": 2, - "returnSlots": 4 - }, - "abi_encode_tuple_t_bytes32_t_bytes32_t_bytes32_t_uint256_t_address__to_t_bytes32_t_bytes32_t_bytes32_t_uint256_t_address__fromStack_reversed": { - "entryPoint": null, - "id": null, - "parameterSlots": 6, - "returnSlots": 1 - }, - "extract_byte_array_length": { - "entryPoint": 876, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "panic_error_0x41": { - "entryPoint": 532, - "id": null, - "parameterSlots": 0, - "returnSlots": 0 - } - }, - "generatedSources": [ - { - "ast": { - "nodeType": "YulBlock", - "src": "0:2691:34", - "statements": [ - { - "nodeType": "YulBlock", - "src": "6:3:34", - "statements": [] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "46:95:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "63:1:34", - "type": "", - "value": "0" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "70:3:34", - "type": "", - "value": "224" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "75:10:34", - "type": "", - "value": "0x4e487b71" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "66:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "66:20:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "56:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "56:31:34" - }, - "nodeType": "YulExpressionStatement", - "src": "56:31:34" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "103:1:34", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "106:4:34", - "type": "", - "value": "0x41" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "96:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "96:15:34" - }, - "nodeType": "YulExpressionStatement", - "src": "96:15:34" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "127:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "130:4:34", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "120:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "120:15:34" - }, - "nodeType": "YulExpressionStatement", - "src": "120:15:34" - } - ] - }, - "name": "panic_error_0x41", - "nodeType": "YulFunctionDefinition", - "src": "14:127:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "210:821:34", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "259:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "268:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "271:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "261:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "261:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "261:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "238:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "246:4:34", - "type": "", - "value": "0x1f" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "234:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "234:17:34" - }, - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "253:3:34" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "230:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "230:27:34" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "223:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "223:35:34" - }, - "nodeType": "YulIf", - "src": "220:55:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "284:23:34", - "value": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "300:6:34" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "294:5:34" - }, - "nodeType": "YulFunctionCall", - "src": "294:13:34" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "288:2:34", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "316:28:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "334:2:34", - "type": "", - "value": "64" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "338:1:34", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "330:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "330:10:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "342:1:34", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "326:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "326:18:34" - }, - "variables": [ - { - "name": "_2", - "nodeType": "YulTypedName", - "src": "320:2:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "367:22:34", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x41", - "nodeType": "YulIdentifier", - "src": "369:16:34" - }, - "nodeType": "YulFunctionCall", - "src": "369:18:34" - }, - "nodeType": "YulExpressionStatement", - "src": "369:18:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "359:2:34" - }, - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "363:2:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "356:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "356:10:34" - }, - "nodeType": "YulIf", - "src": "353:36:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "398:17:34", - "value": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "412:2:34", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "408:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "408:7:34" - }, - "variables": [ - { - "name": "_3", - "nodeType": "YulTypedName", - "src": "402:2:34", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "424:23:34", - "value": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "444:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "438:5:34" - }, - "nodeType": "YulFunctionCall", - "src": "438:9:34" - }, - "variables": [ - { - "name": "memPtr", - "nodeType": "YulTypedName", - "src": "428:6:34", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "456:71:34", - "value": { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "478:6:34" - }, - { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "502:2:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "506:4:34", - "type": "", - "value": "0x1f" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "498:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "498:13:34" - }, - { - "name": "_3", - "nodeType": "YulIdentifier", - "src": "513:2:34" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "494:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "494:22:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "518:2:34", - "type": "", - "value": "63" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "490:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "490:31:34" - }, - { - "name": "_3", - "nodeType": "YulIdentifier", - "src": "523:2:34" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "486:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "486:40:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "474:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "474:53:34" - }, - "variables": [ - { - "name": "newFreePtr", - "nodeType": "YulTypedName", - "src": "460:10:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "586:22:34", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x41", - "nodeType": "YulIdentifier", - "src": "588:16:34" - }, - "nodeType": "YulFunctionCall", - "src": "588:18:34" - }, - "nodeType": "YulExpressionStatement", - "src": "588:18:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "newFreePtr", - "nodeType": "YulIdentifier", - "src": "545:10:34" - }, - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "557:2:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "542:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "542:18:34" - }, - { - "arguments": [ - { - "name": "newFreePtr", - "nodeType": "YulIdentifier", - "src": "565:10:34" - }, - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "577:6:34" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "562:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "562:22:34" - } - ], - "functionName": { - "name": "or", - "nodeType": "YulIdentifier", - "src": "539:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "539:46:34" - }, - "nodeType": "YulIf", - "src": "536:72:34" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "624:2:34", - "type": "", - "value": "64" - }, - { - "name": "newFreePtr", - "nodeType": "YulIdentifier", - "src": "628:10:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "617:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "617:22:34" - }, - "nodeType": "YulExpressionStatement", - "src": "617:22:34" - }, - { - "expression": { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "655:6:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "663:2:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "648:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "648:18:34" - }, - "nodeType": "YulExpressionStatement", - "src": "648:18:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "675:14:34", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "685:4:34", - "type": "", - "value": "0x20" - }, - "variables": [ - { - "name": "_4", - "nodeType": "YulTypedName", - "src": "679:2:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "735:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "744:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "747:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "737:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "737:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "737:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "712:6:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "720:2:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "708:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "708:15:34" - }, - { - "name": "_4", - "nodeType": "YulIdentifier", - "src": "725:2:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "704:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "704:24:34" - }, - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "730:3:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "701:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "701:33:34" - }, - "nodeType": "YulIf", - "src": "698:53:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "760:10:34", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "769:1:34", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "i", - "nodeType": "YulTypedName", - "src": "764:1:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "825:87:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "854:6:34" - }, - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "862:1:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "850:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "850:14:34" - }, - { - "name": "_4", - "nodeType": "YulIdentifier", - "src": "866:2:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "846:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "846:23:34" - }, - { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "885:6:34" - }, - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "893:1:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "881:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "881:14:34" - }, - { - "name": "_4", - "nodeType": "YulIdentifier", - "src": "897:2:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "877:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "877:23:34" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "871:5:34" - }, - "nodeType": "YulFunctionCall", - "src": "871:30:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "839:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "839:63:34" - }, - "nodeType": "YulExpressionStatement", - "src": "839:63:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "790:1:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "793:2:34" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "787:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "787:9:34" - }, - "nodeType": "YulForLoop", - "post": { - "nodeType": "YulBlock", - "src": "797:19:34", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "799:15:34", - "value": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "808:1:34" - }, - { - "name": "_4", - "nodeType": "YulIdentifier", - "src": "811:2:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "804:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "804:10:34" - }, - "variableNames": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "799:1:34" - } - ] - } - ] - }, - "pre": { - "nodeType": "YulBlock", - "src": "783:3:34", - "statements": [] - }, - "src": "779:133:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "942:59:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "971:6:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "979:2:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "967:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "967:15:34" - }, - { - "name": "_4", - "nodeType": "YulIdentifier", - "src": "984:2:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "963:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "963:24:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "989:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "956:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "956:35:34" - }, - "nodeType": "YulExpressionStatement", - "src": "956:35:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "927:1:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "930:2:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "924:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "924:9:34" - }, - "nodeType": "YulIf", - "src": "921:80:34" - }, - { - "nodeType": "YulAssignment", - "src": "1010:15:34", - "value": { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "1019:6:34" - }, - "variableNames": [ - { - "name": "array", - "nodeType": "YulIdentifier", - "src": "1010:5:34" - } - ] - } - ] - }, - "name": "abi_decode_string_fromMemory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "184:6:34", - "type": "" - }, - { - "name": "end", - "nodeType": "YulTypedName", - "src": "192:3:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "array", - "nodeType": "YulTypedName", - "src": "200:5:34", - "type": "" - } - ], - "src": "146:885:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1186:624:34", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "1233:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1242:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1245:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "1235:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "1235:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "1235:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "1207:7:34" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1216:9:34" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "1203:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1203:23:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1228:3:34", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "1199:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1199:33:34" - }, - "nodeType": "YulIf", - "src": "1196:53:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1258:30:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1278:9:34" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "1272:5:34" - }, - "nodeType": "YulFunctionCall", - "src": "1272:16:34" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "1262:6:34", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1297:28:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1315:2:34", - "type": "", - "value": "64" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1319:1:34", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "1311:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1311:10:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1323:1:34", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "1307:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1307:18:34" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "1301:2:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1352:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1361:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1364:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "1354:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "1354:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "1354:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "1340:6:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "1348:2:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "1337:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "1337:14:34" - }, - "nodeType": "YulIf", - "src": "1334:34:34" - }, - { - "nodeType": "YulAssignment", - "src": "1377:71:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1420:9:34" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "1431:6:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1416:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1416:22:34" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "1440:7:34" - } - ], - "functionName": { - "name": "abi_decode_string_fromMemory", - "nodeType": "YulIdentifier", - "src": "1387:28:34" - }, - "nodeType": "YulFunctionCall", - "src": "1387:61:34" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1377:6:34" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1457:41:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1483:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1494:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1479:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1479:18:34" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "1473:5:34" - }, - "nodeType": "YulFunctionCall", - "src": "1473:25:34" - }, - "variables": [ - { - "name": "offset_1", - "nodeType": "YulTypedName", - "src": "1461:8:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1527:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1536:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1539:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "1529:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "1529:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "1529:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset_1", - "nodeType": "YulIdentifier", - "src": "1513:8:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "1523:2:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "1510:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "1510:16:34" - }, - "nodeType": "YulIf", - "src": "1507:36:34" - }, - { - "nodeType": "YulAssignment", - "src": "1552:73:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1595:9:34" - }, - { - "name": "offset_1", - "nodeType": "YulIdentifier", - "src": "1606:8:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1591:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1591:24:34" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "1617:7:34" - } - ], - "functionName": { - "name": "abi_decode_string_fromMemory", - "nodeType": "YulIdentifier", - "src": "1562:28:34" - }, - "nodeType": "YulFunctionCall", - "src": "1562:63:34" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "1552:6:34" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1634:38:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1657:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1668:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1653:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1653:18:34" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "1647:5:34" - }, - "nodeType": "YulFunctionCall", - "src": "1647:25:34" - }, - "variables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "1638:5:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1720:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1729:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1732:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "1722:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "1722:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "1722:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "1694:5:34" - }, - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "1705:5:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1712:4:34", - "type": "", - "value": "0xff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "1701:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1701:16:34" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "1691:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "1691:27:34" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "1684:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "1684:35:34" - }, - "nodeType": "YulIf", - "src": "1681:55:34" - }, - { - "nodeType": "YulAssignment", - "src": "1745:15:34", - "value": { - "name": "value", - "nodeType": "YulIdentifier", - "src": "1755:5:34" - }, - "variableNames": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "1745:6:34" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "1769:35:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1789:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1800:2:34", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1785:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1785:18:34" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "1779:5:34" - }, - "nodeType": "YulFunctionCall", - "src": "1779:25:34" - }, - "variableNames": [ - { - "name": "value3", - "nodeType": "YulIdentifier", - "src": "1769:6:34" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_string_memory_ptrt_string_memory_ptrt_uint8t_uint256_fromMemory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "1128:9:34", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "1139:7:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "1151:6:34", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "1159:6:34", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "1167:6:34", - "type": "" - }, - { - "name": "value3", - "nodeType": "YulTypedName", - "src": "1175:6:34", - "type": "" - } - ], - "src": "1036:774:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2028:276:34", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "2038:27:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2050:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2061:3:34", - "type": "", - "value": "160" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2046:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "2046:19:34" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "2038:4:34" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2081:9:34" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "2092:6:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2074:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "2074:25:34" - }, - "nodeType": "YulExpressionStatement", - "src": "2074:25:34" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2119:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2130:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2115:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "2115:18:34" - }, - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "2135:6:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2108:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "2108:34:34" - }, - "nodeType": "YulExpressionStatement", - "src": "2108:34:34" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2162:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2173:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2158:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "2158:18:34" - }, - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "2178:6:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2151:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "2151:34:34" - }, - "nodeType": "YulExpressionStatement", - "src": "2151:34:34" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2205:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2216:2:34", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2201:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "2201:18:34" - }, - { - "name": "value3", - "nodeType": "YulIdentifier", - "src": "2221:6:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2194:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "2194:34:34" - }, - "nodeType": "YulExpressionStatement", - "src": "2194:34:34" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2248:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2259:3:34", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2244:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "2244:19:34" - }, - { - "arguments": [ - { - "name": "value4", - "nodeType": "YulIdentifier", - "src": "2269:6:34" - }, - { - "arguments": [ - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2285:3:34", - "type": "", - "value": "160" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2290:1:34", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "2281:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "2281:11:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2294:1:34", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "2277:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "2277:19:34" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "2265:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "2265:32:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2237:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "2237:61:34" - }, - "nodeType": "YulExpressionStatement", - "src": "2237:61:34" - } - ] - }, - "name": "abi_encode_tuple_t_bytes32_t_bytes32_t_bytes32_t_uint256_t_address__to_t_bytes32_t_bytes32_t_bytes32_t_uint256_t_address__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "1965:9:34", - "type": "" - }, - { - "name": "value4", - "nodeType": "YulTypedName", - "src": "1976:6:34", - "type": "" - }, - { - "name": "value3", - "nodeType": "YulTypedName", - "src": "1984:6:34", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "1992:6:34", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "2000:6:34", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "2008:6:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "2019:4:34", - "type": "" - } - ], - "src": "1815:489:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2364:325:34", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "2374:22:34", - "value": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2388:1:34", - "type": "", - "value": "1" - }, - { - "name": "data", - "nodeType": "YulIdentifier", - "src": "2391:4:34" - } - ], - "functionName": { - "name": "shr", - "nodeType": "YulIdentifier", - "src": "2384:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "2384:12:34" - }, - "variableNames": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "2374:6:34" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "2405:38:34", - "value": { - "arguments": [ - { - "name": "data", - "nodeType": "YulIdentifier", - "src": "2435:4:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2441:1:34", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "2431:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "2431:12:34" - }, - "variables": [ - { - "name": "outOfPlaceEncoding", - "nodeType": "YulTypedName", - "src": "2409:18:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2482:31:34", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "2484:27:34", - "value": { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "2498:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2506:4:34", - "type": "", - "value": "0x7f" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "2494:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "2494:17:34" - }, - "variableNames": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "2484:6:34" - } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "outOfPlaceEncoding", - "nodeType": "YulIdentifier", - "src": "2462:18:34" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "2455:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "2455:26:34" - }, - "nodeType": "YulIf", - "src": "2452:61:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2572:111:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2593:1:34", - "type": "", - "value": "0" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2600:3:34", - "type": "", - "value": "224" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2605:10:34", - "type": "", - "value": "0x4e487b71" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "2596:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "2596:20:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2586:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "2586:31:34" - }, - "nodeType": "YulExpressionStatement", - "src": "2586:31:34" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2637:1:34", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2640:4:34", - "type": "", - "value": "0x22" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2630:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "2630:15:34" - }, - "nodeType": "YulExpressionStatement", - "src": "2630:15:34" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2665:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2668:4:34", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "2658:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "2658:15:34" - }, - "nodeType": "YulExpressionStatement", - "src": "2658:15:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "outOfPlaceEncoding", - "nodeType": "YulIdentifier", - "src": "2528:18:34" - }, - { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "2551:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2559:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "2548:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "2548:14:34" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "2525:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "2525:38:34" - }, - "nodeType": "YulIf", - "src": "2522:161:34" - } - ] - }, - "name": "extract_byte_array_length", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "data", - "nodeType": "YulTypedName", - "src": "2344:4:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "2353:6:34", - "type": "" - } - ], - "src": "2309:380:34" - } - ] - }, - "contents": "{\n { }\n function panic_error_0x41()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n function abi_decode_string_fromMemory(offset, end) -> array\n {\n if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n let _1 := mload(offset)\n let _2 := sub(shl(64, 1), 1)\n if gt(_1, _2) { panic_error_0x41() }\n let _3 := not(31)\n let memPtr := mload(64)\n let newFreePtr := add(memPtr, and(add(and(add(_1, 0x1f), _3), 63), _3))\n if or(gt(newFreePtr, _2), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n mstore(memPtr, _1)\n let _4 := 0x20\n if gt(add(add(offset, _1), _4), end) { revert(0, 0) }\n let i := 0\n for { } lt(i, _1) { i := add(i, _4) }\n {\n mstore(add(add(memPtr, i), _4), mload(add(add(offset, i), _4)))\n }\n if gt(i, _1)\n {\n mstore(add(add(memPtr, _1), _4), 0)\n }\n array := memPtr\n }\n function abi_decode_tuple_t_string_memory_ptrt_string_memory_ptrt_uint8t_uint256_fromMemory(headStart, dataEnd) -> value0, value1, value2, value3\n {\n if slt(sub(dataEnd, headStart), 128) { revert(0, 0) }\n let offset := mload(headStart)\n let _1 := sub(shl(64, 1), 1)\n if gt(offset, _1) { revert(0, 0) }\n value0 := abi_decode_string_fromMemory(add(headStart, offset), dataEnd)\n let offset_1 := mload(add(headStart, 32))\n if gt(offset_1, _1) { revert(0, 0) }\n value1 := abi_decode_string_fromMemory(add(headStart, offset_1), dataEnd)\n let value := mload(add(headStart, 64))\n if iszero(eq(value, and(value, 0xff))) { revert(0, 0) }\n value2 := value\n value3 := mload(add(headStart, 96))\n }\n function abi_encode_tuple_t_bytes32_t_bytes32_t_bytes32_t_uint256_t_address__to_t_bytes32_t_bytes32_t_bytes32_t_uint256_t_address__fromStack_reversed(headStart, value4, value3, value2, value1, value0) -> tail\n {\n tail := add(headStart, 160)\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), and(value4, sub(shl(160, 1), 1)))\n }\n function extract_byte_array_length(data) -> length\n {\n length := shr(1, data)\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}", - "id": 34, - "language": "Yul", - "name": "#utility.yul" - } - ], - "linkReferences": {}, - "object": "60e06040523480156200001157600080fd5b5060405162001837380380620018378339810160408190526200003491620002e1565b83838383838484848260039080519060200190620000549291906200016e565b5081516200006a9060049060208501906200016e565b5060ff166080908152835160208086019190912060408051808201825260018152603160f81b9084015280517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f938101939093528201527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6606082015246918101919091523060a082015260c0019150620001029050565b60408051601f1981840301815290829052805160209091012060a052600680546001600160a01b0319163390811790915591506000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a360c05250620003a995505050505050565b8280546200017c906200036c565b90600052602060002090601f016020900481019282620001a05760008555620001eb565b82601f10620001bb57805160ff1916838001178555620001eb565b82800160010185558215620001eb579182015b82811115620001eb578251825591602001919060010190620001ce565b50620001f9929150620001fd565b5090565b5b80821115620001f95760008155600101620001fe565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200023c57600080fd5b81516001600160401b038082111562000259576200025962000214565b604051601f8301601f19908116603f0116810190828211818310171562000284576200028462000214565b81604052838152602092508683858801011115620002a157600080fd5b600091505b83821015620002c55785820183015181830184015290820190620002a6565b83821115620002d75760008385830101525b9695505050505050565b60008060008060808587031215620002f857600080fd5b84516001600160401b03808211156200031057600080fd5b6200031e888389016200022a565b955060208701519150808211156200033557600080fd5b5062000344878288016200022a565b935050604085015160ff811681146200035c57600080fd5b6060959095015193969295505050565b600181811c908216806200038157607f821691505b60208210811415620003a357634e487b7160e01b600052602260045260246000fd5b50919050565b60805160a05160c051611450620003e760003960008181610265015261067301526000818161028c01526108de0152600061020101526114506000f3fe608060405234801561001057600080fd5b50600436106101775760003560e01c806340c10f19116100d857806395d89b411161008c578063d505accf11610066578063d505accf14610368578063dd62ed3e1461037b578063f2fde38b146103a657600080fd5b806395d89b411461033a578063a457c2d714610342578063a9059cbb1461035557600080fd5b806379cc6790116100bd57806379cc6790146102f45780637ecebe00146103075780638da5cb5b1461032757600080fd5b806340c10f19146102c157806370a08231146102d457600080fd5b8063313ce5671161012f578063355274ea11610114578063355274ea146102605780633644e5151461028757806339509351146102ae57600080fd5b8063313ce567146101fc57806331eecaf41461023557600080fd5b8063095ea7b311610160578063095ea7b3146101af57806318160ddd146101d257806323b872dd146101e957600080fd5b806306fdde031461017c57806308a1eee11461019a575b600080fd5b6101846103b9565b6040516101919190610e5d565b60405180910390f35b6101ad6101a8366004610e90565b610447565b005b6101c26101bd366004610ec5565b6104a8565b6040519015158152602001610191565b6101db60025481565b604051908152602001610191565b6101c26101f7366004610eef565b6104be565b6102237f000000000000000000000000000000000000000000000000000000000000000081565b60405160ff9091168152602001610191565b610248610243366004610e90565b610515565b6040516001600160a01b039091168152602001610191565b6101db7f000000000000000000000000000000000000000000000000000000000000000081565b6101db7f000000000000000000000000000000000000000000000000000000000000000081565b6101c26102bc366004610ec5565b61060f565b6101ad6102cf366004610ec5565b610646565b6101db6102e2366004610f2b565b60006020819052908152604090205481565b6101ad610302366004610ec5565b6106e7565b6101db610315366004610f2b565b60056020526000908152604090205481565b600654610248906001600160a01b031681565b610184610758565b6101c2610350366004610ec5565b610765565b6101c2610363366004610ec5565b61079c565b6101ad610376366004610f4d565b6107a9565b6101db610389366004610fc0565b600160209081526000928352604080842090915290825290205481565b6101ad6103b4366004610f2b565b610a6c565b600380546103c690610ff3565b80601f01602080910402602001604051908101604052809291908181526020018280546103f290610ff3565b801561043f5780601f106104145761010080835404028352916020019161043f565b820191906000526020600020905b81548152906001019060200180831161042257829003601f168201915b505050505081565b6006546001600160a01b03163314610472576040516330cd747160e01b815260040160405180910390fd5b600061047d82610515565b6001600160a01b0381166000908152602081905260409020549091506104a4908290610b4b565b5050565b60006104b5338484610bfe565b50600192915050565b6001600160a01b038316600090815260016020908152604080832033845290915281205460001981146104ff576104ff85336104fa8685611044565b610bfe565b61050a858585610c9b565b506001949350505050565b6006546040516000917fff00000000000000000000000000000000000000000000000000000000000000916001600160a01b0390911690849061055a60208201610e20565b601f1982820381018352601f90910116604081905261057c919060200161105b565b604051602081830303815290604052805190602001206040516020016105f194939291907fff0000000000000000000000000000000000000000000000000000000000000094909416845260609290921b6bffffffffffffffffffffffff191660018401526015830152603582015260550190565b60408051601f19818403018152919052805160209091012092915050565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916104b59185906104fa908690611077565b6006546001600160a01b03163314610671576040516330cd747160e01b815260040160405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000061069c8383610d77565b806106a657505050565b8060025411156106e2576040517fa4875a4900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050565b6006546001600160a01b03163314610712576040516330cd747160e01b815260040160405180910390fd5b6001600160a01b0382166000908152600160209081526040808320338452909152902054600019811461074e5761074e83336104fa8585611044565b6106e28383610b4b565b600480546103c690610ff3565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916104b59185906104fa908690611044565b60006104b5338484610c9b565b834211156107e3576040517f1a15a3cc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a081111561083d576040517f40c1e74800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8260ff16601b1415801561085557508260ff16601c14155b1561088c576040517f119bce3900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080518082018252600281527f19010000000000000000000000000000000000000000000000000000000000006020808301919091526001600160a01b038a166000908152600590915291822080547f0000000000000000000000000000000000000000000000000000000000000000917f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9918c918c918c91886109308361108f565b909155506040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810188905260e00160405160208183030381529060405280519060200120604051602001610994939291906110aa565b60408051601f198184030181528282528051602091820120600080855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa1580156109ff573d6000803e3d6000fd5b505050602060405103519050886001600160a01b0316816001600160a01b031614610a56576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610a61898989610bfe565b505050505050505050565b6006546001600160a01b03163314610a97576040516330cd747160e01b815260040160405180910390fd5b6001600160a01b038116610ad7576040517f49e27cff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6006546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600680547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b6001600160a01b038216610b7257604051630da30f6560e31b815260040160405180910390fd5b6001600160a01b03821660009081526020819052604081208054839290610b9a908490611044565b925050819055508060026000828254610bb39190611044565b90915550506040518181526000906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906020015b60405180910390a35050565b6001600160a01b0383161580610c1b57506001600160a01b038216155b15610c3957604051630da30f6560e31b815260040160405180910390fd5b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b0383161580610cb857506001600160a01b038216155b15610cd657604051630da30f6560e31b815260040160405180910390fd5b6001600160a01b03831660009081526020819052604081208054839290610cfe908490611044565b90915550506001600160a01b03821660009081526020819052604081208054839290610d2b908490611077565b92505081905550816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610c8e91815260200190565b6001600160a01b038216610d9e57604051630da30f6560e31b815260040160405180910390fd5b8060026000828254610db09190611077565b90915550506001600160a01b03821660009081526020819052604081208054839290610ddd908490611077565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90602001610bf2565b610349806110d283390190565b60005b83811015610e48578181015183820152602001610e30565b83811115610e57576000848401525b50505050565b6020815260008251806020840152610e7c816040850160208701610e2d565b601f01601f19169190910160400192915050565b600060208284031215610ea257600080fd5b5035919050565b80356001600160a01b0381168114610ec057600080fd5b919050565b60008060408385031215610ed857600080fd5b610ee183610ea9565b946020939093013593505050565b600080600060608486031215610f0457600080fd5b610f0d84610ea9565b9250610f1b60208501610ea9565b9150604084013590509250925092565b600060208284031215610f3d57600080fd5b610f4682610ea9565b9392505050565b600080600080600080600060e0888a031215610f6857600080fd5b610f7188610ea9565b9650610f7f60208901610ea9565b95506040880135945060608801359350608088013560ff81168114610fa357600080fd5b9699959850939692959460a0840135945060c09093013592915050565b60008060408385031215610fd357600080fd5b610fdc83610ea9565b9150610fea60208401610ea9565b90509250929050565b600181811c9082168061100757607f821691505b6020821081141561102857634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b6000828210156110565761105661102e565b500390565b6000825161106d818460208701610e2d565b9190910192915050565b6000821982111561108a5761108a61102e565b500190565b60006000198214156110a3576110a361102e565b5060010190565b600084516110bc818460208901610e2d565b9190910192835250602082015260400191905056fe6080604052600160005534801561001557600080fd5b50610324806100256000396000f3fe608060405234801561001057600080fd5b50600436106100355760003560e01c8062f55d9d1461003a5780631cff79cd1461004f575b600080fd5b61004d6100483660046101da565b610079565b005b61006261005d3660046101fc565b6100bb565b60405161007092919061027f565b60405180910390f35b6002600054141561009d5760405163caa30f5560e01b815260040160405180910390fd5b600260005573ffffffffffffffffffffffffffffffffffffffff8116ff5b60006060600260005414156100e35760405163caa30f5560e01b815260040160405180910390fd5b600260005573ffffffffffffffffffffffffffffffffffffffff85163b610136576040517f6f7c43f100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8473ffffffffffffffffffffffffffffffffffffffff16848460405161015d9291906102de565b6000604051808303816000865af19150503d806000811461019a576040519150601f19603f3d011682016040523d82523d6000602084013e61019f565b606091505b50600160005590969095509350505050565b803573ffffffffffffffffffffffffffffffffffffffff811681146101d557600080fd5b919050565b6000602082840312156101ec57600080fd5b6101f5826101b1565b9392505050565b60008060006040848603121561021157600080fd5b61021a846101b1565b9250602084013567ffffffffffffffff8082111561023757600080fd5b818601915086601f83011261024b57600080fd5b81358181111561025a57600080fd5b87602082850101111561026c57600080fd5b6020830194508093505050509250925092565b821515815260006020604081840152835180604085015260005b818110156102b557858101830151858201606001528201610299565b818111156102c7576000606083870101525b50601f01601f191692909201606001949350505050565b818382376000910190815291905056fea2646970667358221220dfb702492c35c6a884ac11997b483e3fee4ff8145c7abb0799d2a2fc8674c39364736f6c63430008090033a2646970667358221220a0862d822c5e76c8687a97d9d537ec0e3da210445e2873be021a84f7cd0a8dd464736f6c63430008090033", - "opcodes": "PUSH1 0xE0 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH3 0x11 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH3 0x1837 CODESIZE SUB DUP1 PUSH3 0x1837 DUP4 CODECOPY DUP2 ADD PUSH1 0x40 DUP2 SWAP1 MSTORE PUSH3 0x34 SWAP2 PUSH3 0x2E1 JUMP JUMPDEST DUP4 DUP4 DUP4 DUP4 DUP4 DUP5 DUP5 DUP5 DUP3 PUSH1 0x3 SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH3 0x54 SWAP3 SWAP2 SWAP1 PUSH3 0x16E JUMP JUMPDEST POP DUP2 MLOAD PUSH3 0x6A SWAP1 PUSH1 0x4 SWAP1 PUSH1 0x20 DUP6 ADD SWAP1 PUSH3 0x16E JUMP JUMPDEST POP PUSH1 0xFF AND PUSH1 0x80 SWAP1 DUP2 MSTORE DUP4 MLOAD PUSH1 0x20 DUP1 DUP7 ADD SWAP2 SWAP1 SWAP2 KECCAK256 PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD DUP3 MSTORE PUSH1 0x1 DUP2 MSTORE PUSH1 0x31 PUSH1 0xF8 SHL SWAP1 DUP5 ADD MSTORE DUP1 MLOAD PUSH32 0x8B73C3C69BB8FE3D512ECC4CF759CC79239F7B179B0FFACAA9A75D522B39400F SWAP4 DUP2 ADD SWAP4 SWAP1 SWAP4 MSTORE DUP3 ADD MSTORE PUSH32 0xC89EFDAA54C0F20C7ADF612882DF0950F5A951637E0307CDCB4C672F298B8BC6 PUSH1 0x60 DUP3 ADD MSTORE CHAINID SWAP2 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE ADDRESS PUSH1 0xA0 DUP3 ADD MSTORE PUSH1 0xC0 ADD SWAP2 POP PUSH3 0x102 SWAP1 POP JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F NOT DUP2 DUP5 SUB ADD DUP2 MSTORE SWAP1 DUP3 SWAP1 MSTORE DUP1 MLOAD PUSH1 0x20 SWAP1 SWAP2 ADD KECCAK256 PUSH1 0xA0 MSTORE PUSH1 0x6 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND CALLER SWAP1 DUP2 OR SWAP1 SWAP2 SSTORE SWAP2 POP PUSH1 0x0 SWAP1 PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 SWAP1 DUP3 SWAP1 LOG3 PUSH1 0xC0 MSTORE POP PUSH3 0x3A9 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST DUP3 DUP1 SLOAD PUSH3 0x17C SWAP1 PUSH3 0x36C JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 PUSH3 0x1A0 JUMPI PUSH1 0x0 DUP6 SSTORE PUSH3 0x1EB JUMP JUMPDEST DUP3 PUSH1 0x1F LT PUSH3 0x1BB JUMPI DUP1 MLOAD PUSH1 0xFF NOT AND DUP4 DUP1 ADD OR DUP6 SSTORE PUSH3 0x1EB JUMP JUMPDEST DUP3 DUP1 ADD PUSH1 0x1 ADD DUP6 SSTORE DUP3 ISZERO PUSH3 0x1EB JUMPI SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH3 0x1EB JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH3 0x1CE JUMP JUMPDEST POP PUSH3 0x1F9 SWAP3 SWAP2 POP PUSH3 0x1FD JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST JUMPDEST DUP1 DUP3 GT ISZERO PUSH3 0x1F9 JUMPI PUSH1 0x0 DUP2 SSTORE PUSH1 0x1 ADD PUSH3 0x1FE JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH3 0x23C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH3 0x259 JUMPI PUSH3 0x259 PUSH3 0x214 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP4 ADD PUSH1 0x1F NOT SWAP1 DUP2 AND PUSH1 0x3F ADD AND DUP2 ADD SWAP1 DUP3 DUP3 GT DUP2 DUP4 LT OR ISZERO PUSH3 0x284 JUMPI PUSH3 0x284 PUSH3 0x214 JUMP JUMPDEST DUP2 PUSH1 0x40 MSTORE DUP4 DUP2 MSTORE PUSH1 0x20 SWAP3 POP DUP7 DUP4 DUP6 DUP9 ADD ADD GT ISZERO PUSH3 0x2A1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 SWAP2 POP JUMPDEST DUP4 DUP3 LT ISZERO PUSH3 0x2C5 JUMPI DUP6 DUP3 ADD DUP4 ADD MLOAD DUP2 DUP4 ADD DUP5 ADD MSTORE SWAP1 DUP3 ADD SWAP1 PUSH3 0x2A6 JUMP JUMPDEST DUP4 DUP3 GT ISZERO PUSH3 0x2D7 JUMPI PUSH1 0x0 DUP4 DUP6 DUP4 ADD ADD MSTORE JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH3 0x2F8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP5 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH3 0x310 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH3 0x31E DUP9 DUP4 DUP10 ADD PUSH3 0x22A JUMP JUMPDEST SWAP6 POP PUSH1 0x20 DUP8 ADD MLOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH3 0x335 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH3 0x344 DUP8 DUP3 DUP9 ADD PUSH3 0x22A JUMP JUMPDEST SWAP4 POP POP PUSH1 0x40 DUP6 ADD MLOAD PUSH1 0xFF DUP2 AND DUP2 EQ PUSH3 0x35C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x60 SWAP6 SWAP1 SWAP6 ADD MLOAD SWAP4 SWAP7 SWAP3 SWAP6 POP POP POP JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH3 0x381 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH3 0x3A3 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 PUSH1 0x80 MLOAD PUSH1 0xA0 MLOAD PUSH1 0xC0 MLOAD PUSH2 0x1450 PUSH3 0x3E7 PUSH1 0x0 CODECOPY PUSH1 0x0 DUP2 DUP2 PUSH2 0x265 ADD MSTORE PUSH2 0x673 ADD MSTORE PUSH1 0x0 DUP2 DUP2 PUSH2 0x28C ADD MSTORE PUSH2 0x8DE ADD MSTORE PUSH1 0x0 PUSH2 0x201 ADD MSTORE PUSH2 0x1450 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 0x177 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x40C10F19 GT PUSH2 0xD8 JUMPI DUP1 PUSH4 0x95D89B41 GT PUSH2 0x8C JUMPI DUP1 PUSH4 0xD505ACCF GT PUSH2 0x66 JUMPI DUP1 PUSH4 0xD505ACCF EQ PUSH2 0x368 JUMPI DUP1 PUSH4 0xDD62ED3E EQ PUSH2 0x37B JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0x3A6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x33A JUMPI DUP1 PUSH4 0xA457C2D7 EQ PUSH2 0x342 JUMPI DUP1 PUSH4 0xA9059CBB EQ PUSH2 0x355 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x79CC6790 GT PUSH2 0xBD JUMPI DUP1 PUSH4 0x79CC6790 EQ PUSH2 0x2F4 JUMPI DUP1 PUSH4 0x7ECEBE00 EQ PUSH2 0x307 JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x327 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x40C10F19 EQ PUSH2 0x2C1 JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x2D4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x313CE567 GT PUSH2 0x12F JUMPI DUP1 PUSH4 0x355274EA GT PUSH2 0x114 JUMPI DUP1 PUSH4 0x355274EA EQ PUSH2 0x260 JUMPI DUP1 PUSH4 0x3644E515 EQ PUSH2 0x287 JUMPI DUP1 PUSH4 0x39509351 EQ PUSH2 0x2AE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x313CE567 EQ PUSH2 0x1FC JUMPI DUP1 PUSH4 0x31EECAF4 EQ PUSH2 0x235 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x95EA7B3 GT PUSH2 0x160 JUMPI DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0x1AF JUMPI DUP1 PUSH4 0x18160DDD EQ PUSH2 0x1D2 JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x1E9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0x17C JUMPI DUP1 PUSH4 0x8A1EEE1 EQ PUSH2 0x19A JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x184 PUSH2 0x3B9 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x191 SWAP2 SWAP1 PUSH2 0xE5D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1AD PUSH2 0x1A8 CALLDATASIZE PUSH1 0x4 PUSH2 0xE90 JUMP JUMPDEST PUSH2 0x447 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x1C2 PUSH2 0x1BD CALLDATASIZE PUSH1 0x4 PUSH2 0xEC5 JUMP JUMPDEST PUSH2 0x4A8 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x191 JUMP JUMPDEST PUSH2 0x1DB PUSH1 0x2 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x191 JUMP JUMPDEST PUSH2 0x1C2 PUSH2 0x1F7 CALLDATASIZE PUSH1 0x4 PUSH2 0xEEF JUMP JUMPDEST PUSH2 0x4BE JUMP JUMPDEST PUSH2 0x223 PUSH32 0x0 DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0xFF SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x191 JUMP JUMPDEST PUSH2 0x248 PUSH2 0x243 CALLDATASIZE PUSH1 0x4 PUSH2 0xE90 JUMP JUMPDEST PUSH2 0x515 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x191 JUMP JUMPDEST PUSH2 0x1DB PUSH32 0x0 DUP2 JUMP JUMPDEST PUSH2 0x1DB PUSH32 0x0 DUP2 JUMP JUMPDEST PUSH2 0x1C2 PUSH2 0x2BC CALLDATASIZE PUSH1 0x4 PUSH2 0xEC5 JUMP JUMPDEST PUSH2 0x60F JUMP JUMPDEST PUSH2 0x1AD PUSH2 0x2CF CALLDATASIZE PUSH1 0x4 PUSH2 0xEC5 JUMP JUMPDEST PUSH2 0x646 JUMP JUMPDEST PUSH2 0x1DB PUSH2 0x2E2 CALLDATASIZE PUSH1 0x4 PUSH2 0xF2B JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP2 SWAP1 MSTORE SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD DUP2 JUMP JUMPDEST PUSH2 0x1AD PUSH2 0x302 CALLDATASIZE PUSH1 0x4 PUSH2 0xEC5 JUMP JUMPDEST PUSH2 0x6E7 JUMP JUMPDEST PUSH2 0x1DB PUSH2 0x315 CALLDATASIZE PUSH1 0x4 PUSH2 0xF2B JUMP JUMPDEST PUSH1 0x5 PUSH1 0x20 MSTORE PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x6 SLOAD PUSH2 0x248 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST PUSH2 0x184 PUSH2 0x758 JUMP JUMPDEST PUSH2 0x1C2 PUSH2 0x350 CALLDATASIZE PUSH1 0x4 PUSH2 0xEC5 JUMP JUMPDEST PUSH2 0x765 JUMP JUMPDEST PUSH2 0x1C2 PUSH2 0x363 CALLDATASIZE PUSH1 0x4 PUSH2 0xEC5 JUMP JUMPDEST PUSH2 0x79C JUMP JUMPDEST PUSH2 0x1AD PUSH2 0x376 CALLDATASIZE PUSH1 0x4 PUSH2 0xF4D JUMP JUMPDEST PUSH2 0x7A9 JUMP JUMPDEST PUSH2 0x1DB PUSH2 0x389 CALLDATASIZE PUSH1 0x4 PUSH2 0xFC0 JUMP JUMPDEST PUSH1 0x1 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 0x1AD PUSH2 0x3B4 CALLDATASIZE PUSH1 0x4 PUSH2 0xF2B JUMP JUMPDEST PUSH2 0xA6C JUMP JUMPDEST PUSH1 0x3 DUP1 SLOAD PUSH2 0x3C6 SWAP1 PUSH2 0xFF3 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 0x3F2 SWAP1 PUSH2 0xFF3 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x43F JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x414 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x43F 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 0x422 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 JUMP JUMPDEST PUSH1 0x6 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x472 JUMPI PUSH1 0x40 MLOAD PUSH4 0x30CD7471 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x47D DUP3 PUSH2 0x515 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 SWAP1 SWAP2 POP PUSH2 0x4A4 SWAP1 DUP3 SWAP1 PUSH2 0xB4B JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4B5 CALLER DUP5 DUP5 PUSH2 0xBFE JUMP JUMPDEST POP PUSH1 0x1 SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 CALLER DUP5 MSTORE SWAP1 SWAP2 MSTORE DUP2 KECCAK256 SLOAD PUSH1 0x0 NOT DUP2 EQ PUSH2 0x4FF JUMPI PUSH2 0x4FF DUP6 CALLER PUSH2 0x4FA DUP7 DUP6 PUSH2 0x1044 JUMP JUMPDEST PUSH2 0xBFE JUMP JUMPDEST PUSH2 0x50A DUP6 DUP6 DUP6 PUSH2 0xC9B JUMP JUMPDEST POP PUSH1 0x1 SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x6 SLOAD PUSH1 0x40 MLOAD PUSH1 0x0 SWAP2 PUSH32 0xFF00000000000000000000000000000000000000000000000000000000000000 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 DUP5 SWAP1 PUSH2 0x55A PUSH1 0x20 DUP3 ADD PUSH2 0xE20 JUMP JUMPDEST PUSH1 0x1F NOT DUP3 DUP3 SUB DUP2 ADD DUP4 MSTORE PUSH1 0x1F SWAP1 SWAP2 ADD AND PUSH1 0x40 DUP2 SWAP1 MSTORE PUSH2 0x57C SWAP2 SWAP1 PUSH1 0x20 ADD PUSH2 0x105B 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 PUSH1 0x20 ADD PUSH2 0x5F1 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH32 0xFF00000000000000000000000000000000000000000000000000000000000000 SWAP5 SWAP1 SWAP5 AND DUP5 MSTORE PUSH1 0x60 SWAP3 SWAP1 SWAP3 SHL PUSH12 0xFFFFFFFFFFFFFFFFFFFFFFFF NOT AND PUSH1 0x1 DUP5 ADD MSTORE PUSH1 0x15 DUP4 ADD MSTORE PUSH1 0x35 DUP3 ADD MSTORE PUSH1 0x55 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F NOT DUP2 DUP5 SUB ADD DUP2 MSTORE SWAP2 SWAP1 MSTORE DUP1 MLOAD PUSH1 0x20 SWAP1 SWAP2 ADD KECCAK256 SWAP3 SWAP2 POP POP JUMP JUMPDEST CALLER PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE DUP2 KECCAK256 SLOAD SWAP1 SWAP2 PUSH2 0x4B5 SWAP2 DUP6 SWAP1 PUSH2 0x4FA SWAP1 DUP7 SWAP1 PUSH2 0x1077 JUMP JUMPDEST PUSH1 0x6 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x671 JUMPI PUSH1 0x40 MLOAD PUSH4 0x30CD7471 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH32 0x0 PUSH2 0x69C DUP4 DUP4 PUSH2 0xD77 JUMP JUMPDEST DUP1 PUSH2 0x6A6 JUMPI POP POP POP JUMP JUMPDEST DUP1 PUSH1 0x2 SLOAD GT ISZERO PUSH2 0x6E2 JUMPI PUSH1 0x40 MLOAD PUSH32 0xA4875A4900000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x6 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x712 JUMPI PUSH1 0x40 MLOAD PUSH4 0x30CD7471 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 CALLER DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 SLOAD PUSH1 0x0 NOT DUP2 EQ PUSH2 0x74E JUMPI PUSH2 0x74E DUP4 CALLER PUSH2 0x4FA DUP6 DUP6 PUSH2 0x1044 JUMP JUMPDEST PUSH2 0x6E2 DUP4 DUP4 PUSH2 0xB4B JUMP JUMPDEST PUSH1 0x4 DUP1 SLOAD PUSH2 0x3C6 SWAP1 PUSH2 0xFF3 JUMP JUMPDEST CALLER PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE DUP2 KECCAK256 SLOAD SWAP1 SWAP2 PUSH2 0x4B5 SWAP2 DUP6 SWAP1 PUSH2 0x4FA SWAP1 DUP7 SWAP1 PUSH2 0x1044 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4B5 CALLER DUP5 DUP5 PUSH2 0xC9B JUMP JUMPDEST DUP4 TIMESTAMP GT ISZERO PUSH2 0x7E3 JUMPI PUSH1 0x40 MLOAD PUSH32 0x1A15A3CC00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH32 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5D576E7357A4501DDFE92F46681B20A0 DUP2 GT ISZERO PUSH2 0x83D JUMPI PUSH1 0x40 MLOAD PUSH32 0x40C1E74800000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP3 PUSH1 0xFF AND PUSH1 0x1B EQ ISZERO DUP1 ISZERO PUSH2 0x855 JUMPI POP DUP3 PUSH1 0xFF AND PUSH1 0x1C EQ ISZERO JUMPDEST ISZERO PUSH2 0x88C JUMPI PUSH1 0x40 MLOAD PUSH32 0x119BCE3900000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD DUP3 MSTORE PUSH1 0x2 DUP2 MSTORE PUSH32 0x1901000000000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP1 DUP4 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP11 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x5 SWAP1 SWAP2 MSTORE SWAP2 DUP3 KECCAK256 DUP1 SLOAD PUSH32 0x0 SWAP2 PUSH32 0x6E71EDAE12B1B97F4D1F60370FEF10105FA2FAAE0126114A169C64845D6126C9 SWAP2 DUP13 SWAP2 DUP13 SWAP2 DUP13 SWAP2 DUP9 PUSH2 0x930 DUP4 PUSH2 0x108F JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 DUP2 ADD SWAP7 SWAP1 SWAP7 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP5 DUP6 AND SWAP1 DUP7 ADD MSTORE SWAP3 SWAP1 SWAP2 AND PUSH1 0x60 DUP5 ADD MSTORE PUSH1 0x80 DUP4 ADD MSTORE PUSH1 0xA0 DUP3 ADD MSTORE PUSH1 0xC0 DUP2 ADD DUP9 SWAP1 MSTORE PUSH1 0xE0 ADD 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 PUSH1 0x20 ADD PUSH2 0x994 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x10AA JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F NOT DUP2 DUP5 SUB ADD DUP2 MSTORE DUP3 DUP3 MSTORE DUP1 MLOAD PUSH1 0x20 SWAP2 DUP3 ADD KECCAK256 PUSH1 0x0 DUP1 DUP6 MSTORE SWAP2 DUP5 ADD DUP1 DUP5 MSTORE DUP2 SWAP1 MSTORE PUSH1 0xFF DUP9 AND SWAP3 DUP5 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x60 DUP4 ADD DUP7 SWAP1 MSTORE PUSH1 0x80 DUP4 ADD DUP6 SWAP1 MSTORE SWAP1 SWAP3 POP SWAP1 PUSH1 0x1 SWAP1 PUSH1 0xA0 ADD PUSH1 0x20 PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 SUB SWAP1 DUP1 DUP5 SUB SWAP1 DUP6 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x9FF JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP PUSH1 0x20 PUSH1 0x40 MLOAD SUB MLOAD SWAP1 POP DUP9 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0xA56 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8BAA579F00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0xA61 DUP10 DUP10 DUP10 PUSH2 0xBFE JUMP JUMPDEST POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x6 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0xA97 JUMPI PUSH1 0x40 MLOAD PUSH4 0x30CD7471 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0xAD7 JUMPI PUSH1 0x40 MLOAD PUSH32 0x49E27CFF00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x6 SLOAD PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP5 AND SWAP3 AND SWAP1 PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 SWAP1 PUSH1 0x0 SWAP1 LOG3 PUSH1 0x6 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 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0xB72 JUMPI PUSH1 0x40 MLOAD PUSH4 0xDA30F65 PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST 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 0xB9A SWAP1 DUP5 SWAP1 PUSH2 0x1044 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP DUP1 PUSH1 0x2 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0xBB3 SWAP2 SWAP1 PUSH2 0x1044 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x40 MLOAD DUP2 DUP2 MSTORE PUSH1 0x0 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND SWAP1 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP1 PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND ISZERO DUP1 PUSH2 0xC1B JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND ISZERO JUMPDEST ISZERO PUSH2 0xC39 JUMPI PUSH1 0x40 MLOAD PUSH4 0xDA30F65 PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 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 DUP3 MSTORE SWAP2 DUP3 SWAP1 KECCAK256 DUP6 SWAP1 SSTORE SWAP1 MLOAD DUP5 DUP2 MSTORE PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 SWAP2 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND ISZERO DUP1 PUSH2 0xCB8 JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND ISZERO JUMPDEST ISZERO PUSH2 0xCD6 JUMPI PUSH1 0x40 MLOAD PUSH4 0xDA30F65 PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD DUP4 SWAP3 SWAP1 PUSH2 0xCFE SWAP1 DUP5 SWAP1 PUSH2 0x1044 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 0xD2B SWAP1 DUP5 SWAP1 PUSH2 0x1077 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF DUP4 PUSH1 0x40 MLOAD PUSH2 0xC8E SWAP2 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0xD9E JUMPI PUSH1 0x40 MLOAD PUSH4 0xDA30F65 PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0x2 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0xDB0 SWAP2 SWAP1 PUSH2 0x1077 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 0xDDD SWAP1 DUP5 SWAP1 PUSH2 0x1077 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x40 MLOAD DUP2 DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 PUSH1 0x0 SWAP1 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP1 PUSH1 0x20 ADD PUSH2 0xBF2 JUMP JUMPDEST PUSH2 0x349 DUP1 PUSH2 0x10D2 DUP4 CODECOPY ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0xE48 JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0xE30 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0xE57 JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 DUP3 MLOAD DUP1 PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0xE7C DUP2 PUSH1 0x40 DUP6 ADD PUSH1 0x20 DUP8 ADD PUSH2 0xE2D JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP2 SWAP1 SWAP2 ADD PUSH1 0x40 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xEA2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0xEC0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xED8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xEE1 DUP4 PUSH2 0xEA9 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 0xF04 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xF0D DUP5 PUSH2 0xEA9 JUMP JUMPDEST SWAP3 POP PUSH2 0xF1B PUSH1 0x20 DUP6 ADD PUSH2 0xEA9 JUMP JUMPDEST SWAP2 POP PUSH1 0x40 DUP5 ADD CALLDATALOAD SWAP1 POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xF3D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xF46 DUP3 PUSH2 0xEA9 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xE0 DUP9 DUP11 SUB SLT ISZERO PUSH2 0xF68 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xF71 DUP9 PUSH2 0xEA9 JUMP JUMPDEST SWAP7 POP PUSH2 0xF7F PUSH1 0x20 DUP10 ADD PUSH2 0xEA9 JUMP JUMPDEST SWAP6 POP PUSH1 0x40 DUP9 ADD CALLDATALOAD SWAP5 POP PUSH1 0x60 DUP9 ADD CALLDATALOAD SWAP4 POP PUSH1 0x80 DUP9 ADD CALLDATALOAD PUSH1 0xFF DUP2 AND DUP2 EQ PUSH2 0xFA3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP7 SWAP10 SWAP6 SWAP9 POP SWAP4 SWAP7 SWAP3 SWAP6 SWAP5 PUSH1 0xA0 DUP5 ADD CALLDATALOAD SWAP5 POP PUSH1 0xC0 SWAP1 SWAP4 ADD CALLDATALOAD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xFD3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xFDC DUP4 PUSH2 0xEA9 JUMP JUMPDEST SWAP2 POP PUSH2 0xFEA PUSH1 0x20 DUP5 ADD PUSH2 0xEA9 JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0x1007 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH2 0x1028 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 PUSH1 0x0 DUP3 DUP3 LT ISZERO PUSH2 0x1056 JUMPI PUSH2 0x1056 PUSH2 0x102E JUMP JUMPDEST POP SUB SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 MLOAD PUSH2 0x106D DUP2 DUP5 PUSH1 0x20 DUP8 ADD PUSH2 0xE2D JUMP JUMPDEST SWAP2 SWAP1 SWAP2 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 NOT DUP3 GT ISZERO PUSH2 0x108A JUMPI PUSH2 0x108A PUSH2 0x102E JUMP JUMPDEST POP ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x0 NOT DUP3 EQ ISZERO PUSH2 0x10A3 JUMPI PUSH2 0x10A3 PUSH2 0x102E JUMP JUMPDEST POP PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP5 MLOAD PUSH2 0x10BC DUP2 DUP5 PUSH1 0x20 DUP10 ADD PUSH2 0xE2D JUMP JUMPDEST SWAP2 SWAP1 SWAP2 ADD SWAP3 DUP4 MSTORE POP PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 ADD SWAP2 SWAP1 POP JUMP INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x1 PUSH1 0x0 SSTORE CALLVALUE DUP1 ISZERO PUSH2 0x15 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x324 DUP1 PUSH2 0x25 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 0x35 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH3 0xF55D9D EQ PUSH2 0x3A JUMPI DUP1 PUSH4 0x1CFF79CD EQ PUSH2 0x4F JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4D PUSH2 0x48 CALLDATASIZE PUSH1 0x4 PUSH2 0x1DA JUMP JUMPDEST PUSH2 0x79 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x62 PUSH2 0x5D CALLDATASIZE PUSH1 0x4 PUSH2 0x1FC JUMP JUMPDEST PUSH2 0xBB JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x70 SWAP3 SWAP2 SWAP1 PUSH2 0x27F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x2 PUSH1 0x0 SLOAD EQ ISZERO PUSH2 0x9D JUMPI PUSH1 0x40 MLOAD PUSH4 0xCAA30F55 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x2 PUSH1 0x0 SSTORE PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 AND SELFDESTRUCT JUMPDEST PUSH1 0x0 PUSH1 0x60 PUSH1 0x2 PUSH1 0x0 SLOAD EQ ISZERO PUSH2 0xE3 JUMPI PUSH1 0x40 MLOAD PUSH4 0xCAA30F55 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x2 PUSH1 0x0 SSTORE PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP6 AND EXTCODESIZE PUSH2 0x136 JUMPI PUSH1 0x40 MLOAD PUSH32 0x6F7C43F100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP5 DUP5 PUSH1 0x40 MLOAD PUSH2 0x15D SWAP3 SWAP2 SWAP1 PUSH2 0x2DE JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP7 GAS CALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x19A JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x19F JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP PUSH1 0x1 PUSH1 0x0 SSTORE SWAP1 SWAP7 SWAP1 SWAP6 POP SWAP4 POP POP POP POP JUMP JUMPDEST DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 AND DUP2 EQ PUSH2 0x1D5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1EC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1F5 DUP3 PUSH2 0x1B1 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x40 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x211 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x21A DUP5 PUSH2 0x1B1 JUMP JUMPDEST SWAP3 POP PUSH1 0x20 DUP5 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x237 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP7 ADD SWAP2 POP DUP7 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x24B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD DUP2 DUP2 GT ISZERO PUSH2 0x25A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP8 PUSH1 0x20 DUP3 DUP6 ADD ADD GT ISZERO PUSH2 0x26C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x20 DUP4 ADD SWAP5 POP DUP1 SWAP4 POP POP POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST DUP3 ISZERO ISZERO DUP2 MSTORE PUSH1 0x0 PUSH1 0x20 PUSH1 0x40 DUP2 DUP5 ADD MSTORE DUP4 MLOAD DUP1 PUSH1 0x40 DUP6 ADD MSTORE PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x2B5 JUMPI DUP6 DUP2 ADD DUP4 ADD MLOAD DUP6 DUP3 ADD PUSH1 0x60 ADD MSTORE DUP3 ADD PUSH2 0x299 JUMP JUMPDEST DUP2 DUP2 GT ISZERO PUSH2 0x2C7 JUMPI PUSH1 0x0 PUSH1 0x60 DUP4 DUP8 ADD ADD MSTORE JUMPDEST POP PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x60 ADD SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST DUP2 DUP4 DUP3 CALLDATACOPY PUSH1 0x0 SWAP2 ADD SWAP1 DUP2 MSTORE SWAP2 SWAP1 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xDF 0xB7 MUL 0x49 0x2C CALLDATALOAD 0xC6 0xA8 DUP5 0xAC GT SWAP10 PUSH28 0x483E3FEE4FF8145C7ABB0799D2A2FC8674C39364736F6C6343000809 STOP CALLER LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 LOG0 DUP7 0x2D DUP3 0x2C 0x5E PUSH23 0xC8687A97D9D537EC0E3DA210445E2873BE021A84F7CD0A DUP14 0xD4 PUSH5 0x736F6C6343 STOP ADDMOD MULMOD STOP CALLER ", - "sourceMap": "339:1371:4:-:0;;;435:182;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;581:4;587:6;595:8;605;555:4:10;519;525:6;533:8;1775:5:7;1768:4;:12;;;;;;;;;;;;:::i;:::-;-1:-1:-1;1790:16:7;;;;:6;;:16;;;;;:::i;:::-;-1:-1:-1;1816:20:7;;;;;;1153:22:8;;;;;;;;;;1187:10;;;;;;;;;;;-1:-1:-1;;;1187:10:8;;;;1114:115;;674:66;1114:115;;;2074:25:34;;;;2115:18;;2108:34;1177:21:8;2158:18:34;;;2151:34;1200:13:8;2201:18:34;;;2194:34;;;;1223:4:8;2244:19:34;;;2237:61;2046:19;;;-1:-1:-1;1114:115:8;;-1:-1:-1;1815:489:34;1114:115:8;;;;-1:-1:-1;;1114:115:8;;;;;;;;;;1091:148;;1114:115;1091:148;;;;1072:167;;207:5:11;:18;;-1:-1:-1;;;;;;207:18:11;215:10;207:18;;;;;;215:10;-1:-1:-1;207:5:11;;240:44;;207:5;;240:44;581:14:10::3;::::0;-1:-1:-1;339:1371:4;;-1:-1:-1;;;;;;339:1371:4;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;339:1371:4;;;-1:-1:-1;339:1371:4;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;14:127:34;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:885;200:5;253:3;246:4;238:6;234:17;230:27;220:55;;271:1;268;261:12;220:55;294:13;;-1:-1:-1;;;;;356:10:34;;;353:36;;;369:18;;:::i;:::-;444:2;438:9;412:2;498:13;;-1:-1:-1;;494:22:34;;;518:2;490:31;486:40;474:53;;;542:18;;;562:22;;;539:46;536:72;;;588:18;;:::i;:::-;628:10;624:2;617:22;663:2;655:6;648:18;685:4;675:14;;730:3;725:2;720;712:6;708:15;704:24;701:33;698:53;;;747:1;744;737:12;698:53;769:1;760:10;;779:133;793:2;790:1;787:9;779:133;;;881:14;;;877:23;;871:30;850:14;;;846:23;;839:63;804:10;;;;779:133;;;930:2;927:1;924:9;921:80;;;989:1;984:2;979;971:6;967:15;963:24;956:35;921:80;1019:6;146:885;-1:-1:-1;;;;;;146:885:34:o;1036:774::-;1151:6;1159;1167;1175;1228:3;1216:9;1207:7;1203:23;1199:33;1196:53;;;1245:1;1242;1235:12;1196:53;1272:16;;-1:-1:-1;;;;;1337:14:34;;;1334:34;;;1364:1;1361;1354:12;1334:34;1387:61;1440:7;1431:6;1420:9;1416:22;1387:61;:::i;:::-;1377:71;;1494:2;1483:9;1479:18;1473:25;1457:41;;1523:2;1513:8;1510:16;1507:36;;;1539:1;1536;1529:12;1507:36;;1562:63;1617:7;1606:8;1595:9;1591:24;1562:63;:::i;:::-;1552:73;;;1668:2;1657:9;1653:18;1647:25;1712:4;1705:5;1701:16;1694:5;1691:27;1681:55;;1732:1;1729;1722:12;1681:55;1800:2;1785:18;;;;1779:25;1036:774;;;;-1:-1:-1;;;1036:774:34:o;2309:380::-;2388:1;2384:12;;;;2431;;;2452:61;;2506:4;2498:6;2494:17;2484:27;;2452:61;2559:2;2551:6;2548:14;2528:18;2525:38;2522:161;;;2605:10;2600:3;2596:20;2593:1;2586:31;2640:4;2637:1;2630:15;2668:4;2665:1;2658:15;2522:161;;2309:380;;;:::o;:::-;339:1371:4;;;;;;;;;;;;;;;;;;" - }, - "deployedBytecode": { - "functionDebugData": { - "@DOMAIN_SEPARATOR_3898": { - "entryPoint": null, - "id": 3898, - "parameterSlots": 0, - "returnSlots": 0 - }, - "@_approve_3862": { - "entryPoint": 3070, - "id": 3862, - "parameterSlots": 3, - "returnSlots": 0 - }, - "@_beforeTokenTransfer_3873": { - "entryPoint": null, - "id": 3873, - "parameterSlots": 3, - "returnSlots": 0 - }, - "@_burn_3820": { - "entryPoint": 2891, - "id": 3820, - "parameterSlots": 2, - "returnSlots": 0 - }, - "@_mint_3773": { - "entryPoint": 3447, - "id": 3773, - "parameterSlots": 2, - "returnSlots": 0 - }, - "@_transfer_3726": { - "entryPoint": 3227, - "id": 3726, - "parameterSlots": 3, - "returnSlots": 0 - }, - "@allowance_3497": { - "entryPoint": null, - "id": 3497, - "parameterSlots": 0, - "returnSlots": 0 - }, - "@approve_3571": { - "entryPoint": 1192, - "id": 3571, - "parameterSlots": 2, - "returnSlots": 1 - }, - "@balanceOf_3490": { - "entryPoint": null, - "id": 3490, - "parameterSlots": 0, - "returnSlots": 0 - }, - "@burnFrom_3292": { - "entryPoint": 1767, - "id": 3292, - "parameterSlots": 2, - "returnSlots": 0 - }, - "@burn_3250": { - "entryPoint": 1095, - "id": 3250, - "parameterSlots": 1, - "returnSlots": 0 - }, - "@cap_4314": { - "entryPoint": null, - "id": 4314, - "parameterSlots": 0, - "returnSlots": 0 - }, - "@decimals_3506": { - "entryPoint": null, - "id": 3506, - "parameterSlots": 0, - "returnSlots": 0 - }, - "@decreaseAllowance_3674": { - "entryPoint": 1893, - "id": 3674, - "parameterSlots": 2, - "returnSlots": 1 - }, - "@depositAddress_3229": { - "entryPoint": 1301, - "id": 3229, - "parameterSlots": 1, - "returnSlots": 1 - }, - "@increaseAllowance_3647": { - "entryPoint": 1551, - "id": 3647, - "parameterSlots": 2, - "returnSlots": 1 - }, - "@mint_4371": { - "entryPoint": 1606, - "id": 4371, - "parameterSlots": 2, - "returnSlots": 0 - }, - "@name_3502": { - "entryPoint": 953, - "id": 3502, - "parameterSlots": 0, - "returnSlots": 0 - }, - "@nonces_3917": { - "entryPoint": null, - "id": 3917, - "parameterSlots": 0, - "returnSlots": 0 - }, - "@owner_4380": { - "entryPoint": null, - "id": 4380, - "parameterSlots": 0, - "returnSlots": 0 - }, - "@permit_4043": { - "entryPoint": 1961, - "id": 4043, - "parameterSlots": 7, - "returnSlots": 0 - }, - "@symbol_3504": { - "entryPoint": 1880, - "id": 3504, - "parameterSlots": 0, - "returnSlots": 0 - }, - "@totalSupply_3500": { - "entryPoint": null, - "id": 3500, - "parameterSlots": 0, - "returnSlots": 0 - }, - "@transferFrom_3620": { - "entryPoint": 1214, - "id": 3620, - "parameterSlots": 3, - "returnSlots": 1 - }, - "@transferOwnership_4437": { - "entryPoint": 2668, - "id": 4437, - "parameterSlots": 1, - "returnSlots": 0 - }, - "@transfer_3550": { - "entryPoint": 1948, - "id": 3550, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_decode_address": { - "entryPoint": 3753, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "abi_decode_tuple_t_address": { - "entryPoint": 3883, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_decode_tuple_t_addresst_address": { - "entryPoint": 4032, - "id": null, - "parameterSlots": 2, - "returnSlots": 2 - }, - "abi_decode_tuple_t_addresst_addresst_uint256": { - "entryPoint": 3823, - "id": null, - "parameterSlots": 2, - "returnSlots": 3 - }, - "abi_decode_tuple_t_addresst_addresst_uint256t_uint256t_uint8t_bytes32t_bytes32": { - "entryPoint": 3917, - "id": null, - "parameterSlots": 2, - "returnSlots": 7 - }, - "abi_decode_tuple_t_addresst_uint256": { - "entryPoint": 3781, - "id": null, - "parameterSlots": 2, - "returnSlots": 2 - }, - "abi_decode_tuple_t_bytes32": { - "entryPoint": 3728, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_encode_tuple_packed_t_bytes1_t_address_t_bytes32_t_bytes32__to_t_bytes1_t_address_t_bytes32_t_bytes32__nonPadded_inplace_fromStack_reversed": { - "entryPoint": null, - "id": null, - "parameterSlots": 5, - "returnSlots": 1 - }, - "abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed": { - "entryPoint": 4187, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_encode_tuple_packed_t_string_memory_ptr_t_bytes32_t_bytes32__to_t_string_memory_ptr_t_bytes32_t_bytes32__nonPadded_inplace_fromStack_reversed": { - "entryPoint": 4266, - "id": null, - "parameterSlots": 4, - "returnSlots": 1 - }, - "abi_encode_tuple_t_address__to_t_address__fromStack_reversed": { - "entryPoint": null, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed": { - "entryPoint": null, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed": { - "entryPoint": null, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_encode_tuple_t_bytes32_t_address_t_address_t_uint256_t_uint256_t_uint256__to_t_bytes32_t_address_t_address_t_uint256_t_uint256_t_uint256__fromStack_reversed": { - "entryPoint": null, - "id": null, - "parameterSlots": 7, - "returnSlots": 1 - }, - "abi_encode_tuple_t_bytes32_t_uint8_t_bytes32_t_bytes32__to_t_bytes32_t_uint8_t_bytes32_t_bytes32__fromStack_reversed": { - "entryPoint": null, - "id": null, - "parameterSlots": 5, - "returnSlots": 1 - }, - "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed": { - "entryPoint": 3677, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": { - "entryPoint": null, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_encode_tuple_t_uint8__to_t_uint8__fromStack_reversed": { - "entryPoint": null, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "checked_add_t_uint256": { - "entryPoint": 4215, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "checked_sub_t_uint256": { - "entryPoint": 4164, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "copy_memory_to_memory": { - "entryPoint": 3629, - "id": null, - "parameterSlots": 3, - "returnSlots": 0 - }, - "extract_byte_array_length": { - "entryPoint": 4083, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "increment_t_uint256": { - "entryPoint": 4239, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "panic_error_0x11": { - "entryPoint": 4142, - "id": null, - "parameterSlots": 0, - "returnSlots": 0 - } - }, - "generatedSources": [ - { - "ast": { - "nodeType": "YulBlock", - "src": "0:7048:34", - "statements": [ - { - "nodeType": "YulBlock", - "src": "6:3:34", - "statements": [] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "67:205:34", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "77:10:34", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "86:1:34", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "i", - "nodeType": "YulTypedName", - "src": "81:1:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "146:63:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "171:3:34" - }, - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "176:1:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "167:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "167:11:34" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "190:3:34" - }, - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "195:1:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "186:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "186:11:34" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "180:5:34" - }, - "nodeType": "YulFunctionCall", - "src": "180:18:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "160:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "160:39:34" - }, - "nodeType": "YulExpressionStatement", - "src": "160:39:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "107:1:34" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "110:6:34" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "104:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "104:13:34" - }, - "nodeType": "YulForLoop", - "post": { - "nodeType": "YulBlock", - "src": "118:19:34", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "120:15:34", - "value": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "129:1:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "132:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "125:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "125:10:34" - }, - "variableNames": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "120:1:34" - } - ] - } - ] - }, - "pre": { - "nodeType": "YulBlock", - "src": "100:3:34", - "statements": [] - }, - "src": "96:113:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "235:31:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "248:3:34" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "253:6:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "244:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "244:16:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "262:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "237:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "237:27:34" - }, - "nodeType": "YulExpressionStatement", - "src": "237:27:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "224:1:34" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "227:6:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "221:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "221:13:34" - }, - "nodeType": "YulIf", - "src": "218:48:34" - } - ] - }, - "name": "copy_memory_to_memory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "src", - "nodeType": "YulTypedName", - "src": "45:3:34", - "type": "" - }, - { - "name": "dst", - "nodeType": "YulTypedName", - "src": "50:3:34", - "type": "" - }, - { - "name": "length", - "nodeType": "YulTypedName", - "src": "55:6:34", - "type": "" - } - ], - "src": "14:258:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "398:262:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "415:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "426:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "408:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "408:21:34" - }, - "nodeType": "YulExpressionStatement", - "src": "408:21:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "438:27:34", - "value": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "458:6:34" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "452:5:34" - }, - "nodeType": "YulFunctionCall", - "src": "452:13:34" - }, - "variables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "442:6:34", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "485:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "496:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "481:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "481:18:34" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "501:6:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "474:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "474:34:34" - }, - "nodeType": "YulExpressionStatement", - "src": "474:34:34" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "543:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "551:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "539:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "539:15:34" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "560:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "571:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "556:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "556:18:34" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "576:6:34" - } - ], - "functionName": { - "name": "copy_memory_to_memory", - "nodeType": "YulIdentifier", - "src": "517:21:34" - }, - "nodeType": "YulFunctionCall", - "src": "517:66:34" - }, - "nodeType": "YulExpressionStatement", - "src": "517:66:34" - }, - { - "nodeType": "YulAssignment", - "src": "592:62:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "608:9:34" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "627:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "635:2:34", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "623:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "623:15:34" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "644:2:34", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "640:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "640:7:34" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "619:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "619:29:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "604:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "604:45:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "651:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "600:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "600:54:34" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "592:4:34" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "367:9:34", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "378:6:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "389:4:34", - "type": "" - } - ], - "src": "277:383:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "735:110:34", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "781:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "790:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "793:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "783:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "783:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "783:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "756:7:34" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "765:9:34" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "752:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "752:23:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "777:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "748:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "748:32:34" - }, - "nodeType": "YulIf", - "src": "745:52:34" - }, - { - "nodeType": "YulAssignment", - "src": "806:33:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "829:9:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "816:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "816:23:34" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "806:6:34" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_bytes32", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "701:9:34", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "712:7:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "724:6:34", - "type": "" - } - ], - "src": "665:180:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "899:147:34", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "909:29:34", - "value": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "931:6:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "918:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "918:20:34" - }, - "variableNames": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "909:5:34" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1024:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1033:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1036:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "1026:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "1026:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "1026:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "960:5:34" - }, - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "971:5:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "978:42:34", - "type": "", - "value": "0xffffffffffffffffffffffffffffffffffffffff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "967:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "967:54:34" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "957:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "957:65:34" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "950:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "950:73:34" - }, - "nodeType": "YulIf", - "src": "947:93:34" - } - ] - }, - "name": "abi_decode_address", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "878:6:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "889:5:34", - "type": "" - } - ], - "src": "850:196:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1138:167:34", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "1184:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1193:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1196:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "1186:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "1186:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "1186:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "1159:7:34" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1168:9:34" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "1155:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1155:23:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1180:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "1151:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1151:32:34" - }, - "nodeType": "YulIf", - "src": "1148:52:34" - }, - { - "nodeType": "YulAssignment", - "src": "1209:39:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1238:9:34" - } - ], - "functionName": { - "name": "abi_decode_address", - "nodeType": "YulIdentifier", - "src": "1219:18:34" - }, - "nodeType": "YulFunctionCall", - "src": "1219:29:34" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1209:6:34" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "1257:42:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1284:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1295:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1280:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1280:18:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "1267:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "1267:32:34" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "1257:6:34" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_addresst_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "1096:9:34", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "1107:7:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "1119:6:34", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "1127:6:34", - "type": "" - } - ], - "src": "1051:254:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1405:92:34", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "1415:26:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1427:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1438:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1423:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1423:18:34" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "1415:4:34" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1457:9:34" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1482:6:34" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "1475:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "1475:14:34" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "1468:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "1468:22:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1450:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "1450:41:34" - }, - "nodeType": "YulExpressionStatement", - "src": "1450:41:34" - } - ] - }, - "name": "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "1374:9:34", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "1385:6:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "1396:4:34", - "type": "" - } - ], - "src": "1310:187:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1603:76:34", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "1613:26:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1625:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1636:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1621:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1621:18:34" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "1613:4:34" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1655:9:34" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1666:6:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1648:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "1648:25:34" - }, - "nodeType": "YulExpressionStatement", - "src": "1648:25:34" - } - ] - }, - "name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "1572:9:34", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "1583:6:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "1594:4:34", - "type": "" - } - ], - "src": "1502:177:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1788:224:34", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "1834:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1843:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1846:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "1836:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "1836:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "1836:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "1809:7:34" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1818:9:34" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "1805:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1805:23:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1830:2:34", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "1801:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1801:32:34" - }, - "nodeType": "YulIf", - "src": "1798:52:34" - }, - { - "nodeType": "YulAssignment", - "src": "1859:39:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1888:9:34" - } - ], - "functionName": { - "name": "abi_decode_address", - "nodeType": "YulIdentifier", - "src": "1869:18:34" - }, - "nodeType": "YulFunctionCall", - "src": "1869:29:34" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1859:6:34" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "1907:48:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1940:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1951:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1936:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1936:18:34" - } - ], - "functionName": { - "name": "abi_decode_address", - "nodeType": "YulIdentifier", - "src": "1917:18:34" - }, - "nodeType": "YulFunctionCall", - "src": "1917:38:34" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "1907:6:34" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "1964:42:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1991:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2002:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1987:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1987:18:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "1974:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "1974:32:34" - }, - "variableNames": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "1964:6:34" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_addresst_addresst_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "1738:9:34", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "1749:7:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "1761:6:34", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "1769:6:34", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "1777:6:34", - "type": "" - } - ], - "src": "1684:328:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2114:87:34", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "2124:26:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2136:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2147:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2132:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "2132:18:34" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "2124:4:34" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2166:9:34" - }, - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "2181:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2189:4:34", - "type": "", - "value": "0xff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "2177:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "2177:17:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2159:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "2159:36:34" - }, - "nodeType": "YulExpressionStatement", - "src": "2159:36:34" - } - ] - }, - "name": "abi_encode_tuple_t_uint8__to_t_uint8__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "2083:9:34", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "2094:6:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "2105:4:34", - "type": "" - } - ], - "src": "2017:184:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2307:125:34", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "2317:26:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2329:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2340:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2325:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "2325:18:34" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "2317:4:34" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2359:9:34" - }, - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "2374:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2382:42:34", - "type": "", - "value": "0xffffffffffffffffffffffffffffffffffffffff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "2370:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "2370:55:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2352:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "2352:74:34" - }, - "nodeType": "YulExpressionStatement", - "src": "2352:74:34" - } - ] - }, - "name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "2276:9:34", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "2287:6:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "2298:4:34", - "type": "" - } - ], - "src": "2206:226:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2538:76:34", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "2548:26:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2560:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2571:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2556:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "2556:18:34" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "2548:4:34" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2590:9:34" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "2601:6:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2583:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "2583:25:34" - }, - "nodeType": "YulExpressionStatement", - "src": "2583:25:34" - } - ] - }, - "name": "abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "2507:9:34", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "2518:6:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "2529:4:34", - "type": "" - } - ], - "src": "2437:177:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2689:116:34", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "2735:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2744:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2747:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "2737:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "2737:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "2737:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "2710:7:34" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2719:9:34" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "2706:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "2706:23:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2731:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "2702:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "2702:32:34" - }, - "nodeType": "YulIf", - "src": "2699:52:34" - }, - { - "nodeType": "YulAssignment", - "src": "2760:39:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2789:9:34" - } - ], - "functionName": { - "name": "abi_decode_address", - "nodeType": "YulIdentifier", - "src": "2770:18:34" - }, - "nodeType": "YulFunctionCall", - "src": "2770:29:34" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "2760:6:34" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_address", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "2655:9:34", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "2666:7:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "2678:6:34", - "type": "" - } - ], - "src": "2619:186:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2980:523:34", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "3027:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3036:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3039:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "3029:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "3029:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "3029:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "3001:7:34" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3010:9:34" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "2997:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "2997:23:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3022:3:34", - "type": "", - "value": "224" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "2993:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "2993:33:34" - }, - "nodeType": "YulIf", - "src": "2990:53:34" - }, - { - "nodeType": "YulAssignment", - "src": "3052:39:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3081:9:34" - } - ], - "functionName": { - "name": "abi_decode_address", - "nodeType": "YulIdentifier", - "src": "3062:18:34" - }, - "nodeType": "YulFunctionCall", - "src": "3062:29:34" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "3052:6:34" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "3100:48:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3133:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3144:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3129:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "3129:18:34" - } - ], - "functionName": { - "name": "abi_decode_address", - "nodeType": "YulIdentifier", - "src": "3110:18:34" - }, - "nodeType": "YulFunctionCall", - "src": "3110:38:34" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "3100:6:34" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "3157:42:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3184:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3195:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3180:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "3180:18:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "3167:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "3167:32:34" - }, - "variableNames": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "3157:6:34" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "3208:42:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3235:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3246:2:34", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3231:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "3231:18:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "3218:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "3218:32:34" - }, - "variableNames": [ - { - "name": "value3", - "nodeType": "YulIdentifier", - "src": "3208:6:34" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "3259:46:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3289:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3300:3:34", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3285:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "3285:19:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "3272:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "3272:33:34" - }, - "variables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "3263:5:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3353:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3362:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3365:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "3355:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "3355:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "3355:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "3327:5:34" - }, - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "3338:5:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3345:4:34", - "type": "", - "value": "0xff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "3334:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "3334:16:34" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "3324:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "3324:27:34" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "3317:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "3317:35:34" - }, - "nodeType": "YulIf", - "src": "3314:55:34" - }, - { - "nodeType": "YulAssignment", - "src": "3378:15:34", - "value": { - "name": "value", - "nodeType": "YulIdentifier", - "src": "3388:5:34" - }, - "variableNames": [ - { - "name": "value4", - "nodeType": "YulIdentifier", - "src": "3378:6:34" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "3402:43:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3429:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3440:3:34", - "type": "", - "value": "160" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3425:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "3425:19:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "3412:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "3412:33:34" - }, - "variableNames": [ - { - "name": "value5", - "nodeType": "YulIdentifier", - "src": "3402:6:34" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "3454:43:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3481:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3492:3:34", - "type": "", - "value": "192" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3477:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "3477:19:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "3464:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "3464:33:34" - }, - "variableNames": [ - { - "name": "value6", - "nodeType": "YulIdentifier", - "src": "3454:6:34" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_addresst_addresst_uint256t_uint256t_uint8t_bytes32t_bytes32", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "2898:9:34", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "2909:7:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "2921:6:34", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "2929:6:34", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "2937:6:34", - "type": "" - }, - { - "name": "value3", - "nodeType": "YulTypedName", - "src": "2945:6:34", - "type": "" - }, - { - "name": "value4", - "nodeType": "YulTypedName", - "src": "2953:6:34", - "type": "" - }, - { - "name": "value5", - "nodeType": "YulTypedName", - "src": "2961:6:34", - "type": "" - }, - { - "name": "value6", - "nodeType": "YulTypedName", - "src": "2969:6:34", - "type": "" - } - ], - "src": "2810:693:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3595:173:34", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "3641:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3650:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3653:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "3643:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "3643:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "3643:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "3616:7:34" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3625:9:34" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "3612:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "3612:23:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3637:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "3608:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "3608:32:34" - }, - "nodeType": "YulIf", - "src": "3605:52:34" - }, - { - "nodeType": "YulAssignment", - "src": "3666:39:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3695:9:34" - } - ], - "functionName": { - "name": "abi_decode_address", - "nodeType": "YulIdentifier", - "src": "3676:18:34" - }, - "nodeType": "YulFunctionCall", - "src": "3676:29:34" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "3666:6:34" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "3714:48:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3747:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3758:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3743:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "3743:18:34" - } - ], - "functionName": { - "name": "abi_decode_address", - "nodeType": "YulIdentifier", - "src": "3724:18:34" - }, - "nodeType": "YulFunctionCall", - "src": "3724:38:34" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "3714:6:34" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_addresst_address", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "3553:9:34", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "3564:7:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "3576:6:34", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "3584:6:34", - "type": "" - } - ], - "src": "3508:260:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3828:382:34", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "3838:22:34", - "value": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3852:1:34", - "type": "", - "value": "1" - }, - { - "name": "data", - "nodeType": "YulIdentifier", - "src": "3855:4:34" - } - ], - "functionName": { - "name": "shr", - "nodeType": "YulIdentifier", - "src": "3848:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "3848:12:34" - }, - "variableNames": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "3838:6:34" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "3869:38:34", - "value": { - "arguments": [ - { - "name": "data", - "nodeType": "YulIdentifier", - "src": "3899:4:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3905:1:34", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "3895:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "3895:12:34" - }, - "variables": [ - { - "name": "outOfPlaceEncoding", - "nodeType": "YulTypedName", - "src": "3873:18:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3946:31:34", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "3948:27:34", - "value": { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "3962:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3970:4:34", - "type": "", - "value": "0x7f" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "3958:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "3958:17:34" - }, - "variableNames": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "3948:6:34" - } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "outOfPlaceEncoding", - "nodeType": "YulIdentifier", - "src": "3926:18:34" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "3919:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "3919:26:34" - }, - "nodeType": "YulIf", - "src": "3916:61:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4036:168:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4057:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4060:77:34", - "type": "", - "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "4050:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "4050:88:34" - }, - "nodeType": "YulExpressionStatement", - "src": "4050:88:34" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4158:1:34", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4161:4:34", - "type": "", - "value": "0x22" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "4151:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "4151:15:34" - }, - "nodeType": "YulExpressionStatement", - "src": "4151:15:34" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4186:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4189:4:34", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "4179:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "4179:15:34" - }, - "nodeType": "YulExpressionStatement", - "src": "4179:15:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "outOfPlaceEncoding", - "nodeType": "YulIdentifier", - "src": "3992:18:34" - }, - { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "4015:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4023:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "4012:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "4012:14:34" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "3989:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "3989:38:34" - }, - "nodeType": "YulIf", - "src": "3986:218:34" - } - ] - }, - "name": "extract_byte_array_length", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "data", - "nodeType": "YulTypedName", - "src": "3808:4:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "3817:6:34", - "type": "" - } - ], - "src": "3773:437:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4247:152:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4264:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4267:77:34", - "type": "", - "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "4257:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "4257:88:34" - }, - "nodeType": "YulExpressionStatement", - "src": "4257:88:34" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4361:1:34", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4364:4:34", - "type": "", - "value": "0x11" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "4354:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "4354:15:34" - }, - "nodeType": "YulExpressionStatement", - "src": "4354:15:34" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4385:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4388:4:34", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "4378:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "4378:15:34" - }, - "nodeType": "YulExpressionStatement", - "src": "4378:15:34" - } - ] - }, - "name": "panic_error_0x11", - "nodeType": "YulFunctionDefinition", - "src": "4215:184:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4453:76:34", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "4475:22:34", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x11", - "nodeType": "YulIdentifier", - "src": "4477:16:34" - }, - "nodeType": "YulFunctionCall", - "src": "4477:18:34" - }, - "nodeType": "YulExpressionStatement", - "src": "4477:18:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "4469:1:34" - }, - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "4472:1:34" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "4466:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "4466:8:34" - }, - "nodeType": "YulIf", - "src": "4463:34:34" - }, - { - "nodeType": "YulAssignment", - "src": "4506:17:34", - "value": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "4518:1:34" - }, - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "4521:1:34" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "4514:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "4514:9:34" - }, - "variableNames": [ - { - "name": "diff", - "nodeType": "YulIdentifier", - "src": "4506:4:34" - } - ] - } - ] - }, - "name": "checked_sub_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "x", - "nodeType": "YulTypedName", - "src": "4435:1:34", - "type": "" - }, - { - "name": "y", - "nodeType": "YulTypedName", - "src": "4438:1:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "diff", - "nodeType": "YulTypedName", - "src": "4444:4:34", - "type": "" - } - ], - "src": "4404:125:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4671:137:34", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "4681:27:34", - "value": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "4701:6:34" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "4695:5:34" - }, - "nodeType": "YulFunctionCall", - "src": "4695:13:34" - }, - "variables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "4685:6:34", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "4743:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4751:4:34", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4739:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "4739:17:34" - }, - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "4758:3:34" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "4763:6:34" - } - ], - "functionName": { - "name": "copy_memory_to_memory", - "nodeType": "YulIdentifier", - "src": "4717:21:34" - }, - "nodeType": "YulFunctionCall", - "src": "4717:53:34" - }, - "nodeType": "YulExpressionStatement", - "src": "4717:53:34" - }, - { - "nodeType": "YulAssignment", - "src": "4779:23:34", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "4790:3:34" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "4795:6:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4786:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "4786:16:34" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "4779:3:34" - } - ] - } - ] - }, - "name": "abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "4647:3:34", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "4652:6:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "4663:3:34", - "type": "" - } - ], - "src": "4534:274:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5014:293:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "5031:3:34" - }, - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "5040:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5048:66:34", - "type": "", - "value": "0xff00000000000000000000000000000000000000000000000000000000000000" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "5036:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "5036:79:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "5024:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "5024:92:34" - }, - "nodeType": "YulExpressionStatement", - "src": "5024:92:34" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "5136:3:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5141:1:34", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5132:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "5132:11:34" - }, - { - "arguments": [ - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5153:2:34", - "type": "", - "value": "96" - }, - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "5157:6:34" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "5149:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "5149:15:34" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5170:26:34", - "type": "", - "value": "0xffffffffffffffffffffffff" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "5166:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "5166:31:34" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "5145:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "5145:53:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "5125:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "5125:74:34" - }, - "nodeType": "YulExpressionStatement", - "src": "5125:74:34" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "5219:3:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5224:2:34", - "type": "", - "value": "21" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5215:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "5215:12:34" - }, - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "5229:6:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "5208:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "5208:28:34" - }, - "nodeType": "YulExpressionStatement", - "src": "5208:28:34" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "5256:3:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5261:2:34", - "type": "", - "value": "53" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5252:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "5252:12:34" - }, - { - "name": "value3", - "nodeType": "YulIdentifier", - "src": "5266:6:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "5245:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "5245:28:34" - }, - "nodeType": "YulExpressionStatement", - "src": "5245:28:34" - }, - { - "nodeType": "YulAssignment", - "src": "5282:19:34", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "5293:3:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5298:2:34", - "type": "", - "value": "85" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5289:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "5289:12:34" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "5282:3:34" - } - ] - } - ] - }, - "name": "abi_encode_tuple_packed_t_bytes1_t_address_t_bytes32_t_bytes32__to_t_bytes1_t_address_t_bytes32_t_bytes32__nonPadded_inplace_fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "4966:3:34", - "type": "" - }, - { - "name": "value3", - "nodeType": "YulTypedName", - "src": "4971:6:34", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "4979:6:34", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "4987:6:34", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "4995:6:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "5006:3:34", - "type": "" - } - ], - "src": "4813:494:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5360:80:34", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "5387:22:34", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x11", - "nodeType": "YulIdentifier", - "src": "5389:16:34" - }, - "nodeType": "YulFunctionCall", - "src": "5389:18:34" - }, - "nodeType": "YulExpressionStatement", - "src": "5389:18:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "5376:1:34" - }, - { - "arguments": [ - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "5383:1:34" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "5379:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "5379:6:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "5373:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "5373:13:34" - }, - "nodeType": "YulIf", - "src": "5370:39:34" - }, - { - "nodeType": "YulAssignment", - "src": "5418:16:34", - "value": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "5429:1:34" - }, - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "5432:1:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5425:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "5425:9:34" - }, - "variableNames": [ - { - "name": "sum", - "nodeType": "YulIdentifier", - "src": "5418:3:34" - } - ] - } - ] - }, - "name": "checked_add_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "x", - "nodeType": "YulTypedName", - "src": "5343:1:34", - "type": "" - }, - { - "name": "y", - "nodeType": "YulTypedName", - "src": "5346:1:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "sum", - "nodeType": "YulTypedName", - "src": "5352:3:34", - "type": "" - } - ], - "src": "5312:128:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5492:88:34", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "5523:22:34", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x11", - "nodeType": "YulIdentifier", - "src": "5525:16:34" - }, - "nodeType": "YulFunctionCall", - "src": "5525:18:34" - }, - "nodeType": "YulExpressionStatement", - "src": "5525:18:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "5508:5:34" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5519:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "5515:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "5515:6:34" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "5505:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "5505:17:34" - }, - "nodeType": "YulIf", - "src": "5502:43:34" - }, - { - "nodeType": "YulAssignment", - "src": "5554:20:34", - "value": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "5565:5:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5572:1:34", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5561:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "5561:13:34" - }, - "variableNames": [ - { - "name": "ret", - "nodeType": "YulIdentifier", - "src": "5554:3:34" - } - ] - } - ] - }, - "name": "increment_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "5474:5:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "ret", - "nodeType": "YulTypedName", - "src": "5484:3:34", - "type": "" - } - ], - "src": "5445:135:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5826:373:34", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "5836:27:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5848:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5859:3:34", - "type": "", - "value": "192" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5844:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "5844:19:34" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "5836:4:34" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5879:9:34" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "5890:6:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "5872:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "5872:25:34" - }, - "nodeType": "YulExpressionStatement", - "src": "5872:25:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "5906:52:34", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5916:42:34", - "type": "", - "value": "0xffffffffffffffffffffffffffffffffffffffff" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "5910:2:34", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5978:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5989:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5974:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "5974:18:34" - }, - { - "arguments": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "5998:6:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "6006:2:34" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "5994:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "5994:15:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "5967:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "5967:43:34" - }, - "nodeType": "YulExpressionStatement", - "src": "5967:43:34" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6030:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6041:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6026:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "6026:18:34" - }, - { - "arguments": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "6050:6:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "6058:2:34" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "6046:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "6046:15:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "6019:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "6019:43:34" - }, - "nodeType": "YulExpressionStatement", - "src": "6019:43:34" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6082:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6093:2:34", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6078:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "6078:18:34" - }, - { - "name": "value3", - "nodeType": "YulIdentifier", - "src": "6098:6:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "6071:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "6071:34:34" - }, - "nodeType": "YulExpressionStatement", - "src": "6071:34:34" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6125:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6136:3:34", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6121:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "6121:19:34" - }, - { - "name": "value4", - "nodeType": "YulIdentifier", - "src": "6142:6:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "6114:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "6114:35:34" - }, - "nodeType": "YulExpressionStatement", - "src": "6114:35:34" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6169:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6180:3:34", - "type": "", - "value": "160" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6165:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "6165:19:34" - }, - { - "name": "value5", - "nodeType": "YulIdentifier", - "src": "6186:6:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "6158:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "6158:35:34" - }, - "nodeType": "YulExpressionStatement", - "src": "6158:35:34" - } - ] - }, - "name": "abi_encode_tuple_t_bytes32_t_address_t_address_t_uint256_t_uint256_t_uint256__to_t_bytes32_t_address_t_address_t_uint256_t_uint256_t_uint256__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "5755:9:34", - "type": "" - }, - { - "name": "value5", - "nodeType": "YulTypedName", - "src": "5766:6:34", - "type": "" - }, - { - "name": "value4", - "nodeType": "YulTypedName", - "src": "5774:6:34", - "type": "" - }, - { - "name": "value3", - "nodeType": "YulTypedName", - "src": "5782:6:34", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "5790:6:34", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "5798:6:34", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "5806:6:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "5817:4:34", - "type": "" - } - ], - "src": "5585:614:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "6399:244:34", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "6409:27:34", - "value": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "6429:6:34" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "6423:5:34" - }, - "nodeType": "YulFunctionCall", - "src": "6423:13:34" - }, - "variables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "6413:6:34", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "6471:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6479:4:34", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6467:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "6467:17:34" - }, - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "6486:3:34" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "6491:6:34" - } - ], - "functionName": { - "name": "copy_memory_to_memory", - "nodeType": "YulIdentifier", - "src": "6445:21:34" - }, - "nodeType": "YulFunctionCall", - "src": "6445:53:34" - }, - "nodeType": "YulExpressionStatement", - "src": "6445:53:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "6507:29:34", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "6524:3:34" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "6529:6:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6520:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "6520:16:34" - }, - "variables": [ - { - "name": "end_1", - "nodeType": "YulTypedName", - "src": "6511:5:34", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "end_1", - "nodeType": "YulIdentifier", - "src": "6552:5:34" - }, - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "6559:6:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "6545:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "6545:21:34" - }, - "nodeType": "YulExpressionStatement", - "src": "6545:21:34" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "end_1", - "nodeType": "YulIdentifier", - "src": "6586:5:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6593:4:34", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6582:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "6582:16:34" - }, - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "6600:6:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "6575:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "6575:32:34" - }, - "nodeType": "YulExpressionStatement", - "src": "6575:32:34" - }, - { - "nodeType": "YulAssignment", - "src": "6616:21:34", - "value": { - "arguments": [ - { - "name": "end_1", - "nodeType": "YulIdentifier", - "src": "6627:5:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6634:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6623:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "6623:14:34" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "6616:3:34" - } - ] - } - ] - }, - "name": "abi_encode_tuple_packed_t_string_memory_ptr_t_bytes32_t_bytes32__to_t_string_memory_ptr_t_bytes32_t_bytes32__nonPadded_inplace_fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "6359:3:34", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "6364:6:34", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "6372:6:34", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "6380:6:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "6391:3:34", - "type": "" - } - ], - "src": "6204:439:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "6829:217:34", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "6839:27:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6851:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6862:3:34", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6847:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "6847:19:34" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "6839:4:34" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6882:9:34" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "6893:6:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "6875:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "6875:25:34" - }, - "nodeType": "YulExpressionStatement", - "src": "6875:25:34" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6920:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6931:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6916:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "6916:18:34" - }, - { - "arguments": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "6940:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6948:4:34", - "type": "", - "value": "0xff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "6936:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "6936:17:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "6909:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "6909:45:34" - }, - "nodeType": "YulExpressionStatement", - "src": "6909:45:34" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6974:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6985:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6970:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "6970:18:34" - }, - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "6990:6:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "6963:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "6963:34:34" - }, - "nodeType": "YulExpressionStatement", - "src": "6963:34:34" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7017:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7028:2:34", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7013:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "7013:18:34" - }, - { - "name": "value3", - "nodeType": "YulIdentifier", - "src": "7033:6:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "7006:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "7006:34:34" - }, - "nodeType": "YulExpressionStatement", - "src": "7006:34:34" - } - ] - }, - "name": "abi_encode_tuple_t_bytes32_t_uint8_t_bytes32_t_bytes32__to_t_bytes32_t_uint8_t_bytes32_t_bytes32__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "6774:9:34", - "type": "" - }, - { - "name": "value3", - "nodeType": "YulTypedName", - "src": "6785:6:34", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "6793:6:34", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "6801:6:34", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "6809:6:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "6820:4:34", - "type": "" - } - ], - "src": "6648:398:34" - } - ] - }, - "contents": "{\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 abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n {\n mstore(headStart, 32)\n let length := mload(value0)\n mstore(add(headStart, 32), length)\n copy_memory_to_memory(add(value0, 32), add(headStart, 64), length)\n tail := add(add(headStart, and(add(length, 31), not(31))), 64)\n }\n function abi_decode_tuple_t_bytes32(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n value0 := calldataload(headStart)\n }\n function abi_decode_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_addresst_uint256(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := abi_decode_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_uint256__to_t_uint256__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, value0)\n }\n function abi_decode_tuple_t_addresst_addresst_uint256(headStart, dataEnd) -> value0, value1, value2\n {\n if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n value1 := abi_decode_address(add(headStart, 32))\n value2 := calldataload(add(headStart, 64))\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 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_decode_tuple_t_address(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n }\n function abi_decode_tuple_t_addresst_addresst_uint256t_uint256t_uint8t_bytes32t_bytes32(headStart, dataEnd) -> value0, value1, value2, value3, value4, value5, value6\n {\n if slt(sub(dataEnd, headStart), 224) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n value1 := abi_decode_address(add(headStart, 32))\n value2 := calldataload(add(headStart, 64))\n value3 := calldataload(add(headStart, 96))\n let value := calldataload(add(headStart, 128))\n if iszero(eq(value, and(value, 0xff))) { revert(0, 0) }\n value4 := value\n value5 := calldataload(add(headStart, 160))\n value6 := calldataload(add(headStart, 192))\n }\n function abi_decode_tuple_t_addresst_address(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n value1 := abi_decode_address(add(headStart, 32))\n }\n function extract_byte_array_length(data) -> length\n {\n length := shr(1, data)\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 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 abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value0) -> end\n {\n let length := mload(value0)\n copy_memory_to_memory(add(value0, 0x20), pos, length)\n end := add(pos, length)\n }\n function abi_encode_tuple_packed_t_bytes1_t_address_t_bytes32_t_bytes32__to_t_bytes1_t_address_t_bytes32_t_bytes32__nonPadded_inplace_fromStack_reversed(pos, value3, value2, value1, value0) -> end\n {\n mstore(pos, and(value0, 0xff00000000000000000000000000000000000000000000000000000000000000))\n mstore(add(pos, 1), and(shl(96, value1), not(0xffffffffffffffffffffffff)))\n mstore(add(pos, 21), value2)\n mstore(add(pos, 53), value3)\n end := add(pos, 85)\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 increment_t_uint256(value) -> ret\n {\n if eq(value, not(0)) { panic_error_0x11() }\n ret := add(value, 1)\n }\n function abi_encode_tuple_t_bytes32_t_address_t_address_t_uint256_t_uint256_t_uint256__to_t_bytes32_t_address_t_address_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 let _1 := 0xffffffffffffffffffffffffffffffffffffffff\n mstore(add(headStart, 32), and(value1, _1))\n mstore(add(headStart, 64), and(value2, _1))\n mstore(add(headStart, 96), value3)\n mstore(add(headStart, 128), value4)\n mstore(add(headStart, 160), value5)\n }\n function abi_encode_tuple_packed_t_string_memory_ptr_t_bytes32_t_bytes32__to_t_string_memory_ptr_t_bytes32_t_bytes32__nonPadded_inplace_fromStack_reversed(pos, value2, value1, value0) -> end\n {\n let length := mload(value0)\n copy_memory_to_memory(add(value0, 0x20), pos, length)\n let end_1 := add(pos, length)\n mstore(end_1, value1)\n mstore(add(end_1, 0x20), value2)\n end := add(end_1, 64)\n }\n function abi_encode_tuple_t_bytes32_t_uint8_t_bytes32_t_bytes32__to_t_bytes32_t_uint8_t_bytes32_t_bytes32__fromStack_reversed(headStart, value3, value2, value1, value0) -> tail\n {\n tail := add(headStart, 128)\n mstore(headStart, value0)\n mstore(add(headStart, 32), and(value1, 0xff))\n mstore(add(headStart, 64), value2)\n mstore(add(headStart, 96), value3)\n }\n}", - "id": 34, - "language": "Yul", - "name": "#utility.yul" - } - ], - "immutableReferences": { - "3506": [ - { - "length": 32, - "start": 513 - } - ], - "3898": [ - { - "length": 32, - "start": 652 - }, - { - "length": 32, - "start": 2270 - } - ], - "4314": [ - { - "length": 32, - "start": 613 - }, - { - "length": 32, - "start": 1651 - } - ] - }, - "linkReferences": {}, - "object": "608060405234801561001057600080fd5b50600436106101775760003560e01c806340c10f19116100d857806395d89b411161008c578063d505accf11610066578063d505accf14610368578063dd62ed3e1461037b578063f2fde38b146103a657600080fd5b806395d89b411461033a578063a457c2d714610342578063a9059cbb1461035557600080fd5b806379cc6790116100bd57806379cc6790146102f45780637ecebe00146103075780638da5cb5b1461032757600080fd5b806340c10f19146102c157806370a08231146102d457600080fd5b8063313ce5671161012f578063355274ea11610114578063355274ea146102605780633644e5151461028757806339509351146102ae57600080fd5b8063313ce567146101fc57806331eecaf41461023557600080fd5b8063095ea7b311610160578063095ea7b3146101af57806318160ddd146101d257806323b872dd146101e957600080fd5b806306fdde031461017c57806308a1eee11461019a575b600080fd5b6101846103b9565b6040516101919190610e5d565b60405180910390f35b6101ad6101a8366004610e90565b610447565b005b6101c26101bd366004610ec5565b6104a8565b6040519015158152602001610191565b6101db60025481565b604051908152602001610191565b6101c26101f7366004610eef565b6104be565b6102237f000000000000000000000000000000000000000000000000000000000000000081565b60405160ff9091168152602001610191565b610248610243366004610e90565b610515565b6040516001600160a01b039091168152602001610191565b6101db7f000000000000000000000000000000000000000000000000000000000000000081565b6101db7f000000000000000000000000000000000000000000000000000000000000000081565b6101c26102bc366004610ec5565b61060f565b6101ad6102cf366004610ec5565b610646565b6101db6102e2366004610f2b565b60006020819052908152604090205481565b6101ad610302366004610ec5565b6106e7565b6101db610315366004610f2b565b60056020526000908152604090205481565b600654610248906001600160a01b031681565b610184610758565b6101c2610350366004610ec5565b610765565b6101c2610363366004610ec5565b61079c565b6101ad610376366004610f4d565b6107a9565b6101db610389366004610fc0565b600160209081526000928352604080842090915290825290205481565b6101ad6103b4366004610f2b565b610a6c565b600380546103c690610ff3565b80601f01602080910402602001604051908101604052809291908181526020018280546103f290610ff3565b801561043f5780601f106104145761010080835404028352916020019161043f565b820191906000526020600020905b81548152906001019060200180831161042257829003601f168201915b505050505081565b6006546001600160a01b03163314610472576040516330cd747160e01b815260040160405180910390fd5b600061047d82610515565b6001600160a01b0381166000908152602081905260409020549091506104a4908290610b4b565b5050565b60006104b5338484610bfe565b50600192915050565b6001600160a01b038316600090815260016020908152604080832033845290915281205460001981146104ff576104ff85336104fa8685611044565b610bfe565b61050a858585610c9b565b506001949350505050565b6006546040516000917fff00000000000000000000000000000000000000000000000000000000000000916001600160a01b0390911690849061055a60208201610e20565b601f1982820381018352601f90910116604081905261057c919060200161105b565b604051602081830303815290604052805190602001206040516020016105f194939291907fff0000000000000000000000000000000000000000000000000000000000000094909416845260609290921b6bffffffffffffffffffffffff191660018401526015830152603582015260550190565b60408051601f19818403018152919052805160209091012092915050565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916104b59185906104fa908690611077565b6006546001600160a01b03163314610671576040516330cd747160e01b815260040160405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000061069c8383610d77565b806106a657505050565b8060025411156106e2576040517fa4875a4900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050565b6006546001600160a01b03163314610712576040516330cd747160e01b815260040160405180910390fd5b6001600160a01b0382166000908152600160209081526040808320338452909152902054600019811461074e5761074e83336104fa8585611044565b6106e28383610b4b565b600480546103c690610ff3565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916104b59185906104fa908690611044565b60006104b5338484610c9b565b834211156107e3576040517f1a15a3cc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a081111561083d576040517f40c1e74800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8260ff16601b1415801561085557508260ff16601c14155b1561088c576040517f119bce3900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080518082018252600281527f19010000000000000000000000000000000000000000000000000000000000006020808301919091526001600160a01b038a166000908152600590915291822080547f0000000000000000000000000000000000000000000000000000000000000000917f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9918c918c918c91886109308361108f565b909155506040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810188905260e00160405160208183030381529060405280519060200120604051602001610994939291906110aa565b60408051601f198184030181528282528051602091820120600080855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa1580156109ff573d6000803e3d6000fd5b505050602060405103519050886001600160a01b0316816001600160a01b031614610a56576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610a61898989610bfe565b505050505050505050565b6006546001600160a01b03163314610a97576040516330cd747160e01b815260040160405180910390fd5b6001600160a01b038116610ad7576040517f49e27cff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6006546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600680547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b6001600160a01b038216610b7257604051630da30f6560e31b815260040160405180910390fd5b6001600160a01b03821660009081526020819052604081208054839290610b9a908490611044565b925050819055508060026000828254610bb39190611044565b90915550506040518181526000906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906020015b60405180910390a35050565b6001600160a01b0383161580610c1b57506001600160a01b038216155b15610c3957604051630da30f6560e31b815260040160405180910390fd5b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b0383161580610cb857506001600160a01b038216155b15610cd657604051630da30f6560e31b815260040160405180910390fd5b6001600160a01b03831660009081526020819052604081208054839290610cfe908490611044565b90915550506001600160a01b03821660009081526020819052604081208054839290610d2b908490611077565b92505081905550816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610c8e91815260200190565b6001600160a01b038216610d9e57604051630da30f6560e31b815260040160405180910390fd5b8060026000828254610db09190611077565b90915550506001600160a01b03821660009081526020819052604081208054839290610ddd908490611077565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90602001610bf2565b610349806110d283390190565b60005b83811015610e48578181015183820152602001610e30565b83811115610e57576000848401525b50505050565b6020815260008251806020840152610e7c816040850160208701610e2d565b601f01601f19169190910160400192915050565b600060208284031215610ea257600080fd5b5035919050565b80356001600160a01b0381168114610ec057600080fd5b919050565b60008060408385031215610ed857600080fd5b610ee183610ea9565b946020939093013593505050565b600080600060608486031215610f0457600080fd5b610f0d84610ea9565b9250610f1b60208501610ea9565b9150604084013590509250925092565b600060208284031215610f3d57600080fd5b610f4682610ea9565b9392505050565b600080600080600080600060e0888a031215610f6857600080fd5b610f7188610ea9565b9650610f7f60208901610ea9565b95506040880135945060608801359350608088013560ff81168114610fa357600080fd5b9699959850939692959460a0840135945060c09093013592915050565b60008060408385031215610fd357600080fd5b610fdc83610ea9565b9150610fea60208401610ea9565b90509250929050565b600181811c9082168061100757607f821691505b6020821081141561102857634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b6000828210156110565761105661102e565b500390565b6000825161106d818460208701610e2d565b9190910192915050565b6000821982111561108a5761108a61102e565b500190565b60006000198214156110a3576110a361102e565b5060010190565b600084516110bc818460208901610e2d565b9190910192835250602082015260400191905056fe6080604052600160005534801561001557600080fd5b50610324806100256000396000f3fe608060405234801561001057600080fd5b50600436106100355760003560e01c8062f55d9d1461003a5780631cff79cd1461004f575b600080fd5b61004d6100483660046101da565b610079565b005b61006261005d3660046101fc565b6100bb565b60405161007092919061027f565b60405180910390f35b6002600054141561009d5760405163caa30f5560e01b815260040160405180910390fd5b600260005573ffffffffffffffffffffffffffffffffffffffff8116ff5b60006060600260005414156100e35760405163caa30f5560e01b815260040160405180910390fd5b600260005573ffffffffffffffffffffffffffffffffffffffff85163b610136576040517f6f7c43f100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8473ffffffffffffffffffffffffffffffffffffffff16848460405161015d9291906102de565b6000604051808303816000865af19150503d806000811461019a576040519150601f19603f3d011682016040523d82523d6000602084013e61019f565b606091505b50600160005590969095509350505050565b803573ffffffffffffffffffffffffffffffffffffffff811681146101d557600080fd5b919050565b6000602082840312156101ec57600080fd5b6101f5826101b1565b9392505050565b60008060006040848603121561021157600080fd5b61021a846101b1565b9250602084013567ffffffffffffffff8082111561023757600080fd5b818601915086601f83011261024b57600080fd5b81358181111561025a57600080fd5b87602082850101111561026c57600080fd5b6020830194508093505050509250925092565b821515815260006020604081840152835180604085015260005b818110156102b557858101830151858201606001528201610299565b818111156102c7576000606083870101525b50601f01601f191692909201606001949350505050565b818382376000910190815291905056fea2646970667358221220dfb702492c35c6a884ac11997b483e3fee4ff8145c7abb0799d2a2fc8674c39364736f6c63430008090033a2646970667358221220a0862d822c5e76c8687a97d9d537ec0e3da210445e2873be021a84f7cd0a8dd464736f6c63430008090033", - "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x177 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x40C10F19 GT PUSH2 0xD8 JUMPI DUP1 PUSH4 0x95D89B41 GT PUSH2 0x8C JUMPI DUP1 PUSH4 0xD505ACCF GT PUSH2 0x66 JUMPI DUP1 PUSH4 0xD505ACCF EQ PUSH2 0x368 JUMPI DUP1 PUSH4 0xDD62ED3E EQ PUSH2 0x37B JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0x3A6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x33A JUMPI DUP1 PUSH4 0xA457C2D7 EQ PUSH2 0x342 JUMPI DUP1 PUSH4 0xA9059CBB EQ PUSH2 0x355 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x79CC6790 GT PUSH2 0xBD JUMPI DUP1 PUSH4 0x79CC6790 EQ PUSH2 0x2F4 JUMPI DUP1 PUSH4 0x7ECEBE00 EQ PUSH2 0x307 JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x327 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x40C10F19 EQ PUSH2 0x2C1 JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x2D4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x313CE567 GT PUSH2 0x12F JUMPI DUP1 PUSH4 0x355274EA GT PUSH2 0x114 JUMPI DUP1 PUSH4 0x355274EA EQ PUSH2 0x260 JUMPI DUP1 PUSH4 0x3644E515 EQ PUSH2 0x287 JUMPI DUP1 PUSH4 0x39509351 EQ PUSH2 0x2AE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x313CE567 EQ PUSH2 0x1FC JUMPI DUP1 PUSH4 0x31EECAF4 EQ PUSH2 0x235 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x95EA7B3 GT PUSH2 0x160 JUMPI DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0x1AF JUMPI DUP1 PUSH4 0x18160DDD EQ PUSH2 0x1D2 JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x1E9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0x17C JUMPI DUP1 PUSH4 0x8A1EEE1 EQ PUSH2 0x19A JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x184 PUSH2 0x3B9 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x191 SWAP2 SWAP1 PUSH2 0xE5D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1AD PUSH2 0x1A8 CALLDATASIZE PUSH1 0x4 PUSH2 0xE90 JUMP JUMPDEST PUSH2 0x447 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x1C2 PUSH2 0x1BD CALLDATASIZE PUSH1 0x4 PUSH2 0xEC5 JUMP JUMPDEST PUSH2 0x4A8 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x191 JUMP JUMPDEST PUSH2 0x1DB PUSH1 0x2 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x191 JUMP JUMPDEST PUSH2 0x1C2 PUSH2 0x1F7 CALLDATASIZE PUSH1 0x4 PUSH2 0xEEF JUMP JUMPDEST PUSH2 0x4BE JUMP JUMPDEST PUSH2 0x223 PUSH32 0x0 DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0xFF SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x191 JUMP JUMPDEST PUSH2 0x248 PUSH2 0x243 CALLDATASIZE PUSH1 0x4 PUSH2 0xE90 JUMP JUMPDEST PUSH2 0x515 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x191 JUMP JUMPDEST PUSH2 0x1DB PUSH32 0x0 DUP2 JUMP JUMPDEST PUSH2 0x1DB PUSH32 0x0 DUP2 JUMP JUMPDEST PUSH2 0x1C2 PUSH2 0x2BC CALLDATASIZE PUSH1 0x4 PUSH2 0xEC5 JUMP JUMPDEST PUSH2 0x60F JUMP JUMPDEST PUSH2 0x1AD PUSH2 0x2CF CALLDATASIZE PUSH1 0x4 PUSH2 0xEC5 JUMP JUMPDEST PUSH2 0x646 JUMP JUMPDEST PUSH2 0x1DB PUSH2 0x2E2 CALLDATASIZE PUSH1 0x4 PUSH2 0xF2B JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP2 SWAP1 MSTORE SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD DUP2 JUMP JUMPDEST PUSH2 0x1AD PUSH2 0x302 CALLDATASIZE PUSH1 0x4 PUSH2 0xEC5 JUMP JUMPDEST PUSH2 0x6E7 JUMP JUMPDEST PUSH2 0x1DB PUSH2 0x315 CALLDATASIZE PUSH1 0x4 PUSH2 0xF2B JUMP JUMPDEST PUSH1 0x5 PUSH1 0x20 MSTORE PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x6 SLOAD PUSH2 0x248 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST PUSH2 0x184 PUSH2 0x758 JUMP JUMPDEST PUSH2 0x1C2 PUSH2 0x350 CALLDATASIZE PUSH1 0x4 PUSH2 0xEC5 JUMP JUMPDEST PUSH2 0x765 JUMP JUMPDEST PUSH2 0x1C2 PUSH2 0x363 CALLDATASIZE PUSH1 0x4 PUSH2 0xEC5 JUMP JUMPDEST PUSH2 0x79C JUMP JUMPDEST PUSH2 0x1AD PUSH2 0x376 CALLDATASIZE PUSH1 0x4 PUSH2 0xF4D JUMP JUMPDEST PUSH2 0x7A9 JUMP JUMPDEST PUSH2 0x1DB PUSH2 0x389 CALLDATASIZE PUSH1 0x4 PUSH2 0xFC0 JUMP JUMPDEST PUSH1 0x1 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 0x1AD PUSH2 0x3B4 CALLDATASIZE PUSH1 0x4 PUSH2 0xF2B JUMP JUMPDEST PUSH2 0xA6C JUMP JUMPDEST PUSH1 0x3 DUP1 SLOAD PUSH2 0x3C6 SWAP1 PUSH2 0xFF3 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 0x3F2 SWAP1 PUSH2 0xFF3 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x43F JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x414 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x43F 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 0x422 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 JUMP JUMPDEST PUSH1 0x6 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x472 JUMPI PUSH1 0x40 MLOAD PUSH4 0x30CD7471 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x47D DUP3 PUSH2 0x515 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 SWAP1 SWAP2 POP PUSH2 0x4A4 SWAP1 DUP3 SWAP1 PUSH2 0xB4B JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4B5 CALLER DUP5 DUP5 PUSH2 0xBFE JUMP JUMPDEST POP PUSH1 0x1 SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 CALLER DUP5 MSTORE SWAP1 SWAP2 MSTORE DUP2 KECCAK256 SLOAD PUSH1 0x0 NOT DUP2 EQ PUSH2 0x4FF JUMPI PUSH2 0x4FF DUP6 CALLER PUSH2 0x4FA DUP7 DUP6 PUSH2 0x1044 JUMP JUMPDEST PUSH2 0xBFE JUMP JUMPDEST PUSH2 0x50A DUP6 DUP6 DUP6 PUSH2 0xC9B JUMP JUMPDEST POP PUSH1 0x1 SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x6 SLOAD PUSH1 0x40 MLOAD PUSH1 0x0 SWAP2 PUSH32 0xFF00000000000000000000000000000000000000000000000000000000000000 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 DUP5 SWAP1 PUSH2 0x55A PUSH1 0x20 DUP3 ADD PUSH2 0xE20 JUMP JUMPDEST PUSH1 0x1F NOT DUP3 DUP3 SUB DUP2 ADD DUP4 MSTORE PUSH1 0x1F SWAP1 SWAP2 ADD AND PUSH1 0x40 DUP2 SWAP1 MSTORE PUSH2 0x57C SWAP2 SWAP1 PUSH1 0x20 ADD PUSH2 0x105B 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 PUSH1 0x20 ADD PUSH2 0x5F1 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH32 0xFF00000000000000000000000000000000000000000000000000000000000000 SWAP5 SWAP1 SWAP5 AND DUP5 MSTORE PUSH1 0x60 SWAP3 SWAP1 SWAP3 SHL PUSH12 0xFFFFFFFFFFFFFFFFFFFFFFFF NOT AND PUSH1 0x1 DUP5 ADD MSTORE PUSH1 0x15 DUP4 ADD MSTORE PUSH1 0x35 DUP3 ADD MSTORE PUSH1 0x55 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F NOT DUP2 DUP5 SUB ADD DUP2 MSTORE SWAP2 SWAP1 MSTORE DUP1 MLOAD PUSH1 0x20 SWAP1 SWAP2 ADD KECCAK256 SWAP3 SWAP2 POP POP JUMP JUMPDEST CALLER PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE DUP2 KECCAK256 SLOAD SWAP1 SWAP2 PUSH2 0x4B5 SWAP2 DUP6 SWAP1 PUSH2 0x4FA SWAP1 DUP7 SWAP1 PUSH2 0x1077 JUMP JUMPDEST PUSH1 0x6 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x671 JUMPI PUSH1 0x40 MLOAD PUSH4 0x30CD7471 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH32 0x0 PUSH2 0x69C DUP4 DUP4 PUSH2 0xD77 JUMP JUMPDEST DUP1 PUSH2 0x6A6 JUMPI POP POP POP JUMP JUMPDEST DUP1 PUSH1 0x2 SLOAD GT ISZERO PUSH2 0x6E2 JUMPI PUSH1 0x40 MLOAD PUSH32 0xA4875A4900000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x6 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x712 JUMPI PUSH1 0x40 MLOAD PUSH4 0x30CD7471 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 CALLER DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 SLOAD PUSH1 0x0 NOT DUP2 EQ PUSH2 0x74E JUMPI PUSH2 0x74E DUP4 CALLER PUSH2 0x4FA DUP6 DUP6 PUSH2 0x1044 JUMP JUMPDEST PUSH2 0x6E2 DUP4 DUP4 PUSH2 0xB4B JUMP JUMPDEST PUSH1 0x4 DUP1 SLOAD PUSH2 0x3C6 SWAP1 PUSH2 0xFF3 JUMP JUMPDEST CALLER PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE DUP2 KECCAK256 SLOAD SWAP1 SWAP2 PUSH2 0x4B5 SWAP2 DUP6 SWAP1 PUSH2 0x4FA SWAP1 DUP7 SWAP1 PUSH2 0x1044 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4B5 CALLER DUP5 DUP5 PUSH2 0xC9B JUMP JUMPDEST DUP4 TIMESTAMP GT ISZERO PUSH2 0x7E3 JUMPI PUSH1 0x40 MLOAD PUSH32 0x1A15A3CC00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH32 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5D576E7357A4501DDFE92F46681B20A0 DUP2 GT ISZERO PUSH2 0x83D JUMPI PUSH1 0x40 MLOAD PUSH32 0x40C1E74800000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP3 PUSH1 0xFF AND PUSH1 0x1B EQ ISZERO DUP1 ISZERO PUSH2 0x855 JUMPI POP DUP3 PUSH1 0xFF AND PUSH1 0x1C EQ ISZERO JUMPDEST ISZERO PUSH2 0x88C JUMPI PUSH1 0x40 MLOAD PUSH32 0x119BCE3900000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD DUP3 MSTORE PUSH1 0x2 DUP2 MSTORE PUSH32 0x1901000000000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP1 DUP4 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP11 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x5 SWAP1 SWAP2 MSTORE SWAP2 DUP3 KECCAK256 DUP1 SLOAD PUSH32 0x0 SWAP2 PUSH32 0x6E71EDAE12B1B97F4D1F60370FEF10105FA2FAAE0126114A169C64845D6126C9 SWAP2 DUP13 SWAP2 DUP13 SWAP2 DUP13 SWAP2 DUP9 PUSH2 0x930 DUP4 PUSH2 0x108F JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 DUP2 ADD SWAP7 SWAP1 SWAP7 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP5 DUP6 AND SWAP1 DUP7 ADD MSTORE SWAP3 SWAP1 SWAP2 AND PUSH1 0x60 DUP5 ADD MSTORE PUSH1 0x80 DUP4 ADD MSTORE PUSH1 0xA0 DUP3 ADD MSTORE PUSH1 0xC0 DUP2 ADD DUP9 SWAP1 MSTORE PUSH1 0xE0 ADD 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 PUSH1 0x20 ADD PUSH2 0x994 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x10AA JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F NOT DUP2 DUP5 SUB ADD DUP2 MSTORE DUP3 DUP3 MSTORE DUP1 MLOAD PUSH1 0x20 SWAP2 DUP3 ADD KECCAK256 PUSH1 0x0 DUP1 DUP6 MSTORE SWAP2 DUP5 ADD DUP1 DUP5 MSTORE DUP2 SWAP1 MSTORE PUSH1 0xFF DUP9 AND SWAP3 DUP5 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x60 DUP4 ADD DUP7 SWAP1 MSTORE PUSH1 0x80 DUP4 ADD DUP6 SWAP1 MSTORE SWAP1 SWAP3 POP SWAP1 PUSH1 0x1 SWAP1 PUSH1 0xA0 ADD PUSH1 0x20 PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 SUB SWAP1 DUP1 DUP5 SUB SWAP1 DUP6 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x9FF JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP PUSH1 0x20 PUSH1 0x40 MLOAD SUB MLOAD SWAP1 POP DUP9 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0xA56 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8BAA579F00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0xA61 DUP10 DUP10 DUP10 PUSH2 0xBFE JUMP JUMPDEST POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x6 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0xA97 JUMPI PUSH1 0x40 MLOAD PUSH4 0x30CD7471 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0xAD7 JUMPI PUSH1 0x40 MLOAD PUSH32 0x49E27CFF00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x6 SLOAD PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP5 AND SWAP3 AND SWAP1 PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 SWAP1 PUSH1 0x0 SWAP1 LOG3 PUSH1 0x6 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 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0xB72 JUMPI PUSH1 0x40 MLOAD PUSH4 0xDA30F65 PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST 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 0xB9A SWAP1 DUP5 SWAP1 PUSH2 0x1044 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP DUP1 PUSH1 0x2 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0xBB3 SWAP2 SWAP1 PUSH2 0x1044 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x40 MLOAD DUP2 DUP2 MSTORE PUSH1 0x0 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND SWAP1 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP1 PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND ISZERO DUP1 PUSH2 0xC1B JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND ISZERO JUMPDEST ISZERO PUSH2 0xC39 JUMPI PUSH1 0x40 MLOAD PUSH4 0xDA30F65 PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 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 DUP3 MSTORE SWAP2 DUP3 SWAP1 KECCAK256 DUP6 SWAP1 SSTORE SWAP1 MLOAD DUP5 DUP2 MSTORE PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 SWAP2 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND ISZERO DUP1 PUSH2 0xCB8 JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND ISZERO JUMPDEST ISZERO PUSH2 0xCD6 JUMPI PUSH1 0x40 MLOAD PUSH4 0xDA30F65 PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD DUP4 SWAP3 SWAP1 PUSH2 0xCFE SWAP1 DUP5 SWAP1 PUSH2 0x1044 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 0xD2B SWAP1 DUP5 SWAP1 PUSH2 0x1077 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF DUP4 PUSH1 0x40 MLOAD PUSH2 0xC8E SWAP2 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0xD9E JUMPI PUSH1 0x40 MLOAD PUSH4 0xDA30F65 PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0x2 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0xDB0 SWAP2 SWAP1 PUSH2 0x1077 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 0xDDD SWAP1 DUP5 SWAP1 PUSH2 0x1077 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x40 MLOAD DUP2 DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 PUSH1 0x0 SWAP1 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP1 PUSH1 0x20 ADD PUSH2 0xBF2 JUMP JUMPDEST PUSH2 0x349 DUP1 PUSH2 0x10D2 DUP4 CODECOPY ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0xE48 JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0xE30 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0xE57 JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 DUP3 MLOAD DUP1 PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0xE7C DUP2 PUSH1 0x40 DUP6 ADD PUSH1 0x20 DUP8 ADD PUSH2 0xE2D JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP2 SWAP1 SWAP2 ADD PUSH1 0x40 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xEA2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0xEC0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xED8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xEE1 DUP4 PUSH2 0xEA9 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 0xF04 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xF0D DUP5 PUSH2 0xEA9 JUMP JUMPDEST SWAP3 POP PUSH2 0xF1B PUSH1 0x20 DUP6 ADD PUSH2 0xEA9 JUMP JUMPDEST SWAP2 POP PUSH1 0x40 DUP5 ADD CALLDATALOAD SWAP1 POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xF3D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xF46 DUP3 PUSH2 0xEA9 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xE0 DUP9 DUP11 SUB SLT ISZERO PUSH2 0xF68 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xF71 DUP9 PUSH2 0xEA9 JUMP JUMPDEST SWAP7 POP PUSH2 0xF7F PUSH1 0x20 DUP10 ADD PUSH2 0xEA9 JUMP JUMPDEST SWAP6 POP PUSH1 0x40 DUP9 ADD CALLDATALOAD SWAP5 POP PUSH1 0x60 DUP9 ADD CALLDATALOAD SWAP4 POP PUSH1 0x80 DUP9 ADD CALLDATALOAD PUSH1 0xFF DUP2 AND DUP2 EQ PUSH2 0xFA3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP7 SWAP10 SWAP6 SWAP9 POP SWAP4 SWAP7 SWAP3 SWAP6 SWAP5 PUSH1 0xA0 DUP5 ADD CALLDATALOAD SWAP5 POP PUSH1 0xC0 SWAP1 SWAP4 ADD CALLDATALOAD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xFD3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xFDC DUP4 PUSH2 0xEA9 JUMP JUMPDEST SWAP2 POP PUSH2 0xFEA PUSH1 0x20 DUP5 ADD PUSH2 0xEA9 JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0x1007 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH2 0x1028 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 PUSH1 0x0 DUP3 DUP3 LT ISZERO PUSH2 0x1056 JUMPI PUSH2 0x1056 PUSH2 0x102E JUMP JUMPDEST POP SUB SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 MLOAD PUSH2 0x106D DUP2 DUP5 PUSH1 0x20 DUP8 ADD PUSH2 0xE2D JUMP JUMPDEST SWAP2 SWAP1 SWAP2 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 NOT DUP3 GT ISZERO PUSH2 0x108A JUMPI PUSH2 0x108A PUSH2 0x102E JUMP JUMPDEST POP ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x0 NOT DUP3 EQ ISZERO PUSH2 0x10A3 JUMPI PUSH2 0x10A3 PUSH2 0x102E JUMP JUMPDEST POP PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP5 MLOAD PUSH2 0x10BC DUP2 DUP5 PUSH1 0x20 DUP10 ADD PUSH2 0xE2D JUMP JUMPDEST SWAP2 SWAP1 SWAP2 ADD SWAP3 DUP4 MSTORE POP PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 ADD SWAP2 SWAP1 POP JUMP INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x1 PUSH1 0x0 SSTORE CALLVALUE DUP1 ISZERO PUSH2 0x15 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x324 DUP1 PUSH2 0x25 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 0x35 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH3 0xF55D9D EQ PUSH2 0x3A JUMPI DUP1 PUSH4 0x1CFF79CD EQ PUSH2 0x4F JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4D PUSH2 0x48 CALLDATASIZE PUSH1 0x4 PUSH2 0x1DA JUMP JUMPDEST PUSH2 0x79 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x62 PUSH2 0x5D CALLDATASIZE PUSH1 0x4 PUSH2 0x1FC JUMP JUMPDEST PUSH2 0xBB JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x70 SWAP3 SWAP2 SWAP1 PUSH2 0x27F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x2 PUSH1 0x0 SLOAD EQ ISZERO PUSH2 0x9D JUMPI PUSH1 0x40 MLOAD PUSH4 0xCAA30F55 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x2 PUSH1 0x0 SSTORE PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 AND SELFDESTRUCT JUMPDEST PUSH1 0x0 PUSH1 0x60 PUSH1 0x2 PUSH1 0x0 SLOAD EQ ISZERO PUSH2 0xE3 JUMPI PUSH1 0x40 MLOAD PUSH4 0xCAA30F55 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x2 PUSH1 0x0 SSTORE PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP6 AND EXTCODESIZE PUSH2 0x136 JUMPI PUSH1 0x40 MLOAD PUSH32 0x6F7C43F100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP5 DUP5 PUSH1 0x40 MLOAD PUSH2 0x15D SWAP3 SWAP2 SWAP1 PUSH2 0x2DE JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP7 GAS CALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x19A JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x19F JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP PUSH1 0x1 PUSH1 0x0 SSTORE SWAP1 SWAP7 SWAP1 SWAP6 POP SWAP4 POP POP POP POP JUMP JUMPDEST DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 AND DUP2 EQ PUSH2 0x1D5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1EC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1F5 DUP3 PUSH2 0x1B1 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x40 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x211 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x21A DUP5 PUSH2 0x1B1 JUMP JUMPDEST SWAP3 POP PUSH1 0x20 DUP5 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x237 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP7 ADD SWAP2 POP DUP7 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x24B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD DUP2 DUP2 GT ISZERO PUSH2 0x25A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP8 PUSH1 0x20 DUP3 DUP6 ADD ADD GT ISZERO PUSH2 0x26C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x20 DUP4 ADD SWAP5 POP DUP1 SWAP4 POP POP POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST DUP3 ISZERO ISZERO DUP2 MSTORE PUSH1 0x0 PUSH1 0x20 PUSH1 0x40 DUP2 DUP5 ADD MSTORE DUP4 MLOAD DUP1 PUSH1 0x40 DUP6 ADD MSTORE PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x2B5 JUMPI DUP6 DUP2 ADD DUP4 ADD MLOAD DUP6 DUP3 ADD PUSH1 0x60 ADD MSTORE DUP3 ADD PUSH2 0x299 JUMP JUMPDEST DUP2 DUP2 GT ISZERO PUSH2 0x2C7 JUMPI PUSH1 0x0 PUSH1 0x60 DUP4 DUP8 ADD ADD MSTORE JUMPDEST POP PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x60 ADD SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST DUP2 DUP4 DUP3 CALLDATACOPY PUSH1 0x0 SWAP2 ADD SWAP1 DUP2 MSTORE SWAP2 SWAP1 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xDF 0xB7 MUL 0x49 0x2C CALLDATALOAD 0xC6 0xA8 DUP5 0xAC GT SWAP10 PUSH28 0x483E3FEE4FF8145C7ABB0799D2A2FC8674C39364736F6C6343000809 STOP CALLER LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 LOG0 DUP7 0x2D DUP3 0x2C 0x5E PUSH23 0xC8687A97D9D537EC0E3DA210445E2873BE021A84F7CD0A DUP14 0xD4 PUSH5 0x736F6C6343 STOP ADDMOD MULMOD STOP CALLER ", - "sourceMap": "339:1371:4:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1484:18:7;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1265:146:4;;;;;;:::i;:::-;;:::i;:::-;;2526:166:7;;;;;;:::i;:::-;;:::i;:::-;;;1475:14:34;;1468:22;1450:41;;1438:2;1423:18;2526:166:7;1310:187:34;1442:35:7;;;;;;;;;1648:25:34;;;1636:2;1621:18;1442:35:7;1502:177:34;3159:401:7;;;;;;:::i;:::-;;:::i;1535:31::-;;;;;;;;2189:4:34;2177:17;;;2159:36;;2147:2;2132:18;1535:31:7;2017:184:34;623:636:4;;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;2370:55:34;;;2352:74;;2340:2;2325:18;623:636:4;2206:226:34;352:28:10;;;;;377:41:8;;;;;3955:208:7;;;;;;:::i;:::-;;:::i;608:233:10:-;;;;;;:::i;:::-;;:::i;1302:53:7:-;;;;;;:::i;:::-;;;;;;;;;;;;;;;1417:291:4;;;;;;:::i;:::-;;:::i;982:41:8:-;;;;;;:::i;:::-;;;;;;;;;;;;;;156:20:11;;;;;-1:-1:-1;;;;;156:20:11;;;1508::7;;;:::i;4650:218::-;;;;;;:::i;:::-;;:::i;2046:172::-;;;;;;:::i;:::-;;:::i;1252:950:8:-;;;;;;:::i;:::-;;:::i;1362:73:7:-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;395:217:11;;;;;;:::i;:::-;;:::i;1484:18:7:-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;1265:146:4:-;332:5:11;;-1:-1:-1;;;;;332:5:11;341:10;332:19;328:42;;360:10;;-1:-1:-1;;;360:10:11;;;;;;;;;;;328:42;1322:15:4::1;1340:20;1355:4;1340:14;:20::i;:::-;-1:-1:-1::0;;;;;1385:18:4;::::1;:9;:18:::0;;;::::1;::::0;;;;;;;1322:38;;-1:-1:-1;1370:34:4::1;::::0;1322:38;;1370:5:::1;:34::i;:::-;1312:99;1265:146:::0;:::o;2526:166:7:-;2611:4;2627:37;2636:10;2648:7;2657:6;2627:8;:37::i;:::-;-1:-1:-1;2681:4:7;2526:166;;;;:::o;3159:401::-;-1:-1:-1;;;;;3334:17:7;;3297:4;3334:17;;;:9;:17;;;;;;;;3352:10;3334:29;;;;;;;;-1:-1:-1;;3378:31:7;;3374:111;;3425:49;3434:6;3442:10;3454:19;3467:6;3454:10;:19;:::i;:::-;3425:8;:49::i;:::-;3495:36;3505:6;3513:9;3524:6;3495:9;:36::i;:::-;-1:-1:-1;3549:4:7;;3159:401;-1:-1:-1;;;;3159:401:7:o;623:636:4:-;1096:5;;1136:33;;682:7;;1082:12;;-1:-1:-1;;;;;1096:5:4;;;;1103:4;;1136:33;;;;;:::i;:::-;-1:-1:-1;;1136:33:4;;;;;;;;;;;;;;;;1119:51;;1136:33;;1119:51;;:::i;:::-;;;;;;;;;;;;;1109:62;;;;;;1065:107;;;;;;;;;;5048:66:34;5036:79;;;;5024:92;;5153:2;5149:15;;;;-1:-1:-1;;5145:53:34;5141:1;5132:11;;5125:74;5224:2;5215:12;;5208:28;5261:2;5252:12;;5245:28;5298:2;5289:12;;4813:494;1065:107:4;;;;-1:-1:-1;;1065:107:4;;;;;;;;;1026:172;;1065:107;1026:172;;;;;623:636;-1:-1:-1;;623:636:4:o;3955:208:7:-;4070:10;4045:4;4091:21;;;:9;:21;;;;;;;;-1:-1:-1;;;;;4091:30:7;;;;;;;;;;4045:4;;4061:74;;4082:7;;4091:43;;4124:10;;4091:43;:::i;608:233:10:-;332:5:11;;-1:-1:-1;;;;;332:5:11;341:10;332:19;328:42;;360:10;;-1:-1:-1;;;360:10:11;;;;;;;;;;;328:42;703:3:10::1;717:22;723:7:::0;732:6;717:5:::1;:22::i;:::-;754:13:::0;750:26:::1;;769:7;1312:99:4;1265:146:::0;:::o;750:26:10:-:1;804:8;790:11;;:22;786:48;;;821:13;;;;;;;;;;;;;;786:48;674:167;608:233:::0;;:::o;1417:291:4:-;332:5:11;;-1:-1:-1;;;;;332:5:11;341:10;332:19;328:42;;360:10;;-1:-1:-1;;;360:10:11;;;;;;;;;;;328:42;-1:-1:-1;;;;;1518:18:4;::::1;1497;1518::::0;;;:9:::1;:18;::::0;;;;;;;1537:10:::1;1518:30:::0;;;;;;;;-1:-1:-1;;1562:31:4;::::1;1558:112;;1609:50;1618:7:::0;1627:10:::1;1639:19;1652:6:::0;1639:10;:19:::1;:::i;1609:50::-;1679:22;1685:7;1694:6;1679:5;:22::i;1508:20:7:-:0;;;;;;;:::i;4650:218::-;4770:10;4745:4;4791:21;;;:9;:21;;;;;;;;-1:-1:-1;;;;;4791:30:7;;;;;;;;;;4745:4;;4761:79;;4782:7;;4791:48;;4824:15;;4791:48;:::i;2046:172::-;2134:4;2150:40;2160:10;2172:9;2183:6;2150:9;:40::i;1252:950:8:-;1468:8;1450:15;:26;1446:54;;;1485:15;;;;;;;;;;;;;;1446:54;1528:66;1515:79;;1511:102;;;1603:10;;;;;;;;;;;;;;1511:102;1628:1;:7;;1633:2;1628:7;;:18;;;;;1639:1;:7;;1644:2;1639:7;;1628:18;1624:41;;;1655:10;;;;;;;;;;;;;;1624:41;1750:40;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1910:14:8;;1676;1910;;;:6;:14;;;;;;:16;;1808;;908:66;;1886:6;;1894:7;;1903:5;;1676:14;1910:16;;;:::i;:::-;;;;-1:-1:-1;1852:85:8;;;;;;5872:25:34;;;;-1:-1:-1;;;;;5994:15:34;;;5974:18;;;5967:43;6046:15;;;;6026:18;;;6019:43;6078:18;;;6071:34;6121:19;;;6114:35;6165:19;;;6158:35;;;5844:19;;1852:85:8;;;;;;;;;;;;1842:96;;;;;;1716:236;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;1716:236:8;;;;;;;;;1693:269;;1716:236;1693:269;;;;1973:24;2000:26;;;;;;;;;6875:25:34;;;6948:4;6936:17;;6916:18;;;6909:45;;;;6970:18;;;6963:34;;;7013:18;;;7006:34;;;1693:269:8;;-1:-1:-1;1973:24:8;2000:26;;6847:19:34;;2000:26:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1973:53;;2061:6;-1:-1:-1;;;;;2041:26:8;:16;-1:-1:-1;;;;;2041:26:8;;2037:57;;2076:18;;;;;;;;;;;;;;2037:57;2163:32;2172:6;2180:7;2189:5;2163:8;:32::i;:::-;1436:766;;1252:950;;;;;;;:::o;395:217:11:-;332:5;;-1:-1:-1;;;;;332:5:11;341:10;332:19;328:42;;360:10;;-1:-1:-1;;;360:10:11;;;;;;;;;;;328:42;-1:-1:-1;;;;;481:22:11;::::1;477:49;;512:14;;;;;;;;;;;;;;477:49;563:5;::::0;542:37:::1;::::0;-1:-1:-1;;;;;542:37:11;;::::1;::::0;563:5:::1;::::0;542:37:::1;::::0;563:5:::1;::::0;542:37:::1;589:5;:16:::0;;;::::1;-1:-1:-1::0;;;;;589:16:11;;;::::1;::::0;;;::::1;::::0;;395:217::o;6643:314:7:-;-1:-1:-1;;;;;6722:21:7;;6718:50;;6752:16;;-1:-1:-1;;;6752:16:7;;;;;;;;;;;6718:50;-1:-1:-1;;;;;6839:18:7;;:9;:18;;;;;;;;;;:28;;6861:6;;6839:9;:28;;6861:6;;6839:28;:::i;:::-;;;;;;;;6892:6;6877:11;;:21;;;;;;;:::i;:::-;;;;-1:-1:-1;;6913:37:7;;1648:25:34;;;6939:1:7;;-1:-1:-1;;;;;6913:37:7;;;;;1636:2:34;1621:18;6913:37:7;;;;;;;;6643:314;;:::o;7380:295::-;-1:-1:-1;;;;;7507:19:7;;;;:44;;-1:-1:-1;;;;;;7530:21:7;;;7507:44;7503:73;;;7560:16;;-1:-1:-1;;;7560:16:7;;;;;;;;;;;7503:73;-1:-1:-1;;;;;7587:16:7;;;;;;;:9;:16;;;;;;;;:25;;;;;;;;;;;;;:34;;;7636:32;;1648:25:34;;;7636:32:7;;1621:18:34;7636:32:7;;;;;;;;7380:295;;;:::o;5342:396::-;-1:-1:-1;;;;;5473:20:7;;;;:47;;-1:-1:-1;;;;;;5497:23:7;;;5473:47;5469:76;;;5529:16;;-1:-1:-1;;;5529:16:7;;;;;;;;;;;5469:76;-1:-1:-1;;;;;5614:17:7;;:9;:17;;;;;;;;;;:27;;5635:6;;5614:9;:27;;5635:6;;5614:27;:::i;:::-;;;;-1:-1:-1;;;;;;;5651:20:7;;:9;:20;;;;;;;;;;:30;;5675:6;;5651:9;:30;;5675:6;;5651:30;:::i;:::-;;;;;;;;5713:9;-1:-1:-1;;;;;5696:35:7;5705:6;-1:-1:-1;;;;;5696:35:7;;5724:6;5696:35;;;;1648:25:34;;1636:2;1621:18;;1502:177;6009:314:7;-1:-1:-1;;;;;6088:21:7;;6084:50;;6118:16;;-1:-1:-1;;;6118:16:7;;;;;;;;;;;6084:50;6220:6;6205:11;;:21;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;;;6236:18:7;;:9;:18;;;;;;;;;;:28;;6258:6;;6236:9;:28;;6258:6;;6236:28;:::i;:::-;;;;-1:-1:-1;;6279:37:7;;1648:25:34;;;-1:-1:-1;;;;;6279:37:7;;;6296:1;;6279:37;;1636:2:34;1621:18;6279:37:7;1502:177:34;-1:-1:-1;;;;;;;;:::o;14:258:34:-;86:1;96:113;110:6;107:1;104:13;96:113;;;186:11;;;180:18;167:11;;;160:39;132:2;125:10;96:113;;;227:6;224:1;221:13;218:48;;;262:1;253:6;248:3;244:16;237:27;218:48;;14:258;;;:::o;277:383::-;426:2;415:9;408:21;389:4;458:6;452:13;501:6;496:2;485:9;481:18;474:34;517:66;576:6;571:2;560:9;556:18;551:2;543:6;539:15;517:66;:::i;:::-;644:2;623:15;-1:-1:-1;;619:29:34;604:45;;;;651:2;600:54;;277:383;-1:-1:-1;;277:383:34:o;665:180::-;724:6;777:2;765:9;756:7;752:23;748:32;745:52;;;793:1;790;783:12;745:52;-1:-1:-1;816:23:34;;665:180;-1:-1:-1;665:180:34:o;850:196::-;918:20;;-1:-1:-1;;;;;967:54:34;;957:65;;947:93;;1036:1;1033;1026:12;947:93;850:196;;;:::o;1051:254::-;1119:6;1127;1180:2;1168:9;1159:7;1155:23;1151:32;1148:52;;;1196:1;1193;1186:12;1148:52;1219:29;1238:9;1219:29;:::i;:::-;1209:39;1295:2;1280:18;;;;1267:32;;-1:-1:-1;;;1051:254:34:o;1684:328::-;1761:6;1769;1777;1830:2;1818:9;1809:7;1805:23;1801:32;1798:52;;;1846:1;1843;1836:12;1798:52;1869:29;1888:9;1869:29;:::i;:::-;1859:39;;1917:38;1951:2;1940:9;1936:18;1917:38;:::i;:::-;1907:48;;2002:2;1991:9;1987:18;1974:32;1964:42;;1684:328;;;;;:::o;2619:186::-;2678:6;2731:2;2719:9;2710:7;2706:23;2702:32;2699:52;;;2747:1;2744;2737:12;2699:52;2770:29;2789:9;2770:29;:::i;:::-;2760:39;2619:186;-1:-1:-1;;;2619:186:34:o;2810:693::-;2921:6;2929;2937;2945;2953;2961;2969;3022:3;3010:9;3001:7;2997:23;2993:33;2990:53;;;3039:1;3036;3029:12;2990:53;3062:29;3081:9;3062:29;:::i;:::-;3052:39;;3110:38;3144:2;3133:9;3129:18;3110:38;:::i;:::-;3100:48;;3195:2;3184:9;3180:18;3167:32;3157:42;;3246:2;3235:9;3231:18;3218:32;3208:42;;3300:3;3289:9;3285:19;3272:33;3345:4;3338:5;3334:16;3327:5;3324:27;3314:55;;3365:1;3362;3355:12;3314:55;2810:693;;;;-1:-1:-1;2810:693:34;;;;3388:5;3440:3;3425:19;;3412:33;;-1:-1:-1;3492:3:34;3477:19;;;3464:33;;2810:693;-1:-1:-1;;2810:693:34:o;3508:260::-;3576:6;3584;3637:2;3625:9;3616:7;3612:23;3608:32;3605:52;;;3653:1;3650;3643:12;3605:52;3676:29;3695:9;3676:29;:::i;:::-;3666:39;;3724:38;3758:2;3747:9;3743:18;3724:38;:::i;:::-;3714:48;;3508:260;;;;;:::o;3773:437::-;3852:1;3848:12;;;;3895;;;3916:61;;3970:4;3962:6;3958:17;3948:27;;3916:61;4023:2;4015:6;4012:14;3992:18;3989:38;3986:218;;;-1:-1:-1;;;4057:1:34;4050:88;4161:4;4158:1;4151:15;4189:4;4186:1;4179:15;3986:218;;3773:437;;;:::o;4215:184::-;-1:-1:-1;;;4264:1:34;4257:88;4364:4;4361:1;4354:15;4388:4;4385:1;4378:15;4404:125;4444:4;4472:1;4469;4466:8;4463:34;;;4477:18;;:::i;:::-;-1:-1:-1;4514:9:34;;4404:125::o;4534:274::-;4663:3;4701:6;4695:13;4717:53;4763:6;4758:3;4751:4;4743:6;4739:17;4717:53;:::i;:::-;4786:16;;;;;4534:274;-1:-1:-1;;4534:274:34:o;5312:128::-;5352:3;5383:1;5379:6;5376:1;5373:13;5370:39;;;5389:18;;:::i;:::-;-1:-1:-1;5425:9:34;;5312:128::o;5445:135::-;5484:3;-1:-1:-1;;5505:17:34;;5502:43;;;5525:18;;:::i;:::-;-1:-1:-1;5572:1:34;5561:13;;5445:135::o;6204:439::-;6391:3;6429:6;6423:13;6445:53;6491:6;6486:3;6479:4;6471:6;6467:17;6445:53;:::i;:::-;6520:16;;;;6545:21;;;-1:-1:-1;6593:4:34;6582:16;;6575:32;6634:2;6623:14;;6204:439;-1:-1:-1;6204:439:34:o" - }, - "methodIdentifiers": { - "DOMAIN_SEPARATOR()": "3644e515", - "allowance(address,address)": "dd62ed3e", - "approve(address,uint256)": "095ea7b3", - "balanceOf(address)": "70a08231", - "burn(bytes32)": "08a1eee1", - "burnFrom(address,uint256)": "79cc6790", - "cap()": "355274ea", - "decimals()": "313ce567", - "decreaseAllowance(address,uint256)": "a457c2d7", - "depositAddress(bytes32)": "31eecaf4", - "increaseAllowance(address,uint256)": "39509351", - "mint(address,uint256)": "40c10f19", - "name()": "06fdde03", - "nonces(address)": "7ecebe00", - "owner()": "8da5cb5b", - "permit(address,address,uint256,uint256,uint8,bytes32,bytes32)": "d505accf", - "symbol()": "95d89b41", - "totalSupply()": "18160ddd", - "transfer(address,uint256)": "a9059cbb", - "transferFrom(address,address,uint256)": "23b872dd", - "transferOwnership(address)": "f2fde38b" - } - }, - "metadata": "{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"capacity\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"CapExceeded\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidAccount\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidOwner\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidSignature\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidV\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotOwner\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"PermitExpired\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"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\":\"DOMAIN_SEPARATOR\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"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\":\"\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"}],\"name\":\"burn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"burnFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"cap\",\"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\":\"salt\",\"type\":\"bytes32\"}],\"name\":\"depositAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"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\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"nonces\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"issuer\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"permit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"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\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. NOTE: If `amount` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address.\"},\"decreaseAllowance(address,uint256)\":{\"details\":\"Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`.\"},\"increaseAllowance(address,uint256)\":{\"details\":\"Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address.\"},\"transfer(address,uint256)\":{\"details\":\"See {IERC20-transfer}. Requirements: - `recipient` cannot be the zero address. - the caller must have a balance of at least `amount`.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. Requirements: - `sender` and `recipient` cannot be the zero address. - `sender` must have a balance of at least `amount`. - the caller must have allowance for ``sender``'s tokens of at least `amount`.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@axelar-network/axelar-cgp-solidity/contracts/BurnableMintableCappedERC20.sol\":\"BurnableMintableCappedERC20\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1000},\"remappings\":[]},\"sources\":{\"@axelar-network/axelar-cgp-solidity/contracts/BurnableMintableCappedERC20.sol\":{\"keccak256\":\"0x684964c901b99140cf84b36c2ec4301b9dd04fc41ff3c4b1e2beb838b92b796e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://db9a16826df8308bf7365f7c35504fb2b22523af64df5321ca0a543bf3652ad2\",\"dweb:/ipfs/QmShGtuPASurHQ8uECzoLRAw2iH7kaDF26XQXgEKxfmkhi\"]},\"@axelar-network/axelar-cgp-solidity/contracts/DepositHandler.sol\":{\"keccak256\":\"0x5b4bc062482be3f8dd95774d48f05b5edae19fc2768b509db687b9ad1cfd300c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a0a9de2fbb742825e692fe4b5c4d9e770e230c6685f697def072e5c1f432caa5\",\"dweb:/ipfs/QmRZxBayzsQghyTpZfiUJQTJ61hXL2o4vweqLQkHP5XSbE\"]},\"@axelar-network/axelar-cgp-solidity/contracts/ERC20.sol\":{\"keccak256\":\"0x287710de0cde19d80aab753fd24296e9b826cb38c95b60ff98f304ff17f8cc2c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d2e8f192386b7b7a8a2a706cf3328a4f2a03316ea9b6b794fd4aac5547c68cf4\",\"dweb:/ipfs/QmQNn5eM6yAPnv77CkieA4rzo7G4yi6jy9ACgYnkBE92yV\"]},\"@axelar-network/axelar-cgp-solidity/contracts/ERC20Permit.sol\":{\"keccak256\":\"0x7ff0fca2cc2c02b099753c3ce79800ce88070290a1eb73392d4333eafb003e07\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1ee04b325749300f3c3a4c3e07fa5d9c651374b38106cf079c00301e15b2a2e2\",\"dweb:/ipfs/Qmdfnqbb1Fnv2x5uhPeHfzvnxh2Esq8k5CSAxHjLv1Pmz4\"]},\"@axelar-network/axelar-cgp-solidity/contracts/MintableCappedERC20.sol\":{\"keccak256\":\"0xd99b3f22d2b0f7e56f66c471ab8fcf8ca442300eb2eefcfa5bab9f104c1a7fde\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bf7521ed70c4149ecc75a08cfc035feaa1463ae8e12f190a7ac4ad10a49ac903\",\"dweb:/ipfs/QmNgmgdVTjKPLjt8Nf2H9T9J25vrg1A8ZcsfJgfNyo7Dng\"]},\"@axelar-network/axelar-cgp-solidity/contracts/Ownable.sol\":{\"keccak256\":\"0xd6cab35c616c549f1947be46a22669054bc25aaca04a97130df3893c60a2e270\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72c31289afb27da070075a36dbf1060d394cd2f7093a7283a6ababa7cf7c003d\",\"dweb:/ipfs/QmXv2HPzx7U6GDpjA3hMY4Uz9dQVLtHG4CSLUuCgPHJFKR\"]},\"@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarGateway.sol\":{\"keccak256\":\"0x1ab75989d0869cf2b919b82aec52e75b1cd34395dcf78d99a6d852eb46432462\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://35d3164de1eba58778bb57c9495056e933551cde899ab2e4326dccf00c137e93\",\"dweb:/ipfs/QmYqH4jvacF3fuRqGhXZ1cLzkuBhBwp4qtNdV4uoa2NivG\"]},\"@axelar-network/axelar-cgp-solidity/contracts/interfaces/IBurnableMintableCappedERC20.sol\":{\"keccak256\":\"0xc6c00f50351e67fbaf7e7b248392ebe32afac522beb1b494e03906cd4e88ad61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2352fe3bd79d78b4960b79dce04e5ff564d30c7348e80de9a8c7359b0a6aaec4\",\"dweb:/ipfs/QmaAv6xVJZ1NWUB959iwytgNcLffqfwvFPu8FskTBJ1SmB\"]},\"@axelar-network/axelar-cgp-solidity/contracts/interfaces/IERC20.sol\":{\"keccak256\":\"0x018cf796d80d65945fa85fa4fb49d926481ffe9316564ea251ee14836d661635\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://677295d77a7b45e0d06fc389f859bb39e1175e16a75e141f0ce06743258178d3\",\"dweb:/ipfs/QmdoJiu5PJ6D3NcZVGHVGCFVW8WkQbTdqok1AoTcG3NmYR\"]},\"@axelar-network/axelar-cgp-solidity/contracts/interfaces/IERC20Burn.sol\":{\"keccak256\":\"0x50a310a5be7aa6bc95085b1173291543c9e17b0f86b4a38f535cce28864a4627\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://849b5dd44f16d0d803806bd2bdb8219b61d6a10f269683cff888d6db4778e14f\",\"dweb:/ipfs/QmcvYH2uCZY9zmPWS6nG9YHt3XdncgnepMhhgbEmdv5KK7\"]},\"@axelar-network/axelar-cgp-solidity/contracts/interfaces/IERC20BurnFrom.sol\":{\"keccak256\":\"0xdbd8d686a6febad83bb51dcc2fd488b84ae27d50209f1f2ad2515a8c15681e49\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://858ded3c046b35dda8035b3eb4377e8510e1c2afc7f12ad9da1d9ee7a8559b81\",\"dweb:/ipfs/QmT284Vxz61VCxX6A7VcxgkLZgwQdmiKGpk1jAngJ6TDXQ\"]},\"@axelar-network/axelar-cgp-solidity/contracts/interfaces/IERC20Permit.sol\":{\"keccak256\":\"0xd0f2210276eefeceae0ba6590c9f515f89149e01d70c18a7b36c372250ed06cb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://78caf6d22f4239a95d84cfdb04e4fe8a122c29c967e4edacadc9f88ba0d2fee0\",\"dweb:/ipfs/QmR2Weu44fXPvgwfHEenMhTnMZFVTSuzTGsP8TQRtQLQEj\"]},\"@axelar-network/axelar-cgp-solidity/contracts/interfaces/IMintableCappedERC20.sol\":{\"keccak256\":\"0x8ba2122d3c0fb1d4256d01b34cc6d38847c17de3321ceb680a53d3267799b36e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://78a827661b41a592c046ee4fb87297e59373aa6bfdef14b301060f3682b5e678\",\"dweb:/ipfs/QmTHCkgPAH2Kc83TovmE61euxu7SuhvUGTsLByXn6jKTh3\"]},\"@axelar-network/axelar-cgp-solidity/contracts/interfaces/IOwnable.sol\":{\"keccak256\":\"0x7a6e3ad6c339fc3d5a3f16ab1778cfae2f6b38f4c1a100b9686cf05b4bceb408\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d3801fdbd1c5cbfc105703b0da12051f5d9e17d38a4768a79fd5110cfd8712b8\",\"dweb:/ipfs/QmUnTmkpxTcbebnjDVNkfhEPRnyLfnPMEnAh53zKeZPgj9\"]}},\"version\":1}" - } - }, - "@axelar-network/axelar-cgp-solidity/contracts/DepositHandler.sol": { - "DepositHandler": { - "abi": [ - { - "inputs": [], - "name": "IsLocked", - "type": "error" - }, - { - "inputs": [], - "name": "NotContract", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "etherDestination", - "type": "address" - } - ], - "name": "destroy", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "callee", - "type": "address" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "execute", - "outputs": [ - { - "internalType": "bool", - "name": "success", - "type": "bool" - }, - { - "internalType": "bytes", - "name": "returnData", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "evm": { - "bytecode": { - "functionDebugData": {}, - "generatedSources": [], - "linkReferences": {}, - "object": "6080604052600160005534801561001557600080fd5b50610324806100256000396000f3fe608060405234801561001057600080fd5b50600436106100355760003560e01c8062f55d9d1461003a5780631cff79cd1461004f575b600080fd5b61004d6100483660046101da565b610079565b005b61006261005d3660046101fc565b6100bb565b60405161007092919061027f565b60405180910390f35b6002600054141561009d5760405163caa30f5560e01b815260040160405180910390fd5b600260005573ffffffffffffffffffffffffffffffffffffffff8116ff5b60006060600260005414156100e35760405163caa30f5560e01b815260040160405180910390fd5b600260005573ffffffffffffffffffffffffffffffffffffffff85163b610136576040517f6f7c43f100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8473ffffffffffffffffffffffffffffffffffffffff16848460405161015d9291906102de565b6000604051808303816000865af19150503d806000811461019a576040519150601f19603f3d011682016040523d82523d6000602084013e61019f565b606091505b50600160005590969095509350505050565b803573ffffffffffffffffffffffffffffffffffffffff811681146101d557600080fd5b919050565b6000602082840312156101ec57600080fd5b6101f5826101b1565b9392505050565b60008060006040848603121561021157600080fd5b61021a846101b1565b9250602084013567ffffffffffffffff8082111561023757600080fd5b818601915086601f83011261024b57600080fd5b81358181111561025a57600080fd5b87602082850101111561026c57600080fd5b6020830194508093505050509250925092565b821515815260006020604081840152835180604085015260005b818110156102b557858101830151858201606001528201610299565b818111156102c7576000606083870101525b50601f01601f191692909201606001949350505050565b818382376000910190815291905056fea2646970667358221220dfb702492c35c6a884ac11997b483e3fee4ff8145c7abb0799d2a2fc8674c39364736f6c63430008090033", - "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x1 PUSH1 0x0 SSTORE CALLVALUE DUP1 ISZERO PUSH2 0x15 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x324 DUP1 PUSH2 0x25 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 0x35 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH3 0xF55D9D EQ PUSH2 0x3A JUMPI DUP1 PUSH4 0x1CFF79CD EQ PUSH2 0x4F JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4D PUSH2 0x48 CALLDATASIZE PUSH1 0x4 PUSH2 0x1DA JUMP JUMPDEST PUSH2 0x79 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x62 PUSH2 0x5D CALLDATASIZE PUSH1 0x4 PUSH2 0x1FC JUMP JUMPDEST PUSH2 0xBB JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x70 SWAP3 SWAP2 SWAP1 PUSH2 0x27F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x2 PUSH1 0x0 SLOAD EQ ISZERO PUSH2 0x9D JUMPI PUSH1 0x40 MLOAD PUSH4 0xCAA30F55 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x2 PUSH1 0x0 SSTORE PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 AND SELFDESTRUCT JUMPDEST PUSH1 0x0 PUSH1 0x60 PUSH1 0x2 PUSH1 0x0 SLOAD EQ ISZERO PUSH2 0xE3 JUMPI PUSH1 0x40 MLOAD PUSH4 0xCAA30F55 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x2 PUSH1 0x0 SSTORE PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP6 AND EXTCODESIZE PUSH2 0x136 JUMPI PUSH1 0x40 MLOAD PUSH32 0x6F7C43F100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP5 DUP5 PUSH1 0x40 MLOAD PUSH2 0x15D SWAP3 SWAP2 SWAP1 PUSH2 0x2DE JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP7 GAS CALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x19A JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x19F JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP PUSH1 0x1 PUSH1 0x0 SSTORE SWAP1 SWAP7 SWAP1 SWAP6 POP SWAP4 POP POP POP POP JUMP JUMPDEST DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 AND DUP2 EQ PUSH2 0x1D5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1EC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1F5 DUP3 PUSH2 0x1B1 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x40 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x211 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x21A DUP5 PUSH2 0x1B1 JUMP JUMPDEST SWAP3 POP PUSH1 0x20 DUP5 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x237 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP7 ADD SWAP2 POP DUP7 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x24B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD DUP2 DUP2 GT ISZERO PUSH2 0x25A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP8 PUSH1 0x20 DUP3 DUP6 ADD ADD GT ISZERO PUSH2 0x26C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x20 DUP4 ADD SWAP5 POP DUP1 SWAP4 POP POP POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST DUP3 ISZERO ISZERO DUP2 MSTORE PUSH1 0x0 PUSH1 0x20 PUSH1 0x40 DUP2 DUP5 ADD MSTORE DUP4 MLOAD DUP1 PUSH1 0x40 DUP6 ADD MSTORE PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x2B5 JUMPI DUP6 DUP2 ADD DUP4 ADD MLOAD DUP6 DUP3 ADD PUSH1 0x60 ADD MSTORE DUP3 ADD PUSH2 0x299 JUMP JUMPDEST DUP2 DUP2 GT ISZERO PUSH2 0x2C7 JUMPI PUSH1 0x0 PUSH1 0x60 DUP4 DUP8 ADD ADD MSTORE JUMPDEST POP PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x60 ADD SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST DUP2 DUP4 DUP3 CALLDATACOPY PUSH1 0x0 SWAP2 ADD SWAP1 DUP2 MSTORE SWAP2 SWAP1 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xDF 0xB7 MUL 0x49 0x2C CALLDATALOAD 0xC6 0xA8 DUP5 0xAC GT SWAP10 PUSH28 0x483E3FEE4FF8145C7ABB0799D2A2FC8674C39364736F6C6343000809 STOP CALLER ", - "sourceMap": "57:900:5:-:0;;;185:1;248:46;;57:900;;;;;;;;;;;;;;;;" - }, - "deployedBytecode": { - "functionDebugData": { - "@destroy_3380": { - "entryPoint": 121, - "id": 3380, - "parameterSlots": 1, - "returnSlots": 0 - }, - "@execute_3365": { - "entryPoint": 187, - "id": 3365, - "parameterSlots": 3, - "returnSlots": 2 - }, - "abi_decode_address": { - "entryPoint": 433, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "abi_decode_tuple_t_address": { - "entryPoint": 474, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_decode_tuple_t_addresst_bytes_calldata_ptr": { - "entryPoint": 508, - "id": null, - "parameterSlots": 2, - "returnSlots": 3 - }, - "abi_encode_tuple_packed_t_bytes_calldata_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed": { - "entryPoint": 734, - "id": null, - "parameterSlots": 3, - "returnSlots": 1 - }, - "abi_encode_tuple_t_bool_t_bytes_memory_ptr__to_t_bool_t_bytes_memory_ptr__fromStack_reversed": { - "entryPoint": 639, - "id": null, - "parameterSlots": 3, - "returnSlots": 1 - } - }, - "generatedSources": [ - { - "ast": { - "nodeType": "YulBlock", - "src": "0:2030:34", - "statements": [ - { - "nodeType": "YulBlock", - "src": "6:3:34", - "statements": [] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "63:147:34", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "73:29:34", - "value": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "95:6:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "82:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "82:20:34" - }, - "variableNames": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "73:5:34" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "188:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "197:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "200:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "190:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "190:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "190:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "124:5:34" - }, - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "135:5:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "142:42:34", - "type": "", - "value": "0xffffffffffffffffffffffffffffffffffffffff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "131:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "131:54:34" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "121:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "121:65:34" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "114:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "114:73:34" - }, - "nodeType": "YulIf", - "src": "111:93:34" - } - ] - }, - "name": "abi_decode_address", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "42:6:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "53:5:34", - "type": "" - } - ], - "src": "14:196:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "285:116:34", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "331:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "340:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "343:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "333:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "333:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "333:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "306:7:34" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "315:9:34" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "302:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "302:23:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "327:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "298:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "298:32:34" - }, - "nodeType": "YulIf", - "src": "295:52:34" - }, - { - "nodeType": "YulAssignment", - "src": "356:39:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "385:9:34" - } - ], - "functionName": { - "name": "abi_decode_address", - "nodeType": "YulIdentifier", - "src": "366:18:34" - }, - "nodeType": "YulFunctionCall", - "src": "366:29:34" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "356:6:34" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_address", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "251:9:34", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "262:7:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "274:6:34", - "type": "" - } - ], - "src": "215:186:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "512:559:34", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "558:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "567:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "570:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "560:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "560:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "560:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "533:7:34" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "542:9:34" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "529:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "529:23:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "554:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "525:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "525:32:34" - }, - "nodeType": "YulIf", - "src": "522:52:34" - }, - { - "nodeType": "YulAssignment", - "src": "583:39:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "612:9:34" - } - ], - "functionName": { - "name": "abi_decode_address", - "nodeType": "YulIdentifier", - "src": "593:18:34" - }, - "nodeType": "YulFunctionCall", - "src": "593:29:34" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "583:6:34" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "631:46:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "662:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "673:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "658:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "658:18:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "645:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "645:32:34" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "635:6:34", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "686:28:34", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "696:18:34", - "type": "", - "value": "0xffffffffffffffff" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "690:2:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "741:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "750:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "753:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "743:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "743:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "743:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "729:6:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "737:2:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "726:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "726:14:34" - }, - "nodeType": "YulIf", - "src": "723:34:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "766:32:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "780:9:34" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "791:6:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "776:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "776:22:34" - }, - "variables": [ - { - "name": "_2", - "nodeType": "YulTypedName", - "src": "770:2:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "846:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "855:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "858:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "848:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "848:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "848:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "825:2:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "829:4:34", - "type": "", - "value": "0x1f" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "821:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "821:13:34" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "836:7:34" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "817:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "817:27:34" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "810:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "810:35:34" - }, - "nodeType": "YulIf", - "src": "807:55:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "871:30:34", - "value": { - "arguments": [ - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "898:2:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "885:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "885:16:34" - }, - "variables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "875:6:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "928:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "937:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "940:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "930:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "930:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "930:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "916:6:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "924:2:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "913:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "913:14:34" - }, - "nodeType": "YulIf", - "src": "910:34:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "994:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1003:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1006:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "996:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "996:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "996:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "967:2:34" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "971:6:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "963:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "963:15:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "980:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "959:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "959:24:34" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "985:7:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "956:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "956:37:34" - }, - "nodeType": "YulIf", - "src": "953:57:34" - }, - { - "nodeType": "YulAssignment", - "src": "1019:21:34", - "value": { - "arguments": [ - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "1033:2:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1037:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1029:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1029:11:34" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "1019:6:34" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "1049:16:34", - "value": { - "name": "length", - "nodeType": "YulIdentifier", - "src": "1059:6:34" - }, - "variableNames": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "1049:6:34" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_addresst_bytes_calldata_ptr", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "462:9:34", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "473:7:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "485:6:34", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "493:6:34", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "501:6:34", - "type": "" - } - ], - "src": "406:665:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1217:535:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1234:9:34" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1259:6:34" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "1252:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "1252:14:34" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "1245:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "1245:22:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1227:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "1227:41:34" - }, - "nodeType": "YulExpressionStatement", - "src": "1227:41:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1277:12:34", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1287:2:34", - "type": "", - "value": "32" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "1281:2:34", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1309:9:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "1320:2:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1305:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1305:18:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1325:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1298:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "1298:30:34" - }, - "nodeType": "YulExpressionStatement", - "src": "1298:30:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1337:27:34", - "value": { - "arguments": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "1357:6:34" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "1351:5:34" - }, - "nodeType": "YulFunctionCall", - "src": "1351:13:34" - }, - "variables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "1341:6:34", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1384:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1395:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1380:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1380:18:34" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "1400:6:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1373:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "1373:34:34" - }, - "nodeType": "YulExpressionStatement", - "src": "1373:34:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1416:10:34", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1425:1:34", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "i", - "nodeType": "YulTypedName", - "src": "1420:1:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1485:90:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1514:9:34" - }, - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "1525:1:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1510:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1510:17:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1529:2:34", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1506:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1506:26:34" - }, - { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "1548:6:34" - }, - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "1556:1:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1544:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1544:14:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "1560:2:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1540:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1540:23:34" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "1534:5:34" - }, - "nodeType": "YulFunctionCall", - "src": "1534:30:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1499:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "1499:66:34" - }, - "nodeType": "YulExpressionStatement", - "src": "1499:66:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "1446:1:34" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "1449:6:34" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "1443:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "1443:13:34" - }, - "nodeType": "YulForLoop", - "post": { - "nodeType": "YulBlock", - "src": "1457:19:34", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "1459:15:34", - "value": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "1468:1:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "1471:2:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1464:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1464:10:34" - }, - "variableNames": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "1459:1:34" - } - ] - } - ] - }, - "pre": { - "nodeType": "YulBlock", - "src": "1439:3:34", - "statements": [] - }, - "src": "1435:140:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1609:66:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1638:9:34" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "1649:6:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1634:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1634:22:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1658:2:34", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1630:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1630:31:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1663:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1623:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "1623:42:34" - }, - "nodeType": "YulExpressionStatement", - "src": "1623:42:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "1590:1:34" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "1593:6:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "1587:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "1587:13:34" - }, - "nodeType": "YulIf", - "src": "1584:91:34" - }, - { - "nodeType": "YulAssignment", - "src": "1684:62:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1700:9:34" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "1719:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1727:2:34", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1715:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1715:15:34" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1736:2:34", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "1732:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1732:7:34" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "1711:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1711:29:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1696:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1696:45:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1743:2:34", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1692:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1692:54:34" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "1684:4:34" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_bool_t_bytes_memory_ptr__to_t_bool_t_bytes_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "1178:9:34", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "1189:6:34", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "1197:6:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "1208:4:34", - "type": "" - } - ], - "src": "1076:676:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1904:124:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "1927:3:34" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1932:6:34" - }, - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "1940:6:34" - } - ], - "functionName": { - "name": "calldatacopy", - "nodeType": "YulIdentifier", - "src": "1914:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "1914:33:34" - }, - "nodeType": "YulExpressionStatement", - "src": "1914:33:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1956:26:34", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "1970:3:34" - }, - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "1975:6:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1966:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1966:16:34" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "1960:2:34", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "1998:2:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2002:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1991:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "1991:13:34" - }, - "nodeType": "YulExpressionStatement", - "src": "1991:13:34" - }, - { - "nodeType": "YulAssignment", - "src": "2013:9:34", - "value": { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "2020:2:34" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "2013:3:34" - } - ] - } - ] - }, - "name": "abi_encode_tuple_packed_t_bytes_calldata_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "1872:3:34", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "1877:6:34", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "1885:6:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "1896:3:34", - "type": "" - } - ], - "src": "1757:271:34" - } - ] - }, - "contents": "{\n { }\n function abi_decode_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(0, 0) }\n value0 := abi_decode_address(headStart)\n }\n function abi_decode_tuple_t_addresst_bytes_calldata_ptr(headStart, dataEnd) -> value0, value1, value2\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n let offset := calldataload(add(headStart, 32))\n let _1 := 0xffffffffffffffff\n if gt(offset, _1) { revert(0, 0) }\n let _2 := add(headStart, offset)\n if iszero(slt(add(_2, 0x1f), dataEnd)) { revert(0, 0) }\n let length := calldataload(_2)\n if gt(length, _1) { revert(0, 0) }\n if gt(add(add(_2, length), 32), dataEnd) { revert(0, 0) }\n value1 := add(_2, 32)\n value2 := length\n }\n function abi_encode_tuple_t_bool_t_bytes_memory_ptr__to_t_bool_t_bytes_memory_ptr__fromStack_reversed(headStart, value1, value0) -> tail\n {\n mstore(headStart, iszero(iszero(value0)))\n let _1 := 32\n mstore(add(headStart, _1), 64)\n let length := mload(value1)\n mstore(add(headStart, 64), length)\n let i := 0\n for { } lt(i, length) { i := add(i, _1) }\n {\n mstore(add(add(headStart, i), 96), mload(add(add(value1, i), _1)))\n }\n if gt(i, length)\n {\n mstore(add(add(headStart, length), 96), 0)\n }\n tail := add(add(headStart, and(add(length, 31), not(31))), 96)\n }\n function abi_encode_tuple_packed_t_bytes_calldata_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value1, value0) -> end\n {\n calldatacopy(pos, value0, value1)\n let _1 := add(pos, value1)\n mstore(_1, 0)\n end := _1\n }\n}", - "id": 34, - "language": "Yul", - "name": "#utility.yul" - } - ], - "immutableReferences": {}, - "linkReferences": {}, - "object": "608060405234801561001057600080fd5b50600436106100355760003560e01c8062f55d9d1461003a5780631cff79cd1461004f575b600080fd5b61004d6100483660046101da565b610079565b005b61006261005d3660046101fc565b6100bb565b60405161007092919061027f565b60405180910390f35b6002600054141561009d5760405163caa30f5560e01b815260040160405180910390fd5b600260005573ffffffffffffffffffffffffffffffffffffffff8116ff5b60006060600260005414156100e35760405163caa30f5560e01b815260040160405180910390fd5b600260005573ffffffffffffffffffffffffffffffffffffffff85163b610136576040517f6f7c43f100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8473ffffffffffffffffffffffffffffffffffffffff16848460405161015d9291906102de565b6000604051808303816000865af19150503d806000811461019a576040519150601f19603f3d011682016040523d82523d6000602084013e61019f565b606091505b50600160005590969095509350505050565b803573ffffffffffffffffffffffffffffffffffffffff811681146101d557600080fd5b919050565b6000602082840312156101ec57600080fd5b6101f5826101b1565b9392505050565b60008060006040848603121561021157600080fd5b61021a846101b1565b9250602084013567ffffffffffffffff8082111561023757600080fd5b818601915086601f83011261024b57600080fd5b81358181111561025a57600080fd5b87602082850101111561026c57600080fd5b6020830194508093505050509250925092565b821515815260006020604081840152835180604085015260005b818110156102b557858101830151858201606001528201610299565b818111156102c7576000606083870101525b50601f01601f191692909201606001949350505050565b818382376000910190815291905056fea2646970667358221220dfb702492c35c6a884ac11997b483e3fee4ff8145c7abb0799d2a2fc8674c39364736f6c63430008090033", - "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x35 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH3 0xF55D9D EQ PUSH2 0x3A JUMPI DUP1 PUSH4 0x1CFF79CD EQ PUSH2 0x4F JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4D PUSH2 0x48 CALLDATASIZE PUSH1 0x4 PUSH2 0x1DA JUMP JUMPDEST PUSH2 0x79 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x62 PUSH2 0x5D CALLDATASIZE PUSH1 0x4 PUSH2 0x1FC JUMP JUMPDEST PUSH2 0xBB JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x70 SWAP3 SWAP2 SWAP1 PUSH2 0x27F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x2 PUSH1 0x0 SLOAD EQ ISZERO PUSH2 0x9D JUMPI PUSH1 0x40 MLOAD PUSH4 0xCAA30F55 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x2 PUSH1 0x0 SSTORE PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 AND SELFDESTRUCT JUMPDEST PUSH1 0x0 PUSH1 0x60 PUSH1 0x2 PUSH1 0x0 SLOAD EQ ISZERO PUSH2 0xE3 JUMPI PUSH1 0x40 MLOAD PUSH4 0xCAA30F55 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x2 PUSH1 0x0 SSTORE PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP6 AND EXTCODESIZE PUSH2 0x136 JUMPI PUSH1 0x40 MLOAD PUSH32 0x6F7C43F100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP5 DUP5 PUSH1 0x40 MLOAD PUSH2 0x15D SWAP3 SWAP2 SWAP1 PUSH2 0x2DE JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP7 GAS CALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x19A JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x19F JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP PUSH1 0x1 PUSH1 0x0 SSTORE SWAP1 SWAP7 SWAP1 SWAP6 POP SWAP4 POP POP POP POP JUMP JUMPDEST DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 AND DUP2 EQ PUSH2 0x1D5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1EC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1F5 DUP3 PUSH2 0x1B1 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x40 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x211 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x21A DUP5 PUSH2 0x1B1 JUMP JUMPDEST SWAP3 POP PUSH1 0x20 DUP5 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x237 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP7 ADD SWAP2 POP DUP7 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x24B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD DUP2 DUP2 GT ISZERO PUSH2 0x25A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP8 PUSH1 0x20 DUP3 DUP6 ADD ADD GT ISZERO PUSH2 0x26C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x20 DUP4 ADD SWAP5 POP DUP1 SWAP4 POP POP POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST DUP3 ISZERO ISZERO DUP2 MSTORE PUSH1 0x0 PUSH1 0x20 PUSH1 0x40 DUP2 DUP5 ADD MSTORE DUP4 MLOAD DUP1 PUSH1 0x40 DUP6 ADD MSTORE PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x2B5 JUMPI DUP6 DUP2 ADD DUP4 ADD MLOAD DUP6 DUP3 ADD PUSH1 0x60 ADD MSTORE DUP3 ADD PUSH2 0x299 JUMP JUMPDEST DUP2 DUP2 GT ISZERO PUSH2 0x2C7 JUMPI PUSH1 0x0 PUSH1 0x60 DUP4 DUP8 ADD ADD MSTORE JUMPDEST POP PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x60 ADD SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST DUP2 DUP4 DUP3 CALLDATACOPY PUSH1 0x0 SWAP2 ADD SWAP1 DUP2 MSTORE SWAP2 SWAP1 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xDF 0xB7 MUL 0x49 0x2C CALLDATALOAD 0xC6 0xA8 DUP5 0xAC GT SWAP10 PUSH28 0x483E3FEE4FF8145C7ABB0799D2A2FC8674C39364736F6C6343000809 STOP CALLER ", - "sourceMap": "57:900:5:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;837:118;;;;;;:::i;:::-;;:::i;:::-;;480:238;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;837:118;239:1;336:13;;:26;332:49;;;371:10;;-1:-1:-1;;;371:10:5;;;;;;;;;;;332:49;239:1;392:13;:25;909:39:::1;::::0;::::1;;480:238:::0;562:12;576:23;239:1;336:13;;:26;332:49;;;371:10;;-1:-1:-1;;;371:10:5;;;;;;;;;;;332:49;239:1;392:13;:25;615:18:::1;::::0;::::1;;611:49;;647:13;;;;;;;;;;;;;;611:49;694:6;:11;;706:4;;694:17;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;185:1:5;438:13;:29;670:41;;;;-1:-1:-1;480:238:5;-1:-1:-1;;;;480:238:5:o;14:196:34:-;82:20;;142:42;131:54;;121:65;;111:93;;200:1;197;190:12;111:93;14:196;;;:::o;215:186::-;274:6;327:2;315:9;306:7;302:23;298:32;295:52;;;343:1;340;333:12;295:52;366:29;385:9;366:29;:::i;:::-;356:39;215:186;-1:-1:-1;;;215:186:34:o;406:665::-;485:6;493;501;554:2;542:9;533:7;529:23;525:32;522:52;;;570:1;567;560:12;522:52;593:29;612:9;593:29;:::i;:::-;583:39;;673:2;662:9;658:18;645:32;696:18;737:2;729:6;726:14;723:34;;;753:1;750;743:12;723:34;791:6;780:9;776:22;766:32;;836:7;829:4;825:2;821:13;817:27;807:55;;858:1;855;848:12;807:55;898:2;885:16;924:2;916:6;913:14;910:34;;;940:1;937;930:12;910:34;985:7;980:2;971:6;967:2;963:15;959:24;956:37;953:57;;;1006:1;1003;996:12;953:57;1037:2;1033;1029:11;1019:21;;1059:6;1049:16;;;;;406:665;;;;;:::o;1076:676::-;1259:6;1252:14;1245:22;1234:9;1227:41;1208:4;1287:2;1325;1320;1309:9;1305:18;1298:30;1357:6;1351:13;1400:6;1395:2;1384:9;1380:18;1373:34;1425:1;1435:140;1449:6;1446:1;1443:13;1435:140;;;1544:14;;;1540:23;;1534:30;1510:17;;;1529:2;1506:26;1499:66;1464:10;;1435:140;;;1593:6;1590:1;1587:13;1584:91;;;1663:1;1658:2;1649:6;1638:9;1634:22;1630:31;1623:42;1584:91;-1:-1:-1;1736:2:34;1715:15;-1:-1:-1;;1711:29:34;1696:45;;;;1743:2;1692:54;;1076:676;-1:-1:-1;;;;1076:676:34:o;1757:271::-;1940:6;1932;1927:3;1914:33;1896:3;1966:16;;1991:13;;;1966:16;1757:271;-1:-1:-1;1757:271:34:o" - }, - "methodIdentifiers": { - "destroy(address)": "00f55d9d", - "execute(address,bytes)": "1cff79cd" - } - }, - "metadata": "{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"IsLocked\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotContract\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"etherDestination\",\"type\":\"address\"}],\"name\":\"destroy\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"callee\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"execute\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@axelar-network/axelar-cgp-solidity/contracts/DepositHandler.sol\":\"DepositHandler\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1000},\"remappings\":[]},\"sources\":{\"@axelar-network/axelar-cgp-solidity/contracts/DepositHandler.sol\":{\"keccak256\":\"0x5b4bc062482be3f8dd95774d48f05b5edae19fc2768b509db687b9ad1cfd300c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a0a9de2fbb742825e692fe4b5c4d9e770e230c6685f697def072e5c1f432caa5\",\"dweb:/ipfs/QmRZxBayzsQghyTpZfiUJQTJ61hXL2o4vweqLQkHP5XSbE\"]}},\"version\":1}" - } - }, - "@axelar-network/axelar-cgp-solidity/contracts/ECDSA.sol": { - "ECDSA": { - "abi": [ - { - "inputs": [], - "name": "InvalidS", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidSignature", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidSignatureLength", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidV", - "type": "error" - } - ], - "evm": { - "bytecode": { - "functionDebugData": {}, - "generatedSources": [], - "linkReferences": {}, - "object": "60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220c973dc0bf6d26a5fb3bd1ac29fea4a0699ff7d3335fd64e09b2bb2ca8a76336164736f6c63430008090033", - "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 0xC9 PUSH20 0xDC0BF6D26A5FB3BD1AC29FEA4A0699FF7D3335FD PUSH5 0xE09B2BB2CA DUP11 PUSH23 0x336164736F6C6343000809003300000000000000000000 ", - "sourceMap": "263:3329:6:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;263:3329:6;;;;;;;;;;;;;;;;;" - }, - "deployedBytecode": { - "functionDebugData": {}, - "generatedSources": [], - "immutableReferences": {}, - "linkReferences": {}, - "object": "73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220c973dc0bf6d26a5fb3bd1ac29fea4a0699ff7d3335fd64e09b2bb2ca8a76336164736f6c63430008090033", - "opcodes": "PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xC9 PUSH20 0xDC0BF6D26A5FB3BD1AC29FEA4A0699FF7D3335FD PUSH5 0xE09B2BB2CA DUP11 PUSH23 0x336164736F6C6343000809003300000000000000000000 ", - "sourceMap": "263:3329:6:-:0;;;;;;;;" - }, - "methodIdentifiers": {} - }, - "metadata": "{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"InvalidS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidSignature\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidSignatureLength\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidV\",\"type\":\"error\"}],\"devdoc\":{\"details\":\"Elliptic Curve Digital Signature Algorithm (ECDSA) operations. These functions can be used to verify that a message was signed by the holder of the private keys of a given address.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@axelar-network/axelar-cgp-solidity/contracts/ECDSA.sol\":\"ECDSA\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1000},\"remappings\":[]},\"sources\":{\"@axelar-network/axelar-cgp-solidity/contracts/ECDSA.sol\":{\"keccak256\":\"0x6bab2891fba4c6a333665ce1ff97b22407d31877163d1e729ccfaa221b0baf96\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4069d2cbffc6f11af86ad299d34c6db62e492b7f1b3b7c45adec1f5d34995f07\",\"dweb:/ipfs/QmVAq2RPLdHrfcPLtrQ3XbgZUYH9oLfvEK95pNeZmj8vRo\"]}},\"version\":1}" - } - }, - "@axelar-network/axelar-cgp-solidity/contracts/ERC20.sol": { - "ERC20": { - "abi": [ - { - "inputs": [ - { - "internalType": "string", - "name": "name_", - "type": "string" - }, - { - "internalType": "string", - "name": "symbol_", - "type": "string" - }, - { - "internalType": "uint8", - "name": "decimals_", - "type": "uint8" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "name": "InvalidAccount", - "type": "error" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Approval", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Transfer", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "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": "", - "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": { - "functionDebugData": { - "@_3529": { - "entryPoint": null, - "id": 3529, - "parameterSlots": 3, - "returnSlots": 0 - }, - "abi_decode_string_fromMemory": { - "entryPoint": 299, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_decode_tuple_t_string_memory_ptrt_string_memory_ptrt_uint8_fromMemory": { - "entryPoint": 482, - "id": null, - "parameterSlots": 2, - "returnSlots": 3 - }, - "extract_byte_array_length": { - "entryPoint": 615, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "panic_error_0x41": { - "entryPoint": 277, - "id": null, - "parameterSlots": 0, - "returnSlots": 0 - } - }, - "generatedSources": [ - { - "ast": { - "nodeType": "YulBlock", - "src": "0:2135:34", - "statements": [ - { - "nodeType": "YulBlock", - "src": "6:3:34", - "statements": [] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "46:95:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "63:1:34", - "type": "", - "value": "0" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "70:3:34", - "type": "", - "value": "224" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "75:10:34", - "type": "", - "value": "0x4e487b71" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "66:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "66:20:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "56:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "56:31:34" - }, - "nodeType": "YulExpressionStatement", - "src": "56:31:34" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "103:1:34", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "106:4:34", - "type": "", - "value": "0x41" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "96:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "96:15:34" - }, - "nodeType": "YulExpressionStatement", - "src": "96:15:34" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "127:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "130:4:34", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "120:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "120:15:34" - }, - "nodeType": "YulExpressionStatement", - "src": "120:15:34" - } - ] - }, - "name": "panic_error_0x41", - "nodeType": "YulFunctionDefinition", - "src": "14:127:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "210:821:34", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "259:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "268:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "271:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "261:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "261:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "261:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "238:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "246:4:34", - "type": "", - "value": "0x1f" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "234:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "234:17:34" - }, - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "253:3:34" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "230:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "230:27:34" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "223:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "223:35:34" - }, - "nodeType": "YulIf", - "src": "220:55:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "284:23:34", - "value": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "300:6:34" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "294:5:34" - }, - "nodeType": "YulFunctionCall", - "src": "294:13:34" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "288:2:34", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "316:28:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "334:2:34", - "type": "", - "value": "64" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "338:1:34", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "330:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "330:10:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "342:1:34", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "326:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "326:18:34" - }, - "variables": [ - { - "name": "_2", - "nodeType": "YulTypedName", - "src": "320:2:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "367:22:34", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x41", - "nodeType": "YulIdentifier", - "src": "369:16:34" - }, - "nodeType": "YulFunctionCall", - "src": "369:18:34" - }, - "nodeType": "YulExpressionStatement", - "src": "369:18:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "359:2:34" - }, - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "363:2:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "356:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "356:10:34" - }, - "nodeType": "YulIf", - "src": "353:36:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "398:17:34", - "value": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "412:2:34", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "408:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "408:7:34" - }, - "variables": [ - { - "name": "_3", - "nodeType": "YulTypedName", - "src": "402:2:34", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "424:23:34", - "value": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "444:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "438:5:34" - }, - "nodeType": "YulFunctionCall", - "src": "438:9:34" - }, - "variables": [ - { - "name": "memPtr", - "nodeType": "YulTypedName", - "src": "428:6:34", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "456:71:34", - "value": { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "478:6:34" - }, - { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "502:2:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "506:4:34", - "type": "", - "value": "0x1f" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "498:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "498:13:34" - }, - { - "name": "_3", - "nodeType": "YulIdentifier", - "src": "513:2:34" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "494:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "494:22:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "518:2:34", - "type": "", - "value": "63" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "490:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "490:31:34" - }, - { - "name": "_3", - "nodeType": "YulIdentifier", - "src": "523:2:34" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "486:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "486:40:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "474:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "474:53:34" - }, - "variables": [ - { - "name": "newFreePtr", - "nodeType": "YulTypedName", - "src": "460:10:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "586:22:34", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x41", - "nodeType": "YulIdentifier", - "src": "588:16:34" - }, - "nodeType": "YulFunctionCall", - "src": "588:18:34" - }, - "nodeType": "YulExpressionStatement", - "src": "588:18:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "newFreePtr", - "nodeType": "YulIdentifier", - "src": "545:10:34" - }, - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "557:2:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "542:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "542:18:34" - }, - { - "arguments": [ - { - "name": "newFreePtr", - "nodeType": "YulIdentifier", - "src": "565:10:34" - }, - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "577:6:34" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "562:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "562:22:34" - } - ], - "functionName": { - "name": "or", - "nodeType": "YulIdentifier", - "src": "539:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "539:46:34" - }, - "nodeType": "YulIf", - "src": "536:72:34" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "624:2:34", - "type": "", - "value": "64" - }, - { - "name": "newFreePtr", - "nodeType": "YulIdentifier", - "src": "628:10:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "617:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "617:22:34" - }, - "nodeType": "YulExpressionStatement", - "src": "617:22:34" - }, - { - "expression": { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "655:6:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "663:2:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "648:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "648:18:34" - }, - "nodeType": "YulExpressionStatement", - "src": "648:18:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "675:14:34", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "685:4:34", - "type": "", - "value": "0x20" - }, - "variables": [ - { - "name": "_4", - "nodeType": "YulTypedName", - "src": "679:2:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "735:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "744:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "747:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "737:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "737:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "737:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "712:6:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "720:2:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "708:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "708:15:34" - }, - { - "name": "_4", - "nodeType": "YulIdentifier", - "src": "725:2:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "704:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "704:24:34" - }, - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "730:3:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "701:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "701:33:34" - }, - "nodeType": "YulIf", - "src": "698:53:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "760:10:34", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "769:1:34", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "i", - "nodeType": "YulTypedName", - "src": "764:1:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "825:87:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "854:6:34" - }, - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "862:1:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "850:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "850:14:34" - }, - { - "name": "_4", - "nodeType": "YulIdentifier", - "src": "866:2:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "846:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "846:23:34" - }, - { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "885:6:34" - }, - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "893:1:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "881:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "881:14:34" - }, - { - "name": "_4", - "nodeType": "YulIdentifier", - "src": "897:2:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "877:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "877:23:34" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "871:5:34" - }, - "nodeType": "YulFunctionCall", - "src": "871:30:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "839:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "839:63:34" - }, - "nodeType": "YulExpressionStatement", - "src": "839:63:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "790:1:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "793:2:34" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "787:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "787:9:34" - }, - "nodeType": "YulForLoop", - "post": { - "nodeType": "YulBlock", - "src": "797:19:34", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "799:15:34", - "value": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "808:1:34" - }, - { - "name": "_4", - "nodeType": "YulIdentifier", - "src": "811:2:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "804:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "804:10:34" - }, - "variableNames": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "799:1:34" - } - ] - } - ] - }, - "pre": { - "nodeType": "YulBlock", - "src": "783:3:34", - "statements": [] - }, - "src": "779:133:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "942:59:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "971:6:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "979:2:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "967:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "967:15:34" - }, - { - "name": "_4", - "nodeType": "YulIdentifier", - "src": "984:2:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "963:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "963:24:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "989:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "956:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "956:35:34" - }, - "nodeType": "YulExpressionStatement", - "src": "956:35:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "927:1:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "930:2:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "924:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "924:9:34" - }, - "nodeType": "YulIf", - "src": "921:80:34" - }, - { - "nodeType": "YulAssignment", - "src": "1010:15:34", - "value": { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "1019:6:34" - }, - "variableNames": [ - { - "name": "array", - "nodeType": "YulIdentifier", - "src": "1010:5:34" - } - ] - } - ] - }, - "name": "abi_decode_string_fromMemory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "184:6:34", - "type": "" - }, - { - "name": "end", - "nodeType": "YulTypedName", - "src": "192:3:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "array", - "nodeType": "YulTypedName", - "src": "200:5:34", - "type": "" - } - ], - "src": "146:885:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1169:579:34", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "1215:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1224:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1227:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "1217:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "1217:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "1217:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "1190:7:34" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1199:9:34" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "1186:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1186:23:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1211:2:34", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "1182:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1182:32:34" - }, - "nodeType": "YulIf", - "src": "1179:52:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1240:30:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1260:9:34" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "1254:5:34" - }, - "nodeType": "YulFunctionCall", - "src": "1254:16:34" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "1244:6:34", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1279:28:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1297:2:34", - "type": "", - "value": "64" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1301:1:34", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "1293:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1293:10:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1305:1:34", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "1289:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1289:18:34" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "1283:2:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1334:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1343:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1346:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "1336:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "1336:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "1336:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "1322:6:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "1330:2:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "1319:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "1319:14:34" - }, - "nodeType": "YulIf", - "src": "1316:34:34" - }, - { - "nodeType": "YulAssignment", - "src": "1359:71:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1402:9:34" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "1413:6:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1398:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1398:22:34" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "1422:7:34" - } - ], - "functionName": { - "name": "abi_decode_string_fromMemory", - "nodeType": "YulIdentifier", - "src": "1369:28:34" - }, - "nodeType": "YulFunctionCall", - "src": "1369:61:34" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1359:6:34" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1439:41:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1465:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1476:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1461:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1461:18:34" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "1455:5:34" - }, - "nodeType": "YulFunctionCall", - "src": "1455:25:34" - }, - "variables": [ - { - "name": "offset_1", - "nodeType": "YulTypedName", - "src": "1443:8:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1509:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1518:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1521:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "1511:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "1511:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "1511:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset_1", - "nodeType": "YulIdentifier", - "src": "1495:8:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "1505:2:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "1492:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "1492:16:34" - }, - "nodeType": "YulIf", - "src": "1489:36:34" - }, - { - "nodeType": "YulAssignment", - "src": "1534:73:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1577:9:34" - }, - { - "name": "offset_1", - "nodeType": "YulIdentifier", - "src": "1588:8:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1573:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1573:24:34" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "1599:7:34" - } - ], - "functionName": { - "name": "abi_decode_string_fromMemory", - "nodeType": "YulIdentifier", - "src": "1544:28:34" - }, - "nodeType": "YulFunctionCall", - "src": "1544:63:34" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "1534:6:34" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1616:38:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1639:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1650:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1635:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1635:18:34" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "1629:5:34" - }, - "nodeType": "YulFunctionCall", - "src": "1629:25:34" - }, - "variables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "1620:5:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1702:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1711:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1714:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "1704:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "1704:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "1704:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "1676:5:34" - }, - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "1687:5:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1694:4:34", - "type": "", - "value": "0xff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "1683:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1683:16:34" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "1673:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "1673:27:34" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "1666:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "1666:35:34" - }, - "nodeType": "YulIf", - "src": "1663:55:34" - }, - { - "nodeType": "YulAssignment", - "src": "1727:15:34", - "value": { - "name": "value", - "nodeType": "YulIdentifier", - "src": "1737:5:34" - }, - "variableNames": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "1727:6:34" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_string_memory_ptrt_string_memory_ptrt_uint8_fromMemory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "1119:9:34", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "1130:7:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "1142:6:34", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "1150:6:34", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "1158:6:34", - "type": "" - } - ], - "src": "1036:712:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1808:325:34", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "1818:22:34", - "value": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1832:1:34", - "type": "", - "value": "1" - }, - { - "name": "data", - "nodeType": "YulIdentifier", - "src": "1835:4:34" - } - ], - "functionName": { - "name": "shr", - "nodeType": "YulIdentifier", - "src": "1828:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1828:12:34" - }, - "variableNames": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "1818:6:34" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1849:38:34", - "value": { - "arguments": [ - { - "name": "data", - "nodeType": "YulIdentifier", - "src": "1879:4:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1885:1:34", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "1875:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1875:12:34" - }, - "variables": [ - { - "name": "outOfPlaceEncoding", - "nodeType": "YulTypedName", - "src": "1853:18:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1926:31:34", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "1928:27:34", - "value": { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "1942:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1950:4:34", - "type": "", - "value": "0x7f" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "1938:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1938:17:34" - }, - "variableNames": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "1928:6:34" - } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "outOfPlaceEncoding", - "nodeType": "YulIdentifier", - "src": "1906:18:34" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "1899:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "1899:26:34" - }, - "nodeType": "YulIf", - "src": "1896:61:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2016:111:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2037:1:34", - "type": "", - "value": "0" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2044:3:34", - "type": "", - "value": "224" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2049:10:34", - "type": "", - "value": "0x4e487b71" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "2040:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "2040:20:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2030:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "2030:31:34" - }, - "nodeType": "YulExpressionStatement", - "src": "2030:31:34" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2081:1:34", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2084:4:34", - "type": "", - "value": "0x22" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2074:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "2074:15:34" - }, - "nodeType": "YulExpressionStatement", - "src": "2074:15:34" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2109:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2112:4:34", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "2102:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "2102:15:34" - }, - "nodeType": "YulExpressionStatement", - "src": "2102:15:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "outOfPlaceEncoding", - "nodeType": "YulIdentifier", - "src": "1972:18:34" - }, - { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "1995:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2003:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "1992:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "1992:14:34" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "1969:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "1969:38:34" - }, - "nodeType": "YulIf", - "src": "1966:161:34" - } - ] - }, - "name": "extract_byte_array_length", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "data", - "nodeType": "YulTypedName", - "src": "1788:4:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "1797:6:34", - "type": "" - } - ], - "src": "1753:380:34" - } - ] - }, - "contents": "{\n { }\n function panic_error_0x41()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n function abi_decode_string_fromMemory(offset, end) -> array\n {\n if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n let _1 := mload(offset)\n let _2 := sub(shl(64, 1), 1)\n if gt(_1, _2) { panic_error_0x41() }\n let _3 := not(31)\n let memPtr := mload(64)\n let newFreePtr := add(memPtr, and(add(and(add(_1, 0x1f), _3), 63), _3))\n if or(gt(newFreePtr, _2), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n mstore(memPtr, _1)\n let _4 := 0x20\n if gt(add(add(offset, _1), _4), end) { revert(0, 0) }\n let i := 0\n for { } lt(i, _1) { i := add(i, _4) }\n {\n mstore(add(add(memPtr, i), _4), mload(add(add(offset, i), _4)))\n }\n if gt(i, _1)\n {\n mstore(add(add(memPtr, _1), _4), 0)\n }\n array := memPtr\n }\n function abi_decode_tuple_t_string_memory_ptrt_string_memory_ptrt_uint8_fromMemory(headStart, dataEnd) -> value0, value1, value2\n {\n if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n let offset := mload(headStart)\n let _1 := sub(shl(64, 1), 1)\n if gt(offset, _1) { revert(0, 0) }\n value0 := abi_decode_string_fromMemory(add(headStart, offset), dataEnd)\n let offset_1 := mload(add(headStart, 32))\n if gt(offset_1, _1) { revert(0, 0) }\n value1 := abi_decode_string_fromMemory(add(headStart, offset_1), dataEnd)\n let value := mload(add(headStart, 64))\n if iszero(eq(value, and(value, 0xff))) { revert(0, 0) }\n value2 := value\n }\n function extract_byte_array_length(data) -> length\n {\n length := shr(1, data)\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}", - "id": 34, - "language": "Yul", - "name": "#utility.yul" - } - ], - "linkReferences": {}, - "object": "60a06040523480156200001157600080fd5b506040516200099c3803806200099c8339810160408190526200003491620001e2565b8251620000499060039060208601906200006f565b5081516200005f9060049060208501906200006f565b5060ff1660805250620002a49050565b8280546200007d9062000267565b90600052602060002090601f016020900481019282620000a15760008555620000ec565b82601f10620000bc57805160ff1916838001178555620000ec565b82800160010185558215620000ec579182015b82811115620000ec578251825591602001919060010190620000cf565b50620000fa929150620000fe565b5090565b5b80821115620000fa5760008155600101620000ff565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200013d57600080fd5b81516001600160401b03808211156200015a576200015a62000115565b604051601f8301601f19908116603f0116810190828211818310171562000185576200018562000115565b81604052838152602092508683858801011115620001a257600080fd5b600091505b83821015620001c65785820183015181830184015290820190620001a7565b83821115620001d85760008385830101525b9695505050505050565b600080600060608486031215620001f857600080fd5b83516001600160401b03808211156200021057600080fd5b6200021e878388016200012b565b945060208601519150808211156200023557600080fd5b5062000244868287016200012b565b925050604084015160ff811681146200025c57600080fd5b809150509250925092565b600181811c908216806200027c57607f821691505b602082108114156200029e57634e487b7160e01b600052602260045260246000fd5b50919050565b6080516106dc620002c0600039600061013e01526106dc6000f3fe608060405234801561001057600080fd5b50600436106100c95760003560e01c80633950935111610081578063a457c2d71161005b578063a457c2d7146101ad578063a9059cbb146101c0578063dd62ed3e146101d357600080fd5b8063395093511461017257806370a082311461018557806395d89b41146101a557600080fd5b806318160ddd116100b257806318160ddd1461010f57806323b872dd14610126578063313ce5671461013957600080fd5b806306fdde03146100ce578063095ea7b3146100ec575b600080fd5b6100d66101fe565b6040516100e391906104fa565b60405180910390f35b6100ff6100fa36600461056b565b61028c565b60405190151581526020016100e3565b61011860025481565b6040519081526020016100e3565b6100ff610134366004610595565b6102a2565b6101607f000000000000000000000000000000000000000000000000000000000000000081565b60405160ff90911681526020016100e3565b6100ff61018036600461056b565b6102f9565b6101186101933660046105d1565b60006020819052908152604090205481565b6100d6610330565b6100ff6101bb36600461056b565b61033d565b6100ff6101ce36600461056b565b610374565b6101186101e13660046105f3565b600160209081526000928352604080842090915290825290205481565b6003805461020b90610626565b80601f016020809104026020016040519081016040528092919081815260200182805461023790610626565b80156102845780601f1061025957610100808354040283529160200191610284565b820191906000526020600020905b81548152906001019060200180831161026757829003601f168201915b505050505081565b6000610299338484610381565b50600192915050565b6001600160a01b038316600090815260016020908152604080832033845290915281205460001981146102e3576102e385336102de8685610677565b610381565b6102ee85858561041e565b506001949350505050565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916102999185906102de90869061068e565b6004805461020b90610626565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916102999185906102de908690610677565b600061029933848461041e565b6001600160a01b038316158061039e57506001600160a01b038216155b156103bc57604051630da30f6560e31b815260040160405180910390fd5b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b038316158061043b57506001600160a01b038216155b1561045957604051630da30f6560e31b815260040160405180910390fd5b6001600160a01b03831660009081526020819052604081208054839290610481908490610677565b90915550506001600160a01b038216600090815260208190526040812080548392906104ae90849061068e565b92505081905550816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161041191815260200190565b600060208083528351808285015260005b818110156105275785810183015185820160400152820161050b565b81811115610539576000604083870101525b50601f01601f1916929092016040019392505050565b80356001600160a01b038116811461056657600080fd5b919050565b6000806040838503121561057e57600080fd5b6105878361054f565b946020939093013593505050565b6000806000606084860312156105aa57600080fd5b6105b38461054f565b92506105c16020850161054f565b9150604084013590509250925092565b6000602082840312156105e357600080fd5b6105ec8261054f565b9392505050565b6000806040838503121561060657600080fd5b61060f8361054f565b915061061d6020840161054f565b90509250929050565b600181811c9082168061063a57607f821691505b6020821081141561065b57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b60008282101561068957610689610661565b500390565b600082198211156106a1576106a1610661565b50019056fea26469706673582212201c054c8339d0879fdf7cb9d3bace09d00f12dd0c2cdd4bd3909f3a179a80640764736f6c63430008090033", - "opcodes": "PUSH1 0xA0 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH3 0x11 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH3 0x99C CODESIZE SUB DUP1 PUSH3 0x99C DUP4 CODECOPY DUP2 ADD PUSH1 0x40 DUP2 SWAP1 MSTORE PUSH3 0x34 SWAP2 PUSH3 0x1E2 JUMP JUMPDEST DUP3 MLOAD PUSH3 0x49 SWAP1 PUSH1 0x3 SWAP1 PUSH1 0x20 DUP7 ADD SWAP1 PUSH3 0x6F JUMP JUMPDEST POP DUP2 MLOAD PUSH3 0x5F SWAP1 PUSH1 0x4 SWAP1 PUSH1 0x20 DUP6 ADD SWAP1 PUSH3 0x6F JUMP JUMPDEST POP PUSH1 0xFF AND PUSH1 0x80 MSTORE POP PUSH3 0x2A4 SWAP1 POP JUMP JUMPDEST DUP3 DUP1 SLOAD PUSH3 0x7D SWAP1 PUSH3 0x267 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 PUSH3 0xA1 JUMPI PUSH1 0x0 DUP6 SSTORE PUSH3 0xEC JUMP JUMPDEST DUP3 PUSH1 0x1F LT PUSH3 0xBC JUMPI DUP1 MLOAD PUSH1 0xFF NOT AND DUP4 DUP1 ADD OR DUP6 SSTORE PUSH3 0xEC JUMP JUMPDEST DUP3 DUP1 ADD PUSH1 0x1 ADD DUP6 SSTORE DUP3 ISZERO PUSH3 0xEC JUMPI SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH3 0xEC JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH3 0xCF JUMP JUMPDEST POP PUSH3 0xFA SWAP3 SWAP2 POP PUSH3 0xFE JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST JUMPDEST DUP1 DUP3 GT ISZERO PUSH3 0xFA JUMPI PUSH1 0x0 DUP2 SSTORE PUSH1 0x1 ADD PUSH3 0xFF JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH3 0x13D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH3 0x15A JUMPI PUSH3 0x15A PUSH3 0x115 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP4 ADD PUSH1 0x1F NOT SWAP1 DUP2 AND PUSH1 0x3F ADD AND DUP2 ADD SWAP1 DUP3 DUP3 GT DUP2 DUP4 LT OR ISZERO PUSH3 0x185 JUMPI PUSH3 0x185 PUSH3 0x115 JUMP JUMPDEST DUP2 PUSH1 0x40 MSTORE DUP4 DUP2 MSTORE PUSH1 0x20 SWAP3 POP DUP7 DUP4 DUP6 DUP9 ADD ADD GT ISZERO PUSH3 0x1A2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 SWAP2 POP JUMPDEST DUP4 DUP3 LT ISZERO PUSH3 0x1C6 JUMPI DUP6 DUP3 ADD DUP4 ADD MLOAD DUP2 DUP4 ADD DUP5 ADD MSTORE SWAP1 DUP3 ADD SWAP1 PUSH3 0x1A7 JUMP JUMPDEST DUP4 DUP3 GT ISZERO PUSH3 0x1D8 JUMPI PUSH1 0x0 DUP4 DUP6 DUP4 ADD ADD MSTORE JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH3 0x1F8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH3 0x210 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH3 0x21E DUP8 DUP4 DUP9 ADD PUSH3 0x12B JUMP JUMPDEST SWAP5 POP PUSH1 0x20 DUP7 ADD MLOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH3 0x235 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH3 0x244 DUP7 DUP3 DUP8 ADD PUSH3 0x12B JUMP JUMPDEST SWAP3 POP POP PUSH1 0x40 DUP5 ADD MLOAD PUSH1 0xFF DUP2 AND DUP2 EQ PUSH3 0x25C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH3 0x27C JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH3 0x29E 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 PUSH1 0x80 MLOAD PUSH2 0x6DC PUSH3 0x2C0 PUSH1 0x0 CODECOPY PUSH1 0x0 PUSH2 0x13E ADD MSTORE PUSH2 0x6DC 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 0x1AD JUMPI DUP1 PUSH4 0xA9059CBB EQ PUSH2 0x1C0 JUMPI DUP1 PUSH4 0xDD62ED3E EQ PUSH2 0x1D3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x39509351 EQ PUSH2 0x172 JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x185 JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x1A5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x18160DDD GT PUSH2 0xB2 JUMPI DUP1 PUSH4 0x18160DDD EQ PUSH2 0x10F JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x126 JUMPI DUP1 PUSH4 0x313CE567 EQ PUSH2 0x139 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0xCE JUMPI DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0xEC JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xD6 PUSH2 0x1FE JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xE3 SWAP2 SWAP1 PUSH2 0x4FA JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xFF PUSH2 0xFA CALLDATASIZE PUSH1 0x4 PUSH2 0x56B JUMP JUMPDEST PUSH2 0x28C JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xE3 JUMP JUMPDEST PUSH2 0x118 PUSH1 0x2 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xE3 JUMP JUMPDEST PUSH2 0xFF PUSH2 0x134 CALLDATASIZE PUSH1 0x4 PUSH2 0x595 JUMP JUMPDEST PUSH2 0x2A2 JUMP JUMPDEST PUSH2 0x160 PUSH32 0x0 DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0xFF SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xE3 JUMP JUMPDEST PUSH2 0xFF PUSH2 0x180 CALLDATASIZE PUSH1 0x4 PUSH2 0x56B JUMP JUMPDEST PUSH2 0x2F9 JUMP JUMPDEST PUSH2 0x118 PUSH2 0x193 CALLDATASIZE PUSH1 0x4 PUSH2 0x5D1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP2 SWAP1 MSTORE SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD DUP2 JUMP JUMPDEST PUSH2 0xD6 PUSH2 0x330 JUMP JUMPDEST PUSH2 0xFF PUSH2 0x1BB CALLDATASIZE PUSH1 0x4 PUSH2 0x56B JUMP JUMPDEST PUSH2 0x33D JUMP JUMPDEST PUSH2 0xFF PUSH2 0x1CE CALLDATASIZE PUSH1 0x4 PUSH2 0x56B JUMP JUMPDEST PUSH2 0x374 JUMP JUMPDEST PUSH2 0x118 PUSH2 0x1E1 CALLDATASIZE PUSH1 0x4 PUSH2 0x5F3 JUMP JUMPDEST PUSH1 0x1 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 DUP1 SLOAD PUSH2 0x20B SWAP1 PUSH2 0x626 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 0x237 SWAP1 PUSH2 0x626 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x284 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x259 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x284 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 0x267 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x299 CALLER DUP5 DUP5 PUSH2 0x381 JUMP JUMPDEST POP PUSH1 0x1 SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 CALLER DUP5 MSTORE SWAP1 SWAP2 MSTORE DUP2 KECCAK256 SLOAD PUSH1 0x0 NOT DUP2 EQ PUSH2 0x2E3 JUMPI PUSH2 0x2E3 DUP6 CALLER PUSH2 0x2DE DUP7 DUP6 PUSH2 0x677 JUMP JUMPDEST PUSH2 0x381 JUMP JUMPDEST PUSH2 0x2EE DUP6 DUP6 DUP6 PUSH2 0x41E JUMP JUMPDEST POP PUSH1 0x1 SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST CALLER PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE DUP2 KECCAK256 SLOAD SWAP1 SWAP2 PUSH2 0x299 SWAP2 DUP6 SWAP1 PUSH2 0x2DE SWAP1 DUP7 SWAP1 PUSH2 0x68E JUMP JUMPDEST PUSH1 0x4 DUP1 SLOAD PUSH2 0x20B SWAP1 PUSH2 0x626 JUMP JUMPDEST CALLER PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE DUP2 KECCAK256 SLOAD SWAP1 SWAP2 PUSH2 0x299 SWAP2 DUP6 SWAP1 PUSH2 0x2DE SWAP1 DUP7 SWAP1 PUSH2 0x677 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x299 CALLER DUP5 DUP5 PUSH2 0x41E JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND ISZERO DUP1 PUSH2 0x39E JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND ISZERO JUMPDEST ISZERO PUSH2 0x3BC JUMPI PUSH1 0x40 MLOAD PUSH4 0xDA30F65 PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 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 DUP3 MSTORE SWAP2 DUP3 SWAP1 KECCAK256 DUP6 SWAP1 SSTORE SWAP1 MLOAD DUP5 DUP2 MSTORE PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 SWAP2 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND ISZERO DUP1 PUSH2 0x43B JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND ISZERO JUMPDEST ISZERO PUSH2 0x459 JUMPI PUSH1 0x40 MLOAD PUSH4 0xDA30F65 PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD DUP4 SWAP3 SWAP1 PUSH2 0x481 SWAP1 DUP5 SWAP1 PUSH2 0x677 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 0x4AE SWAP1 DUP5 SWAP1 PUSH2 0x68E JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF DUP4 PUSH1 0x40 MLOAD PUSH2 0x411 SWAP2 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP1 DUP4 MSTORE DUP4 MLOAD DUP1 DUP3 DUP6 ADD MSTORE PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x527 JUMPI DUP6 DUP2 ADD DUP4 ADD MLOAD DUP6 DUP3 ADD PUSH1 0x40 ADD MSTORE DUP3 ADD PUSH2 0x50B JUMP JUMPDEST DUP2 DUP2 GT ISZERO PUSH2 0x539 JUMPI PUSH1 0x0 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 DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x566 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x57E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x587 DUP4 PUSH2 0x54F 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 0x5AA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x5B3 DUP5 PUSH2 0x54F JUMP JUMPDEST SWAP3 POP PUSH2 0x5C1 PUSH1 0x20 DUP6 ADD PUSH2 0x54F JUMP JUMPDEST SWAP2 POP PUSH1 0x40 DUP5 ADD CALLDATALOAD SWAP1 POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x5E3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x5EC DUP3 PUSH2 0x54F JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x606 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x60F DUP4 PUSH2 0x54F JUMP JUMPDEST SWAP2 POP PUSH2 0x61D PUSH1 0x20 DUP5 ADD PUSH2 0x54F JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0x63A JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH2 0x65B 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 PUSH1 0x0 DUP3 DUP3 LT ISZERO PUSH2 0x689 JUMPI PUSH2 0x689 PUSH2 0x661 JUMP JUMPDEST POP SUB SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 NOT DUP3 GT ISZERO PUSH2 0x6A1 JUMPI PUSH2 0x6A1 PUSH2 0x661 JUMP JUMPDEST POP ADD SWAP1 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SHR SDIV 0x4C DUP4 CODECOPY 0xD0 DUP8 SWAP16 0xDF PUSH29 0xB9D3BACE09D00F12DD0C2CDD4BD3909F3A179A80640764736F6C634300 ADDMOD MULMOD STOP CALLER ", - "sourceMap": "1271:7114:7:-:0;;;1655:188;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1768:12;;;;:4;;:12;;;;;:::i;:::-;-1:-1:-1;1790:16:7;;;;:6;;:16;;;;;:::i;:::-;-1:-1:-1;1816:20:7;;;;-1:-1:-1;1271:7114:7;;-1:-1:-1;1271:7114:7;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1271:7114:7;;;-1:-1:-1;1271:7114:7;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;14:127:34;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:885;200:5;253:3;246:4;238:6;234:17;230:27;220:55;;271:1;268;261:12;220:55;294:13;;-1:-1:-1;;;;;356:10:34;;;353:36;;;369:18;;:::i;:::-;444:2;438:9;412:2;498:13;;-1:-1:-1;;494:22:34;;;518:2;490:31;486:40;474:53;;;542:18;;;562:22;;;539:46;536:72;;;588:18;;:::i;:::-;628:10;624:2;617:22;663:2;655:6;648:18;685:4;675:14;;730:3;725:2;720;712:6;708:15;704:24;701:33;698:53;;;747:1;744;737:12;698:53;769:1;760:10;;779:133;793:2;790:1;787:9;779:133;;;881:14;;;877:23;;871:30;850:14;;;846:23;;839:63;804:10;;;;779:133;;;930:2;927:1;924:9;921:80;;;989:1;984:2;979;971:6;967:15;963:24;956:35;921:80;1019:6;146:885;-1:-1:-1;;;;;;146:885:34:o;1036:712::-;1142:6;1150;1158;1211:2;1199:9;1190:7;1186:23;1182:32;1179:52;;;1227:1;1224;1217:12;1179:52;1254:16;;-1:-1:-1;;;;;1319:14:34;;;1316:34;;;1346:1;1343;1336:12;1316:34;1369:61;1422:7;1413:6;1402:9;1398:22;1369:61;:::i;:::-;1359:71;;1476:2;1465:9;1461:18;1455:25;1439:41;;1505:2;1495:8;1492:16;1489:36;;;1521:1;1518;1511:12;1489:36;;1544:63;1599:7;1588:8;1577:9;1573:24;1544:63;:::i;:::-;1534:73;;;1650:2;1639:9;1635:18;1629:25;1694:4;1687:5;1683:16;1676:5;1673:27;1663:55;;1714:1;1711;1704:12;1663:55;1737:5;1727:15;;;1036:712;;;;;:::o;1753:380::-;1832:1;1828:12;;;;1875;;;1896:61;;1950:4;1942:6;1938:17;1928:27;;1896:61;2003:2;1995:6;1992:14;1972:18;1969:38;1966:161;;;2049:10;2044:3;2040:20;2037:1;2030:31;2084:4;2081:1;2074:15;2112:4;2109:1;2102:15;1966:161;;1753:380;;;:::o;:::-;1271:7114:7;;;;;;;;;;" - }, - "deployedBytecode": { - "functionDebugData": { - "@_approve_3862": { - "entryPoint": 897, - "id": 3862, - "parameterSlots": 3, - "returnSlots": 0 - }, - "@_beforeTokenTransfer_3873": { - "entryPoint": null, - "id": 3873, - "parameterSlots": 3, - "returnSlots": 0 - }, - "@_transfer_3726": { - "entryPoint": 1054, - "id": 3726, - "parameterSlots": 3, - "returnSlots": 0 - }, - "@allowance_3497": { - "entryPoint": null, - "id": 3497, - "parameterSlots": 0, - "returnSlots": 0 - }, - "@approve_3571": { - "entryPoint": 652, - "id": 3571, - "parameterSlots": 2, - "returnSlots": 1 - }, - "@balanceOf_3490": { - "entryPoint": null, - "id": 3490, - "parameterSlots": 0, - "returnSlots": 0 - }, - "@decimals_3506": { - "entryPoint": null, - "id": 3506, - "parameterSlots": 0, - "returnSlots": 0 - }, - "@decreaseAllowance_3674": { - "entryPoint": 829, - "id": 3674, - "parameterSlots": 2, - "returnSlots": 1 - }, - "@increaseAllowance_3647": { - "entryPoint": 761, - "id": 3647, - "parameterSlots": 2, - "returnSlots": 1 - }, - "@name_3502": { - "entryPoint": 510, - "id": 3502, - "parameterSlots": 0, - "returnSlots": 0 - }, - "@symbol_3504": { - "entryPoint": 816, - "id": 3504, - "parameterSlots": 0, - "returnSlots": 0 - }, - "@totalSupply_3500": { - "entryPoint": null, - "id": 3500, - "parameterSlots": 0, - "returnSlots": 0 - }, - "@transferFrom_3620": { - "entryPoint": 674, - "id": 3620, - "parameterSlots": 3, - "returnSlots": 1 - }, - "@transfer_3550": { - "entryPoint": 884, - "id": 3550, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_decode_address": { - "entryPoint": 1359, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "abi_decode_tuple_t_address": { - "entryPoint": 1489, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_decode_tuple_t_addresst_address": { - "entryPoint": 1523, - "id": null, - "parameterSlots": 2, - "returnSlots": 2 - }, - "abi_decode_tuple_t_addresst_addresst_uint256": { - "entryPoint": 1429, - "id": null, - "parameterSlots": 2, - "returnSlots": 3 - }, - "abi_decode_tuple_t_addresst_uint256": { - "entryPoint": 1387, - "id": null, - "parameterSlots": 2, - "returnSlots": 2 - }, - "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed": { - "entryPoint": null, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed": { - "entryPoint": 1274, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": { - "entryPoint": null, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_encode_tuple_t_uint8__to_t_uint8__fromStack_reversed": { - "entryPoint": null, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "checked_add_t_uint256": { - "entryPoint": 1678, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "checked_sub_t_uint256": { - "entryPoint": 1655, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "extract_byte_array_length": { - "entryPoint": 1574, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "panic_error_0x11": { - "entryPoint": 1633, - "id": null, - "parameterSlots": 0, - "returnSlots": 0 - } - }, - "generatedSources": [ - { - "ast": { - "nodeType": "YulBlock", - "src": "0:3319:34", - "statements": [ - { - "nodeType": "YulBlock", - "src": "6:3:34", - "statements": [] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "135:476:34", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "145:12:34", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "155:2:34", - "type": "", - "value": "32" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "149:2:34", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "173:9:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "184:2:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "166:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "166:21:34" - }, - "nodeType": "YulExpressionStatement", - "src": "166:21:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "196:27:34", - "value": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "216:6:34" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "210:5:34" - }, - "nodeType": "YulFunctionCall", - "src": "210:13:34" - }, - "variables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "200:6:34", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "243:9:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "254:2:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "239:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "239:18:34" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "259:6:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "232:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "232:34:34" - }, - "nodeType": "YulExpressionStatement", - "src": "232:34:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "275:10:34", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "284:1:34", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "i", - "nodeType": "YulTypedName", - "src": "279:1:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "344:90:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "373:9:34" - }, - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "384:1:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "369:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "369:17:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "388:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "365:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "365:26:34" - }, - { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "407:6:34" - }, - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "415:1:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "403:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "403:14:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "419:2:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "399:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "399:23:34" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "393:5:34" - }, - "nodeType": "YulFunctionCall", - "src": "393:30:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "358:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "358:66:34" - }, - "nodeType": "YulExpressionStatement", - "src": "358:66:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "305:1:34" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "308:6:34" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "302:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "302:13:34" - }, - "nodeType": "YulForLoop", - "post": { - "nodeType": "YulBlock", - "src": "316:19:34", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "318:15:34", - "value": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "327:1:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "330:2:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "323:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "323:10:34" - }, - "variableNames": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "318:1:34" - } - ] - } - ] - }, - "pre": { - "nodeType": "YulBlock", - "src": "298:3:34", - "statements": [] - }, - "src": "294:140:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "468:66:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "497:9:34" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "508:6:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "493:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "493:22:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "517:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "489:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "489:31:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "522:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "482:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "482:42:34" - }, - "nodeType": "YulExpressionStatement", - "src": "482:42:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "449:1:34" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "452:6:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "446:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "446:13:34" - }, - "nodeType": "YulIf", - "src": "443:91:34" - }, - { - "nodeType": "YulAssignment", - "src": "543:62:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "559:9:34" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "578:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "586:2:34", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "574:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "574:15:34" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "595:2:34", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "591:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "591:7:34" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "570:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "570:29:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "555:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "555:45:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "602:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "551:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "551:54:34" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "543:4:34" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "104:9:34", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "115:6:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "126:4:34", - "type": "" - } - ], - "src": "14:597:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "665:147:34", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "675:29:34", - "value": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "697:6:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "684:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "684:20:34" - }, - "variableNames": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "675:5:34" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "790:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "799:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "802:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "792:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "792:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "792:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "726:5:34" - }, - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "737:5:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "744:42:34", - "type": "", - "value": "0xffffffffffffffffffffffffffffffffffffffff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "733:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "733:54:34" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "723:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "723:65:34" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "716:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "716:73:34" - }, - "nodeType": "YulIf", - "src": "713:93:34" - } - ] - }, - "name": "abi_decode_address", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "644:6:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "655:5:34", - "type": "" - } - ], - "src": "616:196:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "904:167:34", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "950:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "959:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "962:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "952:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "952:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "952:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "925:7:34" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "934:9:34" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "921:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "921:23:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "946:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "917:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "917:32:34" - }, - "nodeType": "YulIf", - "src": "914:52:34" - }, - { - "nodeType": "YulAssignment", - "src": "975:39:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1004:9:34" - } - ], - "functionName": { - "name": "abi_decode_address", - "nodeType": "YulIdentifier", - "src": "985:18:34" - }, - "nodeType": "YulFunctionCall", - "src": "985:29:34" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "975:6:34" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "1023:42:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1050:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1061:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1046:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1046:18:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "1033:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "1033:32:34" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "1023:6:34" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_addresst_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "862:9:34", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "873:7:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "885:6:34", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "893:6:34", - "type": "" - } - ], - "src": "817:254:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1171:92:34", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "1181:26:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1193:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1204:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1189:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1189:18:34" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "1181:4:34" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1223:9:34" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1248:6:34" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "1241:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "1241:14:34" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "1234:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "1234:22:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1216:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "1216:41:34" - }, - "nodeType": "YulExpressionStatement", - "src": "1216:41:34" - } - ] - }, - "name": "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "1140:9:34", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "1151:6:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "1162:4:34", - "type": "" - } - ], - "src": "1076:187:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1369:76:34", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "1379:26:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1391:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1402:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1387:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1387:18:34" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "1379:4:34" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1421:9:34" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1432:6:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1414:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "1414:25:34" - }, - "nodeType": "YulExpressionStatement", - "src": "1414:25:34" - } - ] - }, - "name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "1338:9:34", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "1349:6:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "1360:4:34", - "type": "" - } - ], - "src": "1268:177:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1554:224:34", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "1600:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1609:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1612:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "1602:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "1602:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "1602:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "1575:7:34" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1584:9:34" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "1571:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1571:23:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1596:2:34", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "1567:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1567:32:34" - }, - "nodeType": "YulIf", - "src": "1564:52:34" - }, - { - "nodeType": "YulAssignment", - "src": "1625:39:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1654:9:34" - } - ], - "functionName": { - "name": "abi_decode_address", - "nodeType": "YulIdentifier", - "src": "1635:18:34" - }, - "nodeType": "YulFunctionCall", - "src": "1635:29:34" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1625:6:34" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "1673:48:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1706:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1717:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1702:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1702:18:34" - } - ], - "functionName": { - "name": "abi_decode_address", - "nodeType": "YulIdentifier", - "src": "1683:18:34" - }, - "nodeType": "YulFunctionCall", - "src": "1683:38:34" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "1673:6:34" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "1730:42:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1757:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1768:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1753:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1753:18:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "1740:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "1740:32:34" - }, - "variableNames": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "1730:6:34" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_addresst_addresst_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "1504:9:34", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "1515:7:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "1527:6:34", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "1535:6:34", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "1543:6:34", - "type": "" - } - ], - "src": "1450:328:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1880:87:34", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "1890:26:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1902:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1913:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1898:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1898:18:34" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "1890:4:34" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1932:9:34" - }, - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1947:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1955:4:34", - "type": "", - "value": "0xff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "1943:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1943:17:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1925:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "1925:36:34" - }, - "nodeType": "YulExpressionStatement", - "src": "1925:36:34" - } - ] - }, - "name": "abi_encode_tuple_t_uint8__to_t_uint8__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "1849:9:34", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "1860:6:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "1871:4:34", - "type": "" - } - ], - "src": "1783:184:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2042:116:34", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "2088:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2097:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2100:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "2090:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "2090:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "2090:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "2063:7:34" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2072:9:34" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "2059:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "2059:23:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2084:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "2055:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "2055:32:34" - }, - "nodeType": "YulIf", - "src": "2052:52:34" - }, - { - "nodeType": "YulAssignment", - "src": "2113:39:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2142:9:34" - } - ], - "functionName": { - "name": "abi_decode_address", - "nodeType": "YulIdentifier", - "src": "2123:18:34" - }, - "nodeType": "YulFunctionCall", - "src": "2123:29:34" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "2113:6:34" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_address", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "2008:9:34", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "2019:7:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "2031:6:34", - "type": "" - } - ], - "src": "1972:186:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2250:173:34", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "2296:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2305:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2308:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "2298:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "2298:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "2298:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "2271:7:34" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2280:9:34" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "2267:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "2267:23:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2292:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "2263:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "2263:32:34" - }, - "nodeType": "YulIf", - "src": "2260:52:34" - }, - { - "nodeType": "YulAssignment", - "src": "2321:39:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2350:9:34" - } - ], - "functionName": { - "name": "abi_decode_address", - "nodeType": "YulIdentifier", - "src": "2331:18:34" - }, - "nodeType": "YulFunctionCall", - "src": "2331:29:34" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "2321:6:34" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "2369:48:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2402:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2413:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2398:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "2398:18:34" - } - ], - "functionName": { - "name": "abi_decode_address", - "nodeType": "YulIdentifier", - "src": "2379:18:34" - }, - "nodeType": "YulFunctionCall", - "src": "2379:38:34" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "2369:6:34" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_addresst_address", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "2208:9:34", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "2219:7:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "2231:6:34", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "2239:6:34", - "type": "" - } - ], - "src": "2163:260:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2483:382:34", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "2493:22:34", - "value": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2507:1:34", - "type": "", - "value": "1" - }, - { - "name": "data", - "nodeType": "YulIdentifier", - "src": "2510:4:34" - } - ], - "functionName": { - "name": "shr", - "nodeType": "YulIdentifier", - "src": "2503:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "2503:12:34" - }, - "variableNames": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "2493:6:34" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "2524:38:34", - "value": { - "arguments": [ - { - "name": "data", - "nodeType": "YulIdentifier", - "src": "2554:4:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2560:1:34", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "2550:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "2550:12:34" - }, - "variables": [ - { - "name": "outOfPlaceEncoding", - "nodeType": "YulTypedName", - "src": "2528:18:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2601:31:34", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "2603:27:34", - "value": { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "2617:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2625:4:34", - "type": "", - "value": "0x7f" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "2613:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "2613:17:34" - }, - "variableNames": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "2603:6:34" - } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "outOfPlaceEncoding", - "nodeType": "YulIdentifier", - "src": "2581:18:34" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "2574:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "2574:26:34" - }, - "nodeType": "YulIf", - "src": "2571:61:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2691:168:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2712:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2715:77:34", - "type": "", - "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2705:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "2705:88:34" - }, - "nodeType": "YulExpressionStatement", - "src": "2705:88:34" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2813:1:34", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2816:4:34", - "type": "", - "value": "0x22" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2806:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "2806:15:34" - }, - "nodeType": "YulExpressionStatement", - "src": "2806:15:34" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2841:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2844:4:34", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "2834:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "2834:15:34" - }, - "nodeType": "YulExpressionStatement", - "src": "2834:15:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "outOfPlaceEncoding", - "nodeType": "YulIdentifier", - "src": "2647:18:34" - }, - { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "2670:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2678:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "2667:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "2667:14:34" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "2644:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "2644:38:34" - }, - "nodeType": "YulIf", - "src": "2641:218:34" - } - ] - }, - "name": "extract_byte_array_length", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "data", - "nodeType": "YulTypedName", - "src": "2463:4:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "2472:6:34", - "type": "" - } - ], - "src": "2428:437:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2902:152:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2919:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2922:77:34", - "type": "", - "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2912:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "2912:88:34" - }, - "nodeType": "YulExpressionStatement", - "src": "2912:88:34" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3016:1:34", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3019:4:34", - "type": "", - "value": "0x11" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "3009:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "3009:15:34" - }, - "nodeType": "YulExpressionStatement", - "src": "3009:15:34" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3040:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3043:4:34", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "3033:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "3033:15:34" - }, - "nodeType": "YulExpressionStatement", - "src": "3033:15:34" - } - ] - }, - "name": "panic_error_0x11", - "nodeType": "YulFunctionDefinition", - "src": "2870:184:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3108:76:34", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "3130:22:34", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x11", - "nodeType": "YulIdentifier", - "src": "3132:16:34" - }, - "nodeType": "YulFunctionCall", - "src": "3132:18:34" - }, - "nodeType": "YulExpressionStatement", - "src": "3132:18:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "3124:1:34" - }, - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "3127:1:34" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "3121:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "3121:8:34" - }, - "nodeType": "YulIf", - "src": "3118:34:34" - }, - { - "nodeType": "YulAssignment", - "src": "3161:17:34", - "value": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "3173:1:34" - }, - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "3176:1:34" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "3169:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "3169:9:34" - }, - "variableNames": [ - { - "name": "diff", - "nodeType": "YulIdentifier", - "src": "3161:4:34" - } - ] - } - ] - }, - "name": "checked_sub_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "x", - "nodeType": "YulTypedName", - "src": "3090:1:34", - "type": "" - }, - { - "name": "y", - "nodeType": "YulTypedName", - "src": "3093:1:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "diff", - "nodeType": "YulTypedName", - "src": "3099:4:34", - "type": "" - } - ], - "src": "3059:125:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3237:80:34", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "3264:22:34", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x11", - "nodeType": "YulIdentifier", - "src": "3266:16:34" - }, - "nodeType": "YulFunctionCall", - "src": "3266:18:34" - }, - "nodeType": "YulExpressionStatement", - "src": "3266:18:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "3253:1:34" - }, - { - "arguments": [ - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "3260:1:34" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "3256:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "3256:6:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "3250:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "3250:13:34" - }, - "nodeType": "YulIf", - "src": "3247:39:34" - }, - { - "nodeType": "YulAssignment", - "src": "3295:16:34", - "value": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "3306:1:34" - }, - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "3309:1:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3302:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "3302:9:34" - }, - "variableNames": [ - { - "name": "sum", - "nodeType": "YulIdentifier", - "src": "3295:3:34" - } - ] - } - ] - }, - "name": "checked_add_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "x", - "nodeType": "YulTypedName", - "src": "3220:1:34", - "type": "" - }, - { - "name": "y", - "nodeType": "YulTypedName", - "src": "3223:1:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "sum", - "nodeType": "YulTypedName", - "src": "3229:3:34", - "type": "" - } - ], - "src": "3189:128:34" - } - ] - }, - "contents": "{\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 := 0\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), 0)\n }\n tail := add(add(headStart, and(add(length, 31), not(31))), 64)\n }\n function abi_decode_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_addresst_uint256(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := abi_decode_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_uint256__to_t_uint256__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, value0)\n }\n function abi_decode_tuple_t_addresst_addresst_uint256(headStart, dataEnd) -> value0, value1, value2\n {\n if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n value1 := abi_decode_address(add(headStart, 32))\n value2 := calldataload(add(headStart, 64))\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 abi_decode_tuple_t_address(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n }\n function abi_decode_tuple_t_addresst_address(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n value1 := abi_decode_address(add(headStart, 32))\n }\n function extract_byte_array_length(data) -> length\n {\n length := shr(1, data)\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 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 checked_add_t_uint256(x, y) -> sum\n {\n if gt(x, not(y)) { panic_error_0x11() }\n sum := add(x, y)\n }\n}", - "id": 34, - "language": "Yul", - "name": "#utility.yul" - } - ], - "immutableReferences": { - "3506": [ - { - "length": 32, - "start": 318 - } - ] - }, - "linkReferences": {}, - "object": "608060405234801561001057600080fd5b50600436106100c95760003560e01c80633950935111610081578063a457c2d71161005b578063a457c2d7146101ad578063a9059cbb146101c0578063dd62ed3e146101d357600080fd5b8063395093511461017257806370a082311461018557806395d89b41146101a557600080fd5b806318160ddd116100b257806318160ddd1461010f57806323b872dd14610126578063313ce5671461013957600080fd5b806306fdde03146100ce578063095ea7b3146100ec575b600080fd5b6100d66101fe565b6040516100e391906104fa565b60405180910390f35b6100ff6100fa36600461056b565b61028c565b60405190151581526020016100e3565b61011860025481565b6040519081526020016100e3565b6100ff610134366004610595565b6102a2565b6101607f000000000000000000000000000000000000000000000000000000000000000081565b60405160ff90911681526020016100e3565b6100ff61018036600461056b565b6102f9565b6101186101933660046105d1565b60006020819052908152604090205481565b6100d6610330565b6100ff6101bb36600461056b565b61033d565b6100ff6101ce36600461056b565b610374565b6101186101e13660046105f3565b600160209081526000928352604080842090915290825290205481565b6003805461020b90610626565b80601f016020809104026020016040519081016040528092919081815260200182805461023790610626565b80156102845780601f1061025957610100808354040283529160200191610284565b820191906000526020600020905b81548152906001019060200180831161026757829003601f168201915b505050505081565b6000610299338484610381565b50600192915050565b6001600160a01b038316600090815260016020908152604080832033845290915281205460001981146102e3576102e385336102de8685610677565b610381565b6102ee85858561041e565b506001949350505050565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916102999185906102de90869061068e565b6004805461020b90610626565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916102999185906102de908690610677565b600061029933848461041e565b6001600160a01b038316158061039e57506001600160a01b038216155b156103bc57604051630da30f6560e31b815260040160405180910390fd5b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b038316158061043b57506001600160a01b038216155b1561045957604051630da30f6560e31b815260040160405180910390fd5b6001600160a01b03831660009081526020819052604081208054839290610481908490610677565b90915550506001600160a01b038216600090815260208190526040812080548392906104ae90849061068e565b92505081905550816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161041191815260200190565b600060208083528351808285015260005b818110156105275785810183015185820160400152820161050b565b81811115610539576000604083870101525b50601f01601f1916929092016040019392505050565b80356001600160a01b038116811461056657600080fd5b919050565b6000806040838503121561057e57600080fd5b6105878361054f565b946020939093013593505050565b6000806000606084860312156105aa57600080fd5b6105b38461054f565b92506105c16020850161054f565b9150604084013590509250925092565b6000602082840312156105e357600080fd5b6105ec8261054f565b9392505050565b6000806040838503121561060657600080fd5b61060f8361054f565b915061061d6020840161054f565b90509250929050565b600181811c9082168061063a57607f821691505b6020821081141561065b57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b60008282101561068957610689610661565b500390565b600082198211156106a1576106a1610661565b50019056fea26469706673582212201c054c8339d0879fdf7cb9d3bace09d00f12dd0c2cdd4bd3909f3a179a80640764736f6c63430008090033", - "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 0x1AD JUMPI DUP1 PUSH4 0xA9059CBB EQ PUSH2 0x1C0 JUMPI DUP1 PUSH4 0xDD62ED3E EQ PUSH2 0x1D3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x39509351 EQ PUSH2 0x172 JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x185 JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x1A5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x18160DDD GT PUSH2 0xB2 JUMPI DUP1 PUSH4 0x18160DDD EQ PUSH2 0x10F JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x126 JUMPI DUP1 PUSH4 0x313CE567 EQ PUSH2 0x139 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0xCE JUMPI DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0xEC JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xD6 PUSH2 0x1FE JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xE3 SWAP2 SWAP1 PUSH2 0x4FA JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xFF PUSH2 0xFA CALLDATASIZE PUSH1 0x4 PUSH2 0x56B JUMP JUMPDEST PUSH2 0x28C JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xE3 JUMP JUMPDEST PUSH2 0x118 PUSH1 0x2 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xE3 JUMP JUMPDEST PUSH2 0xFF PUSH2 0x134 CALLDATASIZE PUSH1 0x4 PUSH2 0x595 JUMP JUMPDEST PUSH2 0x2A2 JUMP JUMPDEST PUSH2 0x160 PUSH32 0x0 DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0xFF SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xE3 JUMP JUMPDEST PUSH2 0xFF PUSH2 0x180 CALLDATASIZE PUSH1 0x4 PUSH2 0x56B JUMP JUMPDEST PUSH2 0x2F9 JUMP JUMPDEST PUSH2 0x118 PUSH2 0x193 CALLDATASIZE PUSH1 0x4 PUSH2 0x5D1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP2 SWAP1 MSTORE SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD DUP2 JUMP JUMPDEST PUSH2 0xD6 PUSH2 0x330 JUMP JUMPDEST PUSH2 0xFF PUSH2 0x1BB CALLDATASIZE PUSH1 0x4 PUSH2 0x56B JUMP JUMPDEST PUSH2 0x33D JUMP JUMPDEST PUSH2 0xFF PUSH2 0x1CE CALLDATASIZE PUSH1 0x4 PUSH2 0x56B JUMP JUMPDEST PUSH2 0x374 JUMP JUMPDEST PUSH2 0x118 PUSH2 0x1E1 CALLDATASIZE PUSH1 0x4 PUSH2 0x5F3 JUMP JUMPDEST PUSH1 0x1 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 DUP1 SLOAD PUSH2 0x20B SWAP1 PUSH2 0x626 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 0x237 SWAP1 PUSH2 0x626 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x284 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x259 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x284 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 0x267 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x299 CALLER DUP5 DUP5 PUSH2 0x381 JUMP JUMPDEST POP PUSH1 0x1 SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 CALLER DUP5 MSTORE SWAP1 SWAP2 MSTORE DUP2 KECCAK256 SLOAD PUSH1 0x0 NOT DUP2 EQ PUSH2 0x2E3 JUMPI PUSH2 0x2E3 DUP6 CALLER PUSH2 0x2DE DUP7 DUP6 PUSH2 0x677 JUMP JUMPDEST PUSH2 0x381 JUMP JUMPDEST PUSH2 0x2EE DUP6 DUP6 DUP6 PUSH2 0x41E JUMP JUMPDEST POP PUSH1 0x1 SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST CALLER PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE DUP2 KECCAK256 SLOAD SWAP1 SWAP2 PUSH2 0x299 SWAP2 DUP6 SWAP1 PUSH2 0x2DE SWAP1 DUP7 SWAP1 PUSH2 0x68E JUMP JUMPDEST PUSH1 0x4 DUP1 SLOAD PUSH2 0x20B SWAP1 PUSH2 0x626 JUMP JUMPDEST CALLER PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE DUP2 KECCAK256 SLOAD SWAP1 SWAP2 PUSH2 0x299 SWAP2 DUP6 SWAP1 PUSH2 0x2DE SWAP1 DUP7 SWAP1 PUSH2 0x677 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x299 CALLER DUP5 DUP5 PUSH2 0x41E JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND ISZERO DUP1 PUSH2 0x39E JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND ISZERO JUMPDEST ISZERO PUSH2 0x3BC JUMPI PUSH1 0x40 MLOAD PUSH4 0xDA30F65 PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 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 DUP3 MSTORE SWAP2 DUP3 SWAP1 KECCAK256 DUP6 SWAP1 SSTORE SWAP1 MLOAD DUP5 DUP2 MSTORE PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 SWAP2 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND ISZERO DUP1 PUSH2 0x43B JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND ISZERO JUMPDEST ISZERO PUSH2 0x459 JUMPI PUSH1 0x40 MLOAD PUSH4 0xDA30F65 PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD DUP4 SWAP3 SWAP1 PUSH2 0x481 SWAP1 DUP5 SWAP1 PUSH2 0x677 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 0x4AE SWAP1 DUP5 SWAP1 PUSH2 0x68E JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF DUP4 PUSH1 0x40 MLOAD PUSH2 0x411 SWAP2 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP1 DUP4 MSTORE DUP4 MLOAD DUP1 DUP3 DUP6 ADD MSTORE PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x527 JUMPI DUP6 DUP2 ADD DUP4 ADD MLOAD DUP6 DUP3 ADD PUSH1 0x40 ADD MSTORE DUP3 ADD PUSH2 0x50B JUMP JUMPDEST DUP2 DUP2 GT ISZERO PUSH2 0x539 JUMPI PUSH1 0x0 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 DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x566 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x57E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x587 DUP4 PUSH2 0x54F 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 0x5AA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x5B3 DUP5 PUSH2 0x54F JUMP JUMPDEST SWAP3 POP PUSH2 0x5C1 PUSH1 0x20 DUP6 ADD PUSH2 0x54F JUMP JUMPDEST SWAP2 POP PUSH1 0x40 DUP5 ADD CALLDATALOAD SWAP1 POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x5E3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x5EC DUP3 PUSH2 0x54F JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x606 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x60F DUP4 PUSH2 0x54F JUMP JUMPDEST SWAP2 POP PUSH2 0x61D PUSH1 0x20 DUP5 ADD PUSH2 0x54F JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0x63A JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH2 0x65B 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 PUSH1 0x0 DUP3 DUP3 LT ISZERO PUSH2 0x689 JUMPI PUSH2 0x689 PUSH2 0x661 JUMP JUMPDEST POP SUB SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 NOT DUP3 GT ISZERO PUSH2 0x6A1 JUMPI PUSH2 0x6A1 PUSH2 0x661 JUMP JUMPDEST POP ADD SWAP1 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SHR SDIV 0x4C DUP4 CODECOPY 0xD0 DUP8 SWAP16 0xDF PUSH29 0xB9D3BACE09D00F12DD0C2CDD4BD3909F3A179A80640764736F6C634300 ADDMOD MULMOD STOP CALLER ", - "sourceMap": "1271:7114:7:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1484:18;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2526:166;;;;;;:::i;:::-;;:::i;:::-;;;1241:14:34;;1234:22;1216:41;;1204:2;1189:18;2526:166:7;1076:187:34;1442:35:7;;;;;;;;;1414:25:34;;;1402:2;1387:18;1442:35:7;1268:177:34;3159:401:7;;;;;;:::i;:::-;;:::i;1535:31::-;;;;;;;;1955:4:34;1943:17;;;1925:36;;1913:2;1898:18;1535:31:7;1783:184:34;3955:208:7;;;;;;:::i;:::-;;:::i;1302:53::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;1508:20;;;:::i;4650:218::-;;;;;;:::i;:::-;;:::i;2046:172::-;;;;;;:::i;:::-;;:::i;1362:73::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;1484:18;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;2526:166::-;2611:4;2627:37;2636:10;2648:7;2657:6;2627:8;:37::i;:::-;-1:-1:-1;2681:4:7;2526:166;;;;:::o;3159:401::-;-1:-1:-1;;;;;3334:17:7;;3297:4;3334:17;;;:9;:17;;;;;;;;3352:10;3334:29;;;;;;;;-1:-1:-1;;3378:31:7;;3374:111;;3425:49;3434:6;3442:10;3454:19;3467:6;3454:10;:19;:::i;:::-;3425:8;:49::i;:::-;3495:36;3505:6;3513:9;3524:6;3495:9;:36::i;:::-;-1:-1:-1;3549:4:7;;3159:401;-1:-1:-1;;;;3159:401:7:o;3955:208::-;4070:10;4045:4;4091:21;;;:9;:21;;;;;;;;-1:-1:-1;;;;;4091:30:7;;;;;;;;;;4045:4;;4061:74;;4082:7;;4091:43;;4124:10;;4091:43;:::i;1508:20::-;;;;;;;:::i;4650:218::-;4770:10;4745:4;4791:21;;;:9;:21;;;;;;;;-1:-1:-1;;;;;4791:30:7;;;;;;;;;;4745:4;;4761:79;;4782:7;;4791:48;;4824:15;;4791:48;:::i;2046:172::-;2134:4;2150:40;2160:10;2172:9;2183:6;2150:9;:40::i;7380:295::-;-1:-1:-1;;;;;7507:19:7;;;;:44;;-1:-1:-1;;;;;;7530:21:7;;;7507:44;7503:73;;;7560:16;;-1:-1:-1;;;7560:16:7;;;;;;;;;;;7503:73;-1:-1:-1;;;;;7587:16:7;;;;;;;:9;:16;;;;;;;;:25;;;;;;;;;;;;;:34;;;7636:32;;1414:25:34;;;7636:32:7;;1387:18:34;7636:32:7;;;;;;;;7380:295;;;:::o;5342:396::-;-1:-1:-1;;;;;5473:20:7;;;;:47;;-1:-1:-1;;;;;;5497:23:7;;;5473:47;5469:76;;;5529:16;;-1:-1:-1;;;5529:16:7;;;;;;;;;;;5469:76;-1:-1:-1;;;;;5614:17:7;;:9;:17;;;;;;;;;;:27;;5635:6;;5614:9;:27;;5635:6;;5614:27;:::i;:::-;;;;-1:-1:-1;;;;;;;5651:20:7;;:9;:20;;;;;;;;;;:30;;5675:6;;5651:9;:30;;5675:6;;5651:30;:::i;:::-;;;;;;;;5713:9;-1:-1:-1;;;;;5696:35:7;5705:6;-1:-1:-1;;;;;5696:35:7;;5724:6;5696:35;;;;1414:25:34;;1402:2;1387:18;;1268:177;14:597;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;452:6;449:1;446:13;443:91;;;522:1;517:2;508:6;497:9;493:22;489:31;482:42;443:91;-1:-1:-1;595:2:34;574:15;-1:-1:-1;;570:29:34;555:45;;;;602:2;551:54;;14:597;-1:-1:-1;;;14:597:34:o;616:196::-;684:20;;-1:-1:-1;;;;;733:54:34;;723:65;;713:93;;802:1;799;792:12;713:93;616:196;;;:::o;817:254::-;885:6;893;946:2;934:9;925:7;921:23;917:32;914:52;;;962:1;959;952:12;914:52;985:29;1004:9;985:29;:::i;:::-;975:39;1061:2;1046:18;;;;1033:32;;-1:-1:-1;;;817:254:34:o;1450:328::-;1527:6;1535;1543;1596:2;1584:9;1575:7;1571:23;1567:32;1564:52;;;1612:1;1609;1602:12;1564:52;1635:29;1654:9;1635:29;:::i;:::-;1625:39;;1683:38;1717:2;1706:9;1702:18;1683:38;:::i;:::-;1673:48;;1768:2;1757:9;1753:18;1740:32;1730:42;;1450:328;;;;;:::o;1972:186::-;2031:6;2084:2;2072:9;2063:7;2059:23;2055:32;2052:52;;;2100:1;2097;2090:12;2052:52;2123:29;2142:9;2123:29;:::i;:::-;2113:39;1972:186;-1:-1:-1;;;1972:186:34:o;2163:260::-;2231:6;2239;2292:2;2280:9;2271:7;2267:23;2263:32;2260:52;;;2308:1;2305;2298:12;2260:52;2331:29;2350:9;2331:29;:::i;:::-;2321:39;;2379:38;2413:2;2402:9;2398:18;2379:38;:::i;:::-;2369:48;;2163:260;;;;;:::o;2428:437::-;2507:1;2503:12;;;;2550;;;2571:61;;2625:4;2617:6;2613:17;2603:27;;2571:61;2678:2;2670:6;2667:14;2647:18;2644:38;2641:218;;;-1:-1:-1;;;2712:1:34;2705:88;2816:4;2813:1;2806:15;2844:4;2841:1;2834:15;2641:218;;2428:437;;;:::o;2870:184::-;-1:-1:-1;;;2919:1:34;2912:88;3019:4;3016:1;3009:15;3043:4;3040:1;3033:15;3059:125;3099:4;3127:1;3124;3121:8;3118:34;;;3132:18;;:::i;:::-;-1:-1:-1;3169:9:34;;3059:125::o;3189:128::-;3229:3;3260:1;3256:6;3253:1;3250:13;3247:39;;;3266:18;;:::i;:::-;-1:-1:-1;3302:9:34;;3189:128::o" - }, - "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" - } - }, - "metadata": "{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name_\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol_\",\"type\":\"string\"},{\"internalType\":\"uint8\",\"name\":\"decimals_\",\"type\":\"uint8\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"InvalidAccount\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"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\":\"\",\"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\"}],\"devdoc\":{\"details\":\"Implementation of the {IERC20} interface. This implementation is agnostic to the way tokens are created. This means that a supply mechanism has to be added in a derived contract using {_mint}. For a generic mechanism see {ERC20PresetMinterPauser}. TIP: For a detailed writeup see our guide https://forum.zeppelin.solutions/t/how-to-implement-erc20-supply-mechanisms/226[How to implement supply mechanisms]. We have followed general OpenZeppelin guidelines: functions revert instead of returning `false` on failure. This behavior is nonetheless conventional and does not conflict with the expectations of ERC20 applications. Additionally, an {Approval} event is emitted on calls to {transferFrom}. This allows applications to reconstruct the allowance for all accounts just by listening to said events. Other implementations of the EIP may not emit these events, as it isn't required by the specification. Finally, the non-standard {decreaseAllowance} and {increaseAllowance} functions have been added to mitigate the well-known issues around setting allowances. See {IERC20-approve}.\",\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. NOTE: If `amount` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address.\"},\"constructor\":{\"details\":\"Sets the values for {name}, {symbol}, and {decimals}.\"},\"decreaseAllowance(address,uint256)\":{\"details\":\"Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`.\"},\"increaseAllowance(address,uint256)\":{\"details\":\"Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address.\"},\"transfer(address,uint256)\":{\"details\":\"See {IERC20-transfer}. Requirements: - `recipient` cannot be the zero address. - the caller must have a balance of at least `amount`.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. Requirements: - `sender` and `recipient` cannot be the zero address. - `sender` must have a balance of at least `amount`. - the caller must have allowance for ``sender``'s tokens of at least `amount`.\"}},\"stateVariables\":{\"allowance\":{\"details\":\"Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. This value changes when {approve} or {transferFrom} are called.\"},\"balanceOf\":{\"details\":\"Returns the amount of tokens owned by `account`.\"},\"totalSupply\":{\"details\":\"Returns the amount of tokens in existence.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@axelar-network/axelar-cgp-solidity/contracts/ERC20.sol\":\"ERC20\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1000},\"remappings\":[]},\"sources\":{\"@axelar-network/axelar-cgp-solidity/contracts/ERC20.sol\":{\"keccak256\":\"0x287710de0cde19d80aab753fd24296e9b826cb38c95b60ff98f304ff17f8cc2c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d2e8f192386b7b7a8a2a706cf3328a4f2a03316ea9b6b794fd4aac5547c68cf4\",\"dweb:/ipfs/QmQNn5eM6yAPnv77CkieA4rzo7G4yi6jy9ACgYnkBE92yV\"]},\"@axelar-network/axelar-cgp-solidity/contracts/interfaces/IERC20.sol\":{\"keccak256\":\"0x018cf796d80d65945fa85fa4fb49d926481ffe9316564ea251ee14836d661635\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://677295d77a7b45e0d06fc389f859bb39e1175e16a75e141f0ce06743258178d3\",\"dweb:/ipfs/QmdoJiu5PJ6D3NcZVGHVGCFVW8WkQbTdqok1AoTcG3NmYR\"]}},\"version\":1}" - } - }, - "@axelar-network/axelar-cgp-solidity/contracts/ERC20Permit.sol": { - "ERC20Permit": { - "abi": [ - { - "inputs": [], - "name": "InvalidAccount", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidS", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidSignature", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidV", - "type": "error" - }, - { - "inputs": [], - "name": "PermitExpired", - "type": "error" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Approval", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Transfer", - "type": "event" - }, - { - "inputs": [], - "name": "DOMAIN_SEPARATOR", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "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": "", - "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": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "nonces", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "issuer", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "deadline", - "type": "uint256" - }, - { - "internalType": "uint8", - "name": "v", - "type": "uint8" - }, - { - "internalType": "bytes32", - "name": "r", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "s", - "type": "bytes32" - } - ], - "name": "permit", - "outputs": [], - "stateMutability": "nonpayable", - "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": { - "functionDebugData": {}, - "generatedSources": [], - "linkReferences": {}, - "object": "", - "opcodes": "", - "sourceMap": "" - }, - "deployedBytecode": { - "functionDebugData": {}, - "generatedSources": [], - "immutableReferences": {}, - "linkReferences": {}, - "object": "", - "opcodes": "", - "sourceMap": "" - }, - "methodIdentifiers": { - "DOMAIN_SEPARATOR()": "3644e515", - "allowance(address,address)": "dd62ed3e", - "approve(address,uint256)": "095ea7b3", - "balanceOf(address)": "70a08231", - "decimals()": "313ce567", - "decreaseAllowance(address,uint256)": "a457c2d7", - "increaseAllowance(address,uint256)": "39509351", - "name()": "06fdde03", - "nonces(address)": "7ecebe00", - "permit(address,address,uint256,uint256,uint8,bytes32,bytes32)": "d505accf", - "symbol()": "95d89b41", - "totalSupply()": "18160ddd", - "transfer(address,uint256)": "a9059cbb", - "transferFrom(address,address,uint256)": "23b872dd" - } - }, - "metadata": "{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"InvalidAccount\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidSignature\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidV\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"PermitExpired\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DOMAIN_SEPARATOR\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"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\":\"\",\"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\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"nonces\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"issuer\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"permit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"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\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. NOTE: If `amount` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address.\"},\"decreaseAllowance(address,uint256)\":{\"details\":\"Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`.\"},\"increaseAllowance(address,uint256)\":{\"details\":\"Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address.\"},\"transfer(address,uint256)\":{\"details\":\"See {IERC20-transfer}. Requirements: - `recipient` cannot be the zero address. - the caller must have a balance of at least `amount`.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. Requirements: - `sender` and `recipient` cannot be the zero address. - `sender` must have a balance of at least `amount`. - the caller must have allowance for ``sender``'s tokens of at least `amount`.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@axelar-network/axelar-cgp-solidity/contracts/ERC20Permit.sol\":\"ERC20Permit\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1000},\"remappings\":[]},\"sources\":{\"@axelar-network/axelar-cgp-solidity/contracts/ERC20.sol\":{\"keccak256\":\"0x287710de0cde19d80aab753fd24296e9b826cb38c95b60ff98f304ff17f8cc2c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d2e8f192386b7b7a8a2a706cf3328a4f2a03316ea9b6b794fd4aac5547c68cf4\",\"dweb:/ipfs/QmQNn5eM6yAPnv77CkieA4rzo7G4yi6jy9ACgYnkBE92yV\"]},\"@axelar-network/axelar-cgp-solidity/contracts/ERC20Permit.sol\":{\"keccak256\":\"0x7ff0fca2cc2c02b099753c3ce79800ce88070290a1eb73392d4333eafb003e07\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1ee04b325749300f3c3a4c3e07fa5d9c651374b38106cf079c00301e15b2a2e2\",\"dweb:/ipfs/Qmdfnqbb1Fnv2x5uhPeHfzvnxh2Esq8k5CSAxHjLv1Pmz4\"]},\"@axelar-network/axelar-cgp-solidity/contracts/interfaces/IERC20.sol\":{\"keccak256\":\"0x018cf796d80d65945fa85fa4fb49d926481ffe9316564ea251ee14836d661635\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://677295d77a7b45e0d06fc389f859bb39e1175e16a75e141f0ce06743258178d3\",\"dweb:/ipfs/QmdoJiu5PJ6D3NcZVGHVGCFVW8WkQbTdqok1AoTcG3NmYR\"]},\"@axelar-network/axelar-cgp-solidity/contracts/interfaces/IERC20Permit.sol\":{\"keccak256\":\"0xd0f2210276eefeceae0ba6590c9f515f89149e01d70c18a7b36c372250ed06cb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://78caf6d22f4239a95d84cfdb04e4fe8a122c29c967e4edacadc9f88ba0d2fee0\",\"dweb:/ipfs/QmR2Weu44fXPvgwfHEenMhTnMZFVTSuzTGsP8TQRtQLQEj\"]}},\"version\":1}" - } - }, - "@axelar-network/axelar-cgp-solidity/contracts/EternalStorage.sol": { - "EternalStorage": { - "abi": [ - { - "inputs": [ - { - "internalType": "bytes32", - "name": "key", - "type": "bytes32" - } - ], - "name": "getAddress", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "key", - "type": "bytes32" - } - ], - "name": "getBool", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "key", - "type": "bytes32" - } - ], - "name": "getBytes", - "outputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "key", - "type": "bytes32" - } - ], - "name": "getInt", - "outputs": [ - { - "internalType": "int256", - "name": "", - "type": "int256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "key", - "type": "bytes32" - } - ], - "name": "getString", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "key", - "type": "bytes32" - } - ], - "name": "getUint", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "evm": { - "bytecode": { - "functionDebugData": {}, - "generatedSources": [], - "linkReferences": {}, - "object": "608060405234801561001057600080fd5b50610354806100206000396000f3fe608060405234801561001057600080fd5b50600436106100725760003560e01c8063bd02d0f511610050578063bd02d0f51461012a578063c031a18014610158578063dc97d9621461016b57600080fd5b806321f8a721146100775780637ae1cfca146100d7578063986e791a1461010a575b600080fd5b6100ad61008536600461024a565b60009081526002602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b6100fa6100e536600461024a565b60009081526004602052604090205460ff1690565b60405190151581526020016100ce565b61011d61011836600461024a565b61018b565b6040516100ce91906102b0565b61014a61013836600461024a565b60009081526020819052604090205490565b6040519081526020016100ce565b61011d61016636600461024a565b61022d565b61014a61017936600461024a565b60009081526005602052604090205490565b60008181526001602052604090208054606091906101a8906102ca565b80601f01602080910402602001604051908101604052809291908181526020018280546101d4906102ca565b80156102215780601f106101f657610100808354040283529160200191610221565b820191906000526020600020905b81548152906001019060200180831161020457829003601f168201915b50505050509050919050565b60008181526003602052604090208054606091906101a8906102ca565b60006020828403121561025c57600080fd5b5035919050565b6000815180845260005b818110156102895760208185018101518683018201520161026d565b8181111561029b576000602083870101525b50601f01601f19169290920160200192915050565b6020815260006102c36020830184610263565b9392505050565b600181811c908216806102de57607f821691505b60208210811415610318577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b5091905056fea26469706673582212208de82a6c8b596ef7873260649031385260e4e63c6aa2f8f8e58736df69b41b0a64736f6c63430008090033", - "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x354 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 0xBD02D0F5 GT PUSH2 0x50 JUMPI DUP1 PUSH4 0xBD02D0F5 EQ PUSH2 0x12A JUMPI DUP1 PUSH4 0xC031A180 EQ PUSH2 0x158 JUMPI DUP1 PUSH4 0xDC97D962 EQ PUSH2 0x16B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x21F8A721 EQ PUSH2 0x77 JUMPI DUP1 PUSH4 0x7AE1CFCA EQ PUSH2 0xD7 JUMPI DUP1 PUSH4 0x986E791A EQ PUSH2 0x10A JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xAD PUSH2 0x85 CALLDATASIZE PUSH1 0x4 PUSH2 0x24A JUMP JUMPDEST PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xFA PUSH2 0xE5 CALLDATASIZE PUSH1 0x4 PUSH2 0x24A JUMP JUMPDEST PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xCE JUMP JUMPDEST PUSH2 0x11D PUSH2 0x118 CALLDATASIZE PUSH1 0x4 PUSH2 0x24A JUMP JUMPDEST PUSH2 0x18B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xCE SWAP2 SWAP1 PUSH2 0x2B0 JUMP JUMPDEST PUSH2 0x14A PUSH2 0x138 CALLDATASIZE PUSH1 0x4 PUSH2 0x24A JUMP JUMPDEST PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xCE JUMP JUMPDEST PUSH2 0x11D PUSH2 0x166 CALLDATASIZE PUSH1 0x4 PUSH2 0x24A JUMP JUMPDEST PUSH2 0x22D JUMP JUMPDEST PUSH2 0x14A PUSH2 0x179 CALLDATASIZE PUSH1 0x4 PUSH2 0x24A JUMP JUMPDEST PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x60 SWAP2 SWAP1 PUSH2 0x1A8 SWAP1 PUSH2 0x2CA 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 0x1D4 SWAP1 PUSH2 0x2CA JUMP JUMPDEST DUP1 ISZERO PUSH2 0x221 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x1F6 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x221 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 0x204 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x60 SWAP2 SWAP1 PUSH2 0x1A8 SWAP1 PUSH2 0x2CA JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x25C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x289 JUMPI PUSH1 0x20 DUP2 DUP6 ADD DUP2 ADD MLOAD DUP7 DUP4 ADD DUP3 ADD MSTORE ADD PUSH2 0x26D JUMP JUMPDEST DUP2 DUP2 GT ISZERO PUSH2 0x29B JUMPI PUSH1 0x0 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 PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0x2C3 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x263 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0x2DE JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH2 0x318 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 DUP14 0xE8 0x2A PUSH13 0x8B596EF7873260649031385260 0xE4 0xE6 EXTCODECOPY PUSH11 0xA2F8F8E58736DF69B41B0A PUSH5 0x736F6C6343 STOP ADDMOD MULMOD STOP CALLER ", - "sourceMap": "194:2283:9:-:0;;;;;;;;;;;;;;;;;;;" - }, - "deployedBytecode": { - "functionDebugData": { - "@getAddress_4107": { - "entryPoint": null, - "id": 4107, - "parameterSlots": 1, - "returnSlots": 1 - }, - "@getBool_4131": { - "entryPoint": null, - "id": 4131, - "parameterSlots": 1, - "returnSlots": 1 - }, - "@getBytes_4119": { - "entryPoint": 557, - "id": 4119, - "parameterSlots": 1, - "returnSlots": 1 - }, - "@getInt_4143": { - "entryPoint": null, - "id": 4143, - "parameterSlots": 1, - "returnSlots": 1 - }, - "@getString_4095": { - "entryPoint": 395, - "id": 4095, - "parameterSlots": 1, - "returnSlots": 1 - }, - "@getUint_4083": { - "entryPoint": null, - "id": 4083, - "parameterSlots": 1, - "returnSlots": 1 - }, - "abi_decode_tuple_t_bytes32": { - "entryPoint": 586, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_encode_string": { - "entryPoint": 611, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_encode_tuple_t_address__to_t_address__fromStack_reversed": { - "entryPoint": null, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed": { - "entryPoint": null, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_encode_tuple_t_bytes_memory_ptr__to_t_bytes_memory_ptr__fromStack_reversed": { - "entryPoint": null, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_encode_tuple_t_int256__to_t_int256__fromStack_reversed": { - "entryPoint": null, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed": { - "entryPoint": 688, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": { - "entryPoint": null, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "extract_byte_array_length": { - "entryPoint": 714, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - } - }, - "generatedSources": [ - { - "ast": { - "nodeType": "YulBlock", - "src": "0:2348:34", - "statements": [ - { - "nodeType": "YulBlock", - "src": "6:3:34", - "statements": [] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "84:110:34", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "130:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "139:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "142:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "132:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "132:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "132:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "105:7:34" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "114:9:34" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "101:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "101:23:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "126:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "97:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "97:32:34" - }, - "nodeType": "YulIf", - "src": "94:52:34" - }, - { - "nodeType": "YulAssignment", - "src": "155:33:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "178:9:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "165:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "165:23:34" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "155:6:34" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_bytes32", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "50:9:34", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "61:7:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "73:6:34", - "type": "" - } - ], - "src": "14:180:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "300:125:34", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "310:26:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "322:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "333:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "318:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "318:18:34" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "310:4:34" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "352:9:34" - }, - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "367:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "375:42:34", - "type": "", - "value": "0xffffffffffffffffffffffffffffffffffffffff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "363:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "363:55:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "345:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "345:74:34" - }, - "nodeType": "YulExpressionStatement", - "src": "345:74:34" - } - ] - }, - "name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "269:9:34", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "280:6:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "291:4:34", - "type": "" - } - ], - "src": "199:226:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "525:92:34", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "535:26:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "547:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "558:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "543:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "543:18:34" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "535:4:34" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "577:9:34" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "602:6:34" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "595:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "595:14:34" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "588:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "588:22:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "570:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "570:41:34" - }, - "nodeType": "YulExpressionStatement", - "src": "570:41:34" - } - ] - }, - "name": "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "494:9:34", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "505:6:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "516:4:34", - "type": "" - } - ], - "src": "430:187:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "672:422:34", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "682:26:34", - "value": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "702:5:34" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "696:5:34" - }, - "nodeType": "YulFunctionCall", - "src": "696:12:34" - }, - "variables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "686:6:34", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "724:3:34" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "729:6:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "717:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "717:19:34" - }, - "nodeType": "YulExpressionStatement", - "src": "717:19:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "745:10:34", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "754:1:34", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "i", - "nodeType": "YulTypedName", - "src": "749:1:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "816:110:34", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "830:14:34", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "840:4:34", - "type": "", - "value": "0x20" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "834:2:34", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "872:3:34" - }, - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "877:1:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "868:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "868:11:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "881:2:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "864:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "864:20:34" - }, - { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "900:5:34" - }, - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "907:1:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "896:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "896:13:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "911:2:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "892:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "892:22:34" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "886:5:34" - }, - "nodeType": "YulFunctionCall", - "src": "886:29:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "857:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "857:59:34" - }, - "nodeType": "YulExpressionStatement", - "src": "857:59:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "775:1:34" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "778:6:34" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "772:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "772:13:34" - }, - "nodeType": "YulForLoop", - "post": { - "nodeType": "YulBlock", - "src": "786:21:34", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "788:17:34", - "value": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "797:1:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "800:4:34", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "793:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "793:12:34" - }, - "variableNames": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "788:1:34" - } - ] - } - ] - }, - "pre": { - "nodeType": "YulBlock", - "src": "768:3:34", - "statements": [] - }, - "src": "764:162:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "960:62:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "989:3:34" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "994:6:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "985:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "985:16:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1003:4:34", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "981:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "981:27:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1010:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "974:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "974:38:34" - }, - "nodeType": "YulExpressionStatement", - "src": "974:38:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "941:1:34" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "944:6:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "938:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "938:13:34" - }, - "nodeType": "YulIf", - "src": "935:87:34" - }, - { - "nodeType": "YulAssignment", - "src": "1031:57:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "1046:3:34" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "1059:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1067:2:34", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1055:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1055:15:34" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1076:2:34", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "1072:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1072:7:34" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "1051:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1051:29:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1042:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1042:39:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1083:4:34", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1038:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1038:50:34" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "1031:3:34" - } - ] - } - ] - }, - "name": "abi_encode_string", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "649:5:34", - "type": "" - }, - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "656:3:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "664:3:34", - "type": "" - } - ], - "src": "622:472:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1220:99:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1237:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1248:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1230:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "1230:21:34" - }, - "nodeType": "YulExpressionStatement", - "src": "1230:21:34" - }, - { - "nodeType": "YulAssignment", - "src": "1260:53:34", - "value": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1286:6:34" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1298:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1309:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1294:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1294:18:34" - } - ], - "functionName": { - "name": "abi_encode_string", - "nodeType": "YulIdentifier", - "src": "1268:17:34" - }, - "nodeType": "YulFunctionCall", - "src": "1268:45:34" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "1260:4:34" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "1189:9:34", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "1200:6:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "1211:4:34", - "type": "" - } - ], - "src": "1099:220:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1425:76:34", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "1435:26:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1447:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1458:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1443:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1443:18:34" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "1435:4:34" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1477:9:34" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1488:6:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1470:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "1470:25:34" - }, - "nodeType": "YulExpressionStatement", - "src": "1470:25:34" - } - ] - }, - "name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "1394:9:34", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "1405:6:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "1416:4:34", - "type": "" - } - ], - "src": "1324:177:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1625:99:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1642:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1653:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1635:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "1635:21:34" - }, - "nodeType": "YulExpressionStatement", - "src": "1635:21:34" - }, - { - "nodeType": "YulAssignment", - "src": "1665:53:34", - "value": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1691:6:34" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1703:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1714:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1699:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1699:18:34" - } - ], - "functionName": { - "name": "abi_encode_string", - "nodeType": "YulIdentifier", - "src": "1673:17:34" - }, - "nodeType": "YulFunctionCall", - "src": "1673:45:34" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "1665:4:34" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_bytes_memory_ptr__to_t_bytes_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "1594:9:34", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "1605:6:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "1616:4:34", - "type": "" - } - ], - "src": "1506:218:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1828:76:34", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "1838:26:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1850:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1861:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1846:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1846:18:34" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "1838:4:34" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1880:9:34" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1891:6:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1873:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "1873:25:34" - }, - "nodeType": "YulExpressionStatement", - "src": "1873:25:34" - } - ] - }, - "name": "abi_encode_tuple_t_int256__to_t_int256__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "1797:9:34", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "1808:6:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "1819:4:34", - "type": "" - } - ], - "src": "1729:175:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1964:382:34", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "1974:22:34", - "value": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1988:1:34", - "type": "", - "value": "1" - }, - { - "name": "data", - "nodeType": "YulIdentifier", - "src": "1991:4:34" - } - ], - "functionName": { - "name": "shr", - "nodeType": "YulIdentifier", - "src": "1984:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1984:12:34" - }, - "variableNames": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "1974:6:34" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "2005:38:34", - "value": { - "arguments": [ - { - "name": "data", - "nodeType": "YulIdentifier", - "src": "2035:4:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2041:1:34", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "2031:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "2031:12:34" - }, - "variables": [ - { - "name": "outOfPlaceEncoding", - "nodeType": "YulTypedName", - "src": "2009:18:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2082:31:34", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "2084:27:34", - "value": { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "2098:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2106:4:34", - "type": "", - "value": "0x7f" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "2094:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "2094:17:34" - }, - "variableNames": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "2084:6:34" - } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "outOfPlaceEncoding", - "nodeType": "YulIdentifier", - "src": "2062:18:34" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "2055:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "2055:26:34" - }, - "nodeType": "YulIf", - "src": "2052:61:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2172:168:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2193:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2196:77:34", - "type": "", - "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2186:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "2186:88:34" - }, - "nodeType": "YulExpressionStatement", - "src": "2186:88:34" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2294:1:34", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2297:4:34", - "type": "", - "value": "0x22" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2287:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "2287:15:34" - }, - "nodeType": "YulExpressionStatement", - "src": "2287:15:34" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2322:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2325:4:34", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "2315:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "2315:15:34" - }, - "nodeType": "YulExpressionStatement", - "src": "2315:15:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "outOfPlaceEncoding", - "nodeType": "YulIdentifier", - "src": "2128:18:34" - }, - { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "2151:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2159:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "2148:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "2148:14:34" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "2125:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "2125:38:34" - }, - "nodeType": "YulIf", - "src": "2122:218:34" - } - ] - }, - "name": "extract_byte_array_length", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "data", - "nodeType": "YulTypedName", - "src": "1944:4:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "1953:6:34", - "type": "" - } - ], - "src": "1909:437:34" - } - ] - }, - "contents": "{\n { }\n function abi_decode_tuple_t_bytes32(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n value0 := calldataload(headStart)\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_string(value, pos) -> end\n {\n let length := mload(value)\n mstore(pos, length)\n let i := 0\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), 0)\n }\n end := add(add(pos, and(add(length, 31), not(31))), 0x20)\n }\n function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n {\n mstore(headStart, 32)\n tail := abi_encode_string(value0, add(headStart, 32))\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_bytes_memory_ptr__to_t_bytes_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n {\n mstore(headStart, 32)\n tail := abi_encode_string(value0, add(headStart, 32))\n }\n function abi_encode_tuple_t_int256__to_t_int256__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, value0)\n }\n function extract_byte_array_length(data) -> length\n {\n length := shr(1, data)\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": 34, - "language": "Yul", - "name": "#utility.yul" - } - ], - "immutableReferences": {}, - "linkReferences": {}, - "object": "608060405234801561001057600080fd5b50600436106100725760003560e01c8063bd02d0f511610050578063bd02d0f51461012a578063c031a18014610158578063dc97d9621461016b57600080fd5b806321f8a721146100775780637ae1cfca146100d7578063986e791a1461010a575b600080fd5b6100ad61008536600461024a565b60009081526002602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b6100fa6100e536600461024a565b60009081526004602052604090205460ff1690565b60405190151581526020016100ce565b61011d61011836600461024a565b61018b565b6040516100ce91906102b0565b61014a61013836600461024a565b60009081526020819052604090205490565b6040519081526020016100ce565b61011d61016636600461024a565b61022d565b61014a61017936600461024a565b60009081526005602052604090205490565b60008181526001602052604090208054606091906101a8906102ca565b80601f01602080910402602001604051908101604052809291908181526020018280546101d4906102ca565b80156102215780601f106101f657610100808354040283529160200191610221565b820191906000526020600020905b81548152906001019060200180831161020457829003601f168201915b50505050509050919050565b60008181526003602052604090208054606091906101a8906102ca565b60006020828403121561025c57600080fd5b5035919050565b6000815180845260005b818110156102895760208185018101518683018201520161026d565b8181111561029b576000602083870101525b50601f01601f19169290920160200192915050565b6020815260006102c36020830184610263565b9392505050565b600181811c908216806102de57607f821691505b60208210811415610318577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b5091905056fea26469706673582212208de82a6c8b596ef7873260649031385260e4e63c6aa2f8f8e58736df69b41b0a64736f6c63430008090033", - "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 0xBD02D0F5 GT PUSH2 0x50 JUMPI DUP1 PUSH4 0xBD02D0F5 EQ PUSH2 0x12A JUMPI DUP1 PUSH4 0xC031A180 EQ PUSH2 0x158 JUMPI DUP1 PUSH4 0xDC97D962 EQ PUSH2 0x16B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x21F8A721 EQ PUSH2 0x77 JUMPI DUP1 PUSH4 0x7AE1CFCA EQ PUSH2 0xD7 JUMPI DUP1 PUSH4 0x986E791A EQ PUSH2 0x10A JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xAD PUSH2 0x85 CALLDATASIZE PUSH1 0x4 PUSH2 0x24A JUMP JUMPDEST PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xFA PUSH2 0xE5 CALLDATASIZE PUSH1 0x4 PUSH2 0x24A JUMP JUMPDEST PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xCE JUMP JUMPDEST PUSH2 0x11D PUSH2 0x118 CALLDATASIZE PUSH1 0x4 PUSH2 0x24A JUMP JUMPDEST PUSH2 0x18B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xCE SWAP2 SWAP1 PUSH2 0x2B0 JUMP JUMPDEST PUSH2 0x14A PUSH2 0x138 CALLDATASIZE PUSH1 0x4 PUSH2 0x24A JUMP JUMPDEST PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xCE JUMP JUMPDEST PUSH2 0x11D PUSH2 0x166 CALLDATASIZE PUSH1 0x4 PUSH2 0x24A JUMP JUMPDEST PUSH2 0x22D JUMP JUMPDEST PUSH2 0x14A PUSH2 0x179 CALLDATASIZE PUSH1 0x4 PUSH2 0x24A JUMP JUMPDEST PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x60 SWAP2 SWAP1 PUSH2 0x1A8 SWAP1 PUSH2 0x2CA 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 0x1D4 SWAP1 PUSH2 0x2CA JUMP JUMPDEST DUP1 ISZERO PUSH2 0x221 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x1F6 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x221 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 0x204 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x60 SWAP2 SWAP1 PUSH2 0x1A8 SWAP1 PUSH2 0x2CA JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x25C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x289 JUMPI PUSH1 0x20 DUP2 DUP6 ADD DUP2 ADD MLOAD DUP7 DUP4 ADD DUP3 ADD MSTORE ADD PUSH2 0x26D JUMP JUMPDEST DUP2 DUP2 GT ISZERO PUSH2 0x29B JUMPI PUSH1 0x0 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 PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0x2C3 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x263 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0x2DE JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH2 0x318 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 DUP14 0xE8 0x2A PUSH13 0x8B596EF7873260649031385260 0xE4 0xE6 EXTCODECOPY PUSH11 0xA2F8F8E58736DF69B41B0A PUSH5 0x736F6C6343 STOP ADDMOD MULMOD STOP CALLER ", - "sourceMap": "194:2283:9:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;801:107;;;;;;:::i;:::-;855:7;881:20;;;:15;:20;;;;;;;;;801:107;;;;375:42:34;363:55;;;345:74;;333:2;318:18;801:107:9;;;;;;;;1028:98;;;;;;:::i;:::-;1079:4;1102:17;;;:12;:17;;;;;;;;;1028:98;;;;595:14:34;;588:22;570:41;;558:2;543:18;1028:98:9;430:187:34;684:111:9;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;577:101::-;;;;;;:::i;:::-;628:7;654:17;;;;;;;;;;;;577:101;;;;1470:25:34;;;1458:2;1443:18;577:101:9;1324:177:34;914:108:9;;;;;;:::i;:::-;;:::i;1132:98::-;;;;;;:::i;:::-;1182:6;1207:16;;;:11;:16;;;;;;;1132:98;684:111;769:19;;;;:14;:19;;;;;762:26;;737:13;;769:19;762:26;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;684:111;;;:::o;914:108::-;997:18;;;;:13;:18;;;;;990:25;;966:12;;997:18;990:25;;;:::i;14:180:34:-;73:6;126:2;114:9;105:7;101:23;97:32;94:52;;;142:1;139;132:12;94:52;-1:-1:-1;165:23:34;;14:180;-1:-1:-1;14:180:34:o;622:472::-;664:3;702:5;696:12;729:6;724:3;717:19;754:1;764:162;778:6;775:1;772:13;764:162;;;840:4;896:13;;;892:22;;886:29;868:11;;;864:20;;857:59;793:12;764:162;;;944:6;941:1;938:13;935:87;;;1010:1;1003:4;994:6;989:3;985:16;981:27;974:38;935:87;-1:-1:-1;1076:2:34;1055:15;-1:-1:-1;;1051:29:34;1042:39;;;;1083:4;1038:50;;622:472;-1:-1:-1;;622:472:34:o;1099:220::-;1248:2;1237:9;1230:21;1211:4;1268:45;1309:2;1298:9;1294:18;1286:6;1268:45;:::i;:::-;1260:53;1099:220;-1:-1:-1;;;1099:220:34:o;1909:437::-;1988:1;1984:12;;;;2031;;;2052:61;;2106:4;2098:6;2094:17;2084:27;;2052:61;2159:2;2151:6;2148:14;2128:18;2125:38;2122:218;;;2196:77;2193:1;2186:88;2297:4;2294:1;2287:15;2325:4;2322:1;2315:15;2122:218;;1909:437;;;:::o" - }, - "methodIdentifiers": { - "getAddress(bytes32)": "21f8a721", - "getBool(bytes32)": "7ae1cfca", - "getBytes(bytes32)": "c031a180", - "getInt(bytes32)": "dc97d962", - "getString(bytes32)": "986e791a", - "getUint(bytes32)": "bd02d0f5" - } - }, - "metadata": "{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"key\",\"type\":\"bytes32\"}],\"name\":\"getAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"key\",\"type\":\"bytes32\"}],\"name\":\"getBool\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"key\",\"type\":\"bytes32\"}],\"name\":\"getBytes\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"key\",\"type\":\"bytes32\"}],\"name\":\"getInt\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"key\",\"type\":\"bytes32\"}],\"name\":\"getString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"key\",\"type\":\"bytes32\"}],\"name\":\"getUint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"This contract holds all the necessary state variables to carry out the storage of any contract.\",\"kind\":\"dev\",\"methods\":{},\"title\":\"EternalStorage\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@axelar-network/axelar-cgp-solidity/contracts/EternalStorage.sol\":\"EternalStorage\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1000},\"remappings\":[]},\"sources\":{\"@axelar-network/axelar-cgp-solidity/contracts/EternalStorage.sol\":{\"keccak256\":\"0x112fe354a00bc09d30d7e914cd9b6680df3830a6118ce806b6c1c92677a46be7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f0b5cdcf41522fd7c8bd390820845c89396af31fed48bf344743ce0826b729d\",\"dweb:/ipfs/QmUX6qUgzk8M84GNdHiVu6F1zSsUSXsG2kq6Vi7oybTFrE\"]}},\"version\":1}" - } - }, - "@axelar-network/axelar-cgp-solidity/contracts/MintableCappedERC20.sol": { - "MintableCappedERC20": { - "abi": [ - { - "inputs": [ - { - "internalType": "string", - "name": "name", - "type": "string" - }, - { - "internalType": "string", - "name": "symbol", - "type": "string" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "capacity", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "name": "CapExceeded", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidAccount", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidOwner", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidS", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidSignature", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidV", - "type": "error" - }, - { - "inputs": [], - "name": "NotOwner", - "type": "error" - }, - { - "inputs": [], - "name": "PermitExpired", - "type": "error" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Approval", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "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": "DOMAIN_SEPARATOR", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "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": "", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "cap", - "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": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "mint", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "nonces", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "issuer", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "deadline", - "type": "uint256" - }, - { - "internalType": "uint8", - "name": "v", - "type": "uint8" - }, - { - "internalType": "bytes32", - "name": "r", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "s", - "type": "bytes32" - } - ], - "name": "permit", - "outputs": [], - "stateMutability": "nonpayable", - "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" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "evm": { - "bytecode": { - "functionDebugData": { - "@_3529": { - "entryPoint": null, - "id": 3529, - "parameterSlots": 3, - "returnSlots": 0 - }, - "@_3950": { - "entryPoint": null, - "id": 3950, - "parameterSlots": 1, - "returnSlots": 0 - }, - "@_4340": { - "entryPoint": null, - "id": 4340, - "parameterSlots": 4, - "returnSlots": 0 - }, - "@_4398": { - "entryPoint": null, - "id": 4398, - "parameterSlots": 0, - "returnSlots": 0 - }, - "abi_decode_string_fromMemory": { - "entryPoint": 546, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_decode_tuple_t_string_memory_ptrt_string_memory_ptrt_uint8t_uint256_fromMemory": { - "entryPoint": 729, - "id": null, - "parameterSlots": 2, - "returnSlots": 4 - }, - "abi_encode_tuple_t_bytes32_t_bytes32_t_bytes32_t_uint256_t_address__to_t_bytes32_t_bytes32_t_bytes32_t_uint256_t_address__fromStack_reversed": { - "entryPoint": null, - "id": null, - "parameterSlots": 6, - "returnSlots": 1 - }, - "extract_byte_array_length": { - "entryPoint": 868, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "panic_error_0x41": { - "entryPoint": 524, - "id": null, - "parameterSlots": 0, - "returnSlots": 0 - } - }, - "generatedSources": [ - { - "ast": { - "nodeType": "YulBlock", - "src": "0:2691:34", - "statements": [ - { - "nodeType": "YulBlock", - "src": "6:3:34", - "statements": [] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "46:95:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "63:1:34", - "type": "", - "value": "0" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "70:3:34", - "type": "", - "value": "224" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "75:10:34", - "type": "", - "value": "0x4e487b71" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "66:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "66:20:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "56:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "56:31:34" - }, - "nodeType": "YulExpressionStatement", - "src": "56:31:34" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "103:1:34", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "106:4:34", - "type": "", - "value": "0x41" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "96:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "96:15:34" - }, - "nodeType": "YulExpressionStatement", - "src": "96:15:34" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "127:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "130:4:34", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "120:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "120:15:34" - }, - "nodeType": "YulExpressionStatement", - "src": "120:15:34" - } - ] - }, - "name": "panic_error_0x41", - "nodeType": "YulFunctionDefinition", - "src": "14:127:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "210:821:34", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "259:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "268:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "271:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "261:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "261:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "261:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "238:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "246:4:34", - "type": "", - "value": "0x1f" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "234:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "234:17:34" - }, - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "253:3:34" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "230:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "230:27:34" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "223:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "223:35:34" - }, - "nodeType": "YulIf", - "src": "220:55:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "284:23:34", - "value": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "300:6:34" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "294:5:34" - }, - "nodeType": "YulFunctionCall", - "src": "294:13:34" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "288:2:34", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "316:28:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "334:2:34", - "type": "", - "value": "64" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "338:1:34", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "330:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "330:10:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "342:1:34", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "326:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "326:18:34" - }, - "variables": [ - { - "name": "_2", - "nodeType": "YulTypedName", - "src": "320:2:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "367:22:34", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x41", - "nodeType": "YulIdentifier", - "src": "369:16:34" - }, - "nodeType": "YulFunctionCall", - "src": "369:18:34" - }, - "nodeType": "YulExpressionStatement", - "src": "369:18:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "359:2:34" - }, - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "363:2:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "356:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "356:10:34" - }, - "nodeType": "YulIf", - "src": "353:36:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "398:17:34", - "value": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "412:2:34", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "408:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "408:7:34" - }, - "variables": [ - { - "name": "_3", - "nodeType": "YulTypedName", - "src": "402:2:34", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "424:23:34", - "value": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "444:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "438:5:34" - }, - "nodeType": "YulFunctionCall", - "src": "438:9:34" - }, - "variables": [ - { - "name": "memPtr", - "nodeType": "YulTypedName", - "src": "428:6:34", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "456:71:34", - "value": { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "478:6:34" - }, - { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "502:2:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "506:4:34", - "type": "", - "value": "0x1f" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "498:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "498:13:34" - }, - { - "name": "_3", - "nodeType": "YulIdentifier", - "src": "513:2:34" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "494:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "494:22:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "518:2:34", - "type": "", - "value": "63" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "490:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "490:31:34" - }, - { - "name": "_3", - "nodeType": "YulIdentifier", - "src": "523:2:34" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "486:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "486:40:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "474:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "474:53:34" - }, - "variables": [ - { - "name": "newFreePtr", - "nodeType": "YulTypedName", - "src": "460:10:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "586:22:34", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x41", - "nodeType": "YulIdentifier", - "src": "588:16:34" - }, - "nodeType": "YulFunctionCall", - "src": "588:18:34" - }, - "nodeType": "YulExpressionStatement", - "src": "588:18:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "newFreePtr", - "nodeType": "YulIdentifier", - "src": "545:10:34" - }, - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "557:2:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "542:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "542:18:34" - }, - { - "arguments": [ - { - "name": "newFreePtr", - "nodeType": "YulIdentifier", - "src": "565:10:34" - }, - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "577:6:34" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "562:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "562:22:34" - } - ], - "functionName": { - "name": "or", - "nodeType": "YulIdentifier", - "src": "539:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "539:46:34" - }, - "nodeType": "YulIf", - "src": "536:72:34" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "624:2:34", - "type": "", - "value": "64" - }, - { - "name": "newFreePtr", - "nodeType": "YulIdentifier", - "src": "628:10:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "617:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "617:22:34" - }, - "nodeType": "YulExpressionStatement", - "src": "617:22:34" - }, - { - "expression": { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "655:6:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "663:2:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "648:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "648:18:34" - }, - "nodeType": "YulExpressionStatement", - "src": "648:18:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "675:14:34", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "685:4:34", - "type": "", - "value": "0x20" - }, - "variables": [ - { - "name": "_4", - "nodeType": "YulTypedName", - "src": "679:2:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "735:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "744:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "747:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "737:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "737:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "737:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "712:6:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "720:2:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "708:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "708:15:34" - }, - { - "name": "_4", - "nodeType": "YulIdentifier", - "src": "725:2:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "704:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "704:24:34" - }, - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "730:3:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "701:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "701:33:34" - }, - "nodeType": "YulIf", - "src": "698:53:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "760:10:34", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "769:1:34", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "i", - "nodeType": "YulTypedName", - "src": "764:1:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "825:87:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "854:6:34" - }, - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "862:1:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "850:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "850:14:34" - }, - { - "name": "_4", - "nodeType": "YulIdentifier", - "src": "866:2:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "846:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "846:23:34" - }, - { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "885:6:34" - }, - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "893:1:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "881:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "881:14:34" - }, - { - "name": "_4", - "nodeType": "YulIdentifier", - "src": "897:2:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "877:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "877:23:34" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "871:5:34" - }, - "nodeType": "YulFunctionCall", - "src": "871:30:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "839:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "839:63:34" - }, - "nodeType": "YulExpressionStatement", - "src": "839:63:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "790:1:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "793:2:34" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "787:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "787:9:34" - }, - "nodeType": "YulForLoop", - "post": { - "nodeType": "YulBlock", - "src": "797:19:34", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "799:15:34", - "value": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "808:1:34" - }, - { - "name": "_4", - "nodeType": "YulIdentifier", - "src": "811:2:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "804:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "804:10:34" - }, - "variableNames": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "799:1:34" - } - ] - } - ] - }, - "pre": { - "nodeType": "YulBlock", - "src": "783:3:34", - "statements": [] - }, - "src": "779:133:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "942:59:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "971:6:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "979:2:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "967:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "967:15:34" - }, - { - "name": "_4", - "nodeType": "YulIdentifier", - "src": "984:2:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "963:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "963:24:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "989:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "956:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "956:35:34" - }, - "nodeType": "YulExpressionStatement", - "src": "956:35:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "927:1:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "930:2:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "924:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "924:9:34" - }, - "nodeType": "YulIf", - "src": "921:80:34" - }, - { - "nodeType": "YulAssignment", - "src": "1010:15:34", - "value": { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "1019:6:34" - }, - "variableNames": [ - { - "name": "array", - "nodeType": "YulIdentifier", - "src": "1010:5:34" - } - ] - } - ] - }, - "name": "abi_decode_string_fromMemory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "184:6:34", - "type": "" - }, - { - "name": "end", - "nodeType": "YulTypedName", - "src": "192:3:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "array", - "nodeType": "YulTypedName", - "src": "200:5:34", - "type": "" - } - ], - "src": "146:885:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1186:624:34", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "1233:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1242:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1245:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "1235:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "1235:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "1235:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "1207:7:34" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1216:9:34" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "1203:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1203:23:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1228:3:34", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "1199:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1199:33:34" - }, - "nodeType": "YulIf", - "src": "1196:53:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1258:30:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1278:9:34" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "1272:5:34" - }, - "nodeType": "YulFunctionCall", - "src": "1272:16:34" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "1262:6:34", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1297:28:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1315:2:34", - "type": "", - "value": "64" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1319:1:34", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "1311:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1311:10:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1323:1:34", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "1307:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1307:18:34" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "1301:2:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1352:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1361:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1364:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "1354:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "1354:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "1354:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "1340:6:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "1348:2:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "1337:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "1337:14:34" - }, - "nodeType": "YulIf", - "src": "1334:34:34" - }, - { - "nodeType": "YulAssignment", - "src": "1377:71:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1420:9:34" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "1431:6:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1416:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1416:22:34" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "1440:7:34" - } - ], - "functionName": { - "name": "abi_decode_string_fromMemory", - "nodeType": "YulIdentifier", - "src": "1387:28:34" - }, - "nodeType": "YulFunctionCall", - "src": "1387:61:34" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1377:6:34" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1457:41:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1483:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1494:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1479:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1479:18:34" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "1473:5:34" - }, - "nodeType": "YulFunctionCall", - "src": "1473:25:34" - }, - "variables": [ - { - "name": "offset_1", - "nodeType": "YulTypedName", - "src": "1461:8:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1527:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1536:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1539:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "1529:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "1529:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "1529:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset_1", - "nodeType": "YulIdentifier", - "src": "1513:8:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "1523:2:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "1510:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "1510:16:34" - }, - "nodeType": "YulIf", - "src": "1507:36:34" - }, - { - "nodeType": "YulAssignment", - "src": "1552:73:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1595:9:34" - }, - { - "name": "offset_1", - "nodeType": "YulIdentifier", - "src": "1606:8:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1591:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1591:24:34" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "1617:7:34" - } - ], - "functionName": { - "name": "abi_decode_string_fromMemory", - "nodeType": "YulIdentifier", - "src": "1562:28:34" - }, - "nodeType": "YulFunctionCall", - "src": "1562:63:34" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "1552:6:34" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1634:38:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1657:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1668:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1653:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1653:18:34" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "1647:5:34" - }, - "nodeType": "YulFunctionCall", - "src": "1647:25:34" - }, - "variables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "1638:5:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1720:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1729:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1732:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "1722:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "1722:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "1722:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "1694:5:34" - }, - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "1705:5:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1712:4:34", - "type": "", - "value": "0xff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "1701:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1701:16:34" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "1691:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "1691:27:34" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "1684:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "1684:35:34" - }, - "nodeType": "YulIf", - "src": "1681:55:34" - }, - { - "nodeType": "YulAssignment", - "src": "1745:15:34", - "value": { - "name": "value", - "nodeType": "YulIdentifier", - "src": "1755:5:34" - }, - "variableNames": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "1745:6:34" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "1769:35:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1789:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1800:2:34", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1785:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1785:18:34" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "1779:5:34" - }, - "nodeType": "YulFunctionCall", - "src": "1779:25:34" - }, - "variableNames": [ - { - "name": "value3", - "nodeType": "YulIdentifier", - "src": "1769:6:34" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_string_memory_ptrt_string_memory_ptrt_uint8t_uint256_fromMemory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "1128:9:34", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "1139:7:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "1151:6:34", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "1159:6:34", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "1167:6:34", - "type": "" - }, - { - "name": "value3", - "nodeType": "YulTypedName", - "src": "1175:6:34", - "type": "" - } - ], - "src": "1036:774:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2028:276:34", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "2038:27:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2050:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2061:3:34", - "type": "", - "value": "160" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2046:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "2046:19:34" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "2038:4:34" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2081:9:34" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "2092:6:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2074:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "2074:25:34" - }, - "nodeType": "YulExpressionStatement", - "src": "2074:25:34" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2119:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2130:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2115:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "2115:18:34" - }, - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "2135:6:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2108:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "2108:34:34" - }, - "nodeType": "YulExpressionStatement", - "src": "2108:34:34" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2162:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2173:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2158:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "2158:18:34" - }, - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "2178:6:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2151:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "2151:34:34" - }, - "nodeType": "YulExpressionStatement", - "src": "2151:34:34" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2205:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2216:2:34", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2201:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "2201:18:34" - }, - { - "name": "value3", - "nodeType": "YulIdentifier", - "src": "2221:6:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2194:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "2194:34:34" - }, - "nodeType": "YulExpressionStatement", - "src": "2194:34:34" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2248:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2259:3:34", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2244:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "2244:19:34" - }, - { - "arguments": [ - { - "name": "value4", - "nodeType": "YulIdentifier", - "src": "2269:6:34" - }, - { - "arguments": [ - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2285:3:34", - "type": "", - "value": "160" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2290:1:34", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "2281:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "2281:11:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2294:1:34", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "2277:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "2277:19:34" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "2265:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "2265:32:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2237:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "2237:61:34" - }, - "nodeType": "YulExpressionStatement", - "src": "2237:61:34" - } - ] - }, - "name": "abi_encode_tuple_t_bytes32_t_bytes32_t_bytes32_t_uint256_t_address__to_t_bytes32_t_bytes32_t_bytes32_t_uint256_t_address__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "1965:9:34", - "type": "" - }, - { - "name": "value4", - "nodeType": "YulTypedName", - "src": "1976:6:34", - "type": "" - }, - { - "name": "value3", - "nodeType": "YulTypedName", - "src": "1984:6:34", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "1992:6:34", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "2000:6:34", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "2008:6:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "2019:4:34", - "type": "" - } - ], - "src": "1815:489:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2364:325:34", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "2374:22:34", - "value": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2388:1:34", - "type": "", - "value": "1" - }, - { - "name": "data", - "nodeType": "YulIdentifier", - "src": "2391:4:34" - } - ], - "functionName": { - "name": "shr", - "nodeType": "YulIdentifier", - "src": "2384:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "2384:12:34" - }, - "variableNames": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "2374:6:34" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "2405:38:34", - "value": { - "arguments": [ - { - "name": "data", - "nodeType": "YulIdentifier", - "src": "2435:4:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2441:1:34", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "2431:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "2431:12:34" - }, - "variables": [ - { - "name": "outOfPlaceEncoding", - "nodeType": "YulTypedName", - "src": "2409:18:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2482:31:34", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "2484:27:34", - "value": { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "2498:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2506:4:34", - "type": "", - "value": "0x7f" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "2494:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "2494:17:34" - }, - "variableNames": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "2484:6:34" - } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "outOfPlaceEncoding", - "nodeType": "YulIdentifier", - "src": "2462:18:34" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "2455:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "2455:26:34" - }, - "nodeType": "YulIf", - "src": "2452:61:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2572:111:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2593:1:34", - "type": "", - "value": "0" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2600:3:34", - "type": "", - "value": "224" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2605:10:34", - "type": "", - "value": "0x4e487b71" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "2596:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "2596:20:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2586:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "2586:31:34" - }, - "nodeType": "YulExpressionStatement", - "src": "2586:31:34" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2637:1:34", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2640:4:34", - "type": "", - "value": "0x22" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2630:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "2630:15:34" - }, - "nodeType": "YulExpressionStatement", - "src": "2630:15:34" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2665:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2668:4:34", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "2658:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "2658:15:34" - }, - "nodeType": "YulExpressionStatement", - "src": "2658:15:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "outOfPlaceEncoding", - "nodeType": "YulIdentifier", - "src": "2528:18:34" - }, - { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "2551:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2559:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "2548:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "2548:14:34" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "2525:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "2525:38:34" - }, - "nodeType": "YulIf", - "src": "2522:161:34" - } - ] - }, - "name": "extract_byte_array_length", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "data", - "nodeType": "YulTypedName", - "src": "2344:4:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "2353:6:34", - "type": "" - } - ], - "src": "2309:380:34" - } - ] - }, - "contents": "{\n { }\n function panic_error_0x41()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n function abi_decode_string_fromMemory(offset, end) -> array\n {\n if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n let _1 := mload(offset)\n let _2 := sub(shl(64, 1), 1)\n if gt(_1, _2) { panic_error_0x41() }\n let _3 := not(31)\n let memPtr := mload(64)\n let newFreePtr := add(memPtr, and(add(and(add(_1, 0x1f), _3), 63), _3))\n if or(gt(newFreePtr, _2), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n mstore(memPtr, _1)\n let _4 := 0x20\n if gt(add(add(offset, _1), _4), end) { revert(0, 0) }\n let i := 0\n for { } lt(i, _1) { i := add(i, _4) }\n {\n mstore(add(add(memPtr, i), _4), mload(add(add(offset, i), _4)))\n }\n if gt(i, _1)\n {\n mstore(add(add(memPtr, _1), _4), 0)\n }\n array := memPtr\n }\n function abi_decode_tuple_t_string_memory_ptrt_string_memory_ptrt_uint8t_uint256_fromMemory(headStart, dataEnd) -> value0, value1, value2, value3\n {\n if slt(sub(dataEnd, headStart), 128) { revert(0, 0) }\n let offset := mload(headStart)\n let _1 := sub(shl(64, 1), 1)\n if gt(offset, _1) { revert(0, 0) }\n value0 := abi_decode_string_fromMemory(add(headStart, offset), dataEnd)\n let offset_1 := mload(add(headStart, 32))\n if gt(offset_1, _1) { revert(0, 0) }\n value1 := abi_decode_string_fromMemory(add(headStart, offset_1), dataEnd)\n let value := mload(add(headStart, 64))\n if iszero(eq(value, and(value, 0xff))) { revert(0, 0) }\n value2 := value\n value3 := mload(add(headStart, 96))\n }\n function abi_encode_tuple_t_bytes32_t_bytes32_t_bytes32_t_uint256_t_address__to_t_bytes32_t_bytes32_t_bytes32_t_uint256_t_address__fromStack_reversed(headStart, value4, value3, value2, value1, value0) -> tail\n {\n tail := add(headStart, 160)\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), and(value4, sub(shl(160, 1), 1)))\n }\n function extract_byte_array_length(data) -> length\n {\n length := shr(1, data)\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}", - "id": 34, - "language": "Yul", - "name": "#utility.yul" - } - ], - "linkReferences": {}, - "object": "60e06040523480156200001157600080fd5b50604051620011b2380380620011b28339810160408190526200003491620002d9565b8384848482600390805190602001906200005092919062000166565b5081516200006690600490602085019062000166565b5060ff166080908152835160208086019190912060408051808201825260018152603160f81b9084015280517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f938101939093528201527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6606082015246918101919091523060a082015260c0019150620000fe9050565b60408051601f1981840301815290829052805160209091012060a052600680546001600160a01b0319163390811790915591506000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a360c05250620003a1915050565b828054620001749062000364565b90600052602060002090601f016020900481019282620001985760008555620001e3565b82601f10620001b357805160ff1916838001178555620001e3565b82800160010185558215620001e3579182015b82811115620001e3578251825591602001919060010190620001c6565b50620001f1929150620001f5565b5090565b5b80821115620001f15760008155600101620001f6565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200023457600080fd5b81516001600160401b03808211156200025157620002516200020c565b604051601f8301601f19908116603f011681019082821181831017156200027c576200027c6200020c565b816040528381526020925086838588010111156200029957600080fd5b600091505b83821015620002bd57858201830151818301840152908201906200029e565b83821115620002cf5760008385830101525b9695505050505050565b60008060008060808587031215620002f057600080fd5b84516001600160401b03808211156200030857600080fd5b620003168883890162000222565b955060208701519150808211156200032d57600080fd5b506200033c8782880162000222565b935050604085015160ff811681146200035457600080fd5b6060959095015193969295505050565b600181811c908216806200037957607f821691505b602082108114156200039b57634e487b7160e01b600052602260045260246000fd5b50919050565b60805160a05160c051610dd3620003df600039600081816101e4015261049e01526000818161020b0152610698015260006101ab0152610dd36000f3fe608060405234801561001057600080fd5b50600436106101365760003560e01c806370a08231116100b2578063a457c2d711610081578063d505accf11610066578063d505accf146102ee578063dd62ed3e14610301578063f2fde38b1461032c57600080fd5b8063a457c2d7146102c8578063a9059cbb146102db57600080fd5b806370a08231146102555780637ecebe00146102755780638da5cb5b1461029557806395d89b41146102c057600080fd5b8063313ce567116101095780633644e515116100ee5780633644e51514610206578063395093511461022d57806340c10f191461024057600080fd5b8063313ce567146101a6578063355274ea146101df57600080fd5b806306fdde031461013b578063095ea7b31461015957806318160ddd1461017c57806323b872dd14610193575b600080fd5b61014361033f565b6040516101509190610b5e565b60405180910390f35b61016c610167366004610bad565b6103cd565b6040519015158152602001610150565b61018560025481565b604051908152602001610150565b61016c6101a1366004610bd7565b6103e3565b6101cd7f000000000000000000000000000000000000000000000000000000000000000081565b60405160ff9091168152602001610150565b6101857f000000000000000000000000000000000000000000000000000000000000000081565b6101857f000000000000000000000000000000000000000000000000000000000000000081565b61016c61023b366004610bad565b61043a565b61025361024e366004610bad565b610471565b005b610185610263366004610c13565b60006020819052908152604090205481565b610185610283366004610c13565b60056020526000908152604090205481565b6006546102a8906001600160a01b031681565b6040516001600160a01b039091168152602001610150565b610143610512565b61016c6102d6366004610bad565b61051f565b61016c6102e9366004610bad565b610556565b6102536102fc366004610c35565b610563565b61018561030f366004610ca8565b600160209081526000928352604080842090915290825290205481565b61025361033a366004610c13565b610826565b6003805461034c90610cdb565b80601f016020809104026020016040519081016040528092919081815260200182805461037890610cdb565b80156103c55780601f1061039a576101008083540402835291602001916103c5565b820191906000526020600020905b8154815290600101906020018083116103a857829003601f168201915b505050505081565b60006103da338484610905565b50600192915050565b6001600160a01b0383166000908152600160209081526040808320338452909152812054600019811461042457610424853361041f8685610d2c565b610905565b61042f8585856109a2565b506001949350505050565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916103da91859061041f908690610d43565b6006546001600160a01b0316331461049c576040516330cd747160e01b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006104c78383610a7e565b806104d157505050565b80600254111561050d576040517fa4875a4900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050565b6004805461034c90610cdb565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916103da91859061041f908690610d2c565b60006103da3384846109a2565b8342111561059d576040517f1a15a3cc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08111156105f7576040517f40c1e74800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8260ff16601b1415801561060f57508260ff16601c14155b15610646576040517f119bce3900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080518082018252600281527f19010000000000000000000000000000000000000000000000000000000000006020808301919091526001600160a01b038a166000908152600590915291822080547f0000000000000000000000000000000000000000000000000000000000000000917f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9918c918c918c91886106ea83610d5b565b909155506040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810188905260e0016040516020818303038152906040528051906020012060405160200161074e93929190610d76565b60408051601f198184030181528282528051602091820120600080855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa1580156107b9573d6000803e3d6000fd5b505050602060405103519050886001600160a01b0316816001600160a01b031614610810576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61081b898989610905565b505050505050505050565b6006546001600160a01b03163314610851576040516330cd747160e01b815260040160405180910390fd5b6001600160a01b038116610891576040517f49e27cff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6006546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600680547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b6001600160a01b038316158061092257506001600160a01b038216155b1561094057604051630da30f6560e31b815260040160405180910390fd5b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b03831615806109bf57506001600160a01b038216155b156109dd57604051630da30f6560e31b815260040160405180910390fd5b6001600160a01b03831660009081526020819052604081208054839290610a05908490610d2c565b90915550506001600160a01b03821660009081526020819052604081208054839290610a32908490610d43565b92505081905550816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161099591815260200190565b6001600160a01b038216610aa557604051630da30f6560e31b815260040160405180910390fd5b8060026000828254610ab79190610d43565b90915550506001600160a01b03821660009081526020819052604081208054839290610ae4908490610d43565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b60005b83811015610b49578181015183820152602001610b31565b83811115610b58576000848401525b50505050565b6020815260008251806020840152610b7d816040850160208701610b2e565b601f01601f19169190910160400192915050565b80356001600160a01b0381168114610ba857600080fd5b919050565b60008060408385031215610bc057600080fd5b610bc983610b91565b946020939093013593505050565b600080600060608486031215610bec57600080fd5b610bf584610b91565b9250610c0360208501610b91565b9150604084013590509250925092565b600060208284031215610c2557600080fd5b610c2e82610b91565b9392505050565b600080600080600080600060e0888a031215610c5057600080fd5b610c5988610b91565b9650610c6760208901610b91565b95506040880135945060608801359350608088013560ff81168114610c8b57600080fd5b9699959850939692959460a0840135945060c09093013592915050565b60008060408385031215610cbb57600080fd5b610cc483610b91565b9150610cd260208401610b91565b90509250929050565b600181811c90821680610cef57607f821691505b60208210811415610d1057634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b600082821015610d3e57610d3e610d16565b500390565b60008219821115610d5657610d56610d16565b500190565b6000600019821415610d6f57610d6f610d16565b5060010190565b60008451610d88818460208901610b2e565b9190910192835250602082015260400191905056fea26469706673582212208f603e2cd0ff4a15d58524709bf891fdde8e83cbfd1b454030ec67b304ad17f364736f6c63430008090033", - "opcodes": "PUSH1 0xE0 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH3 0x11 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH3 0x11B2 CODESIZE SUB DUP1 PUSH3 0x11B2 DUP4 CODECOPY DUP2 ADD PUSH1 0x40 DUP2 SWAP1 MSTORE PUSH3 0x34 SWAP2 PUSH3 0x2D9 JUMP JUMPDEST DUP4 DUP5 DUP5 DUP5 DUP3 PUSH1 0x3 SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH3 0x50 SWAP3 SWAP2 SWAP1 PUSH3 0x166 JUMP JUMPDEST POP DUP2 MLOAD PUSH3 0x66 SWAP1 PUSH1 0x4 SWAP1 PUSH1 0x20 DUP6 ADD SWAP1 PUSH3 0x166 JUMP JUMPDEST POP PUSH1 0xFF AND PUSH1 0x80 SWAP1 DUP2 MSTORE DUP4 MLOAD PUSH1 0x20 DUP1 DUP7 ADD SWAP2 SWAP1 SWAP2 KECCAK256 PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD DUP3 MSTORE PUSH1 0x1 DUP2 MSTORE PUSH1 0x31 PUSH1 0xF8 SHL SWAP1 DUP5 ADD MSTORE DUP1 MLOAD PUSH32 0x8B73C3C69BB8FE3D512ECC4CF759CC79239F7B179B0FFACAA9A75D522B39400F SWAP4 DUP2 ADD SWAP4 SWAP1 SWAP4 MSTORE DUP3 ADD MSTORE PUSH32 0xC89EFDAA54C0F20C7ADF612882DF0950F5A951637E0307CDCB4C672F298B8BC6 PUSH1 0x60 DUP3 ADD MSTORE CHAINID SWAP2 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE ADDRESS PUSH1 0xA0 DUP3 ADD MSTORE PUSH1 0xC0 ADD SWAP2 POP PUSH3 0xFE SWAP1 POP JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F NOT DUP2 DUP5 SUB ADD DUP2 MSTORE SWAP1 DUP3 SWAP1 MSTORE DUP1 MLOAD PUSH1 0x20 SWAP1 SWAP2 ADD KECCAK256 PUSH1 0xA0 MSTORE PUSH1 0x6 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND CALLER SWAP1 DUP2 OR SWAP1 SWAP2 SSTORE SWAP2 POP PUSH1 0x0 SWAP1 PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 SWAP1 DUP3 SWAP1 LOG3 PUSH1 0xC0 MSTORE POP PUSH3 0x3A1 SWAP2 POP POP JUMP JUMPDEST DUP3 DUP1 SLOAD PUSH3 0x174 SWAP1 PUSH3 0x364 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 PUSH3 0x198 JUMPI PUSH1 0x0 DUP6 SSTORE PUSH3 0x1E3 JUMP JUMPDEST DUP3 PUSH1 0x1F LT PUSH3 0x1B3 JUMPI DUP1 MLOAD PUSH1 0xFF NOT AND DUP4 DUP1 ADD OR DUP6 SSTORE PUSH3 0x1E3 JUMP JUMPDEST DUP3 DUP1 ADD PUSH1 0x1 ADD DUP6 SSTORE DUP3 ISZERO PUSH3 0x1E3 JUMPI SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH3 0x1E3 JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH3 0x1C6 JUMP JUMPDEST POP PUSH3 0x1F1 SWAP3 SWAP2 POP PUSH3 0x1F5 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST JUMPDEST DUP1 DUP3 GT ISZERO PUSH3 0x1F1 JUMPI PUSH1 0x0 DUP2 SSTORE PUSH1 0x1 ADD PUSH3 0x1F6 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH3 0x234 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH3 0x251 JUMPI PUSH3 0x251 PUSH3 0x20C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP4 ADD PUSH1 0x1F NOT SWAP1 DUP2 AND PUSH1 0x3F ADD AND DUP2 ADD SWAP1 DUP3 DUP3 GT DUP2 DUP4 LT OR ISZERO PUSH3 0x27C JUMPI PUSH3 0x27C PUSH3 0x20C JUMP JUMPDEST DUP2 PUSH1 0x40 MSTORE DUP4 DUP2 MSTORE PUSH1 0x20 SWAP3 POP DUP7 DUP4 DUP6 DUP9 ADD ADD GT ISZERO PUSH3 0x299 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 SWAP2 POP JUMPDEST DUP4 DUP3 LT ISZERO PUSH3 0x2BD JUMPI DUP6 DUP3 ADD DUP4 ADD MLOAD DUP2 DUP4 ADD DUP5 ADD MSTORE SWAP1 DUP3 ADD SWAP1 PUSH3 0x29E JUMP JUMPDEST DUP4 DUP3 GT ISZERO PUSH3 0x2CF JUMPI PUSH1 0x0 DUP4 DUP6 DUP4 ADD ADD MSTORE JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH3 0x2F0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP5 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH3 0x308 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH3 0x316 DUP9 DUP4 DUP10 ADD PUSH3 0x222 JUMP JUMPDEST SWAP6 POP PUSH1 0x20 DUP8 ADD MLOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH3 0x32D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH3 0x33C DUP8 DUP3 DUP9 ADD PUSH3 0x222 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x40 DUP6 ADD MLOAD PUSH1 0xFF DUP2 AND DUP2 EQ PUSH3 0x354 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x60 SWAP6 SWAP1 SWAP6 ADD MLOAD SWAP4 SWAP7 SWAP3 SWAP6 POP POP POP JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH3 0x379 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH3 0x39B 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 PUSH1 0x80 MLOAD PUSH1 0xA0 MLOAD PUSH1 0xC0 MLOAD PUSH2 0xDD3 PUSH3 0x3DF PUSH1 0x0 CODECOPY PUSH1 0x0 DUP2 DUP2 PUSH2 0x1E4 ADD MSTORE PUSH2 0x49E ADD MSTORE PUSH1 0x0 DUP2 DUP2 PUSH2 0x20B ADD MSTORE PUSH2 0x698 ADD MSTORE PUSH1 0x0 PUSH2 0x1AB ADD MSTORE PUSH2 0xDD3 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 0x136 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x70A08231 GT PUSH2 0xB2 JUMPI DUP1 PUSH4 0xA457C2D7 GT PUSH2 0x81 JUMPI DUP1 PUSH4 0xD505ACCF GT PUSH2 0x66 JUMPI DUP1 PUSH4 0xD505ACCF EQ PUSH2 0x2EE JUMPI DUP1 PUSH4 0xDD62ED3E EQ PUSH2 0x301 JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0x32C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0xA457C2D7 EQ PUSH2 0x2C8 JUMPI DUP1 PUSH4 0xA9059CBB EQ PUSH2 0x2DB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x70A08231 EQ PUSH2 0x255 JUMPI DUP1 PUSH4 0x7ECEBE00 EQ PUSH2 0x275 JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x295 JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x2C0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x313CE567 GT PUSH2 0x109 JUMPI DUP1 PUSH4 0x3644E515 GT PUSH2 0xEE JUMPI DUP1 PUSH4 0x3644E515 EQ PUSH2 0x206 JUMPI DUP1 PUSH4 0x39509351 EQ PUSH2 0x22D JUMPI DUP1 PUSH4 0x40C10F19 EQ PUSH2 0x240 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x313CE567 EQ PUSH2 0x1A6 JUMPI DUP1 PUSH4 0x355274EA EQ PUSH2 0x1DF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0x13B JUMPI DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0x159 JUMPI DUP1 PUSH4 0x18160DDD EQ PUSH2 0x17C JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x193 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x143 PUSH2 0x33F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x150 SWAP2 SWAP1 PUSH2 0xB5E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x16C PUSH2 0x167 CALLDATASIZE PUSH1 0x4 PUSH2 0xBAD JUMP JUMPDEST PUSH2 0x3CD JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x150 JUMP JUMPDEST PUSH2 0x185 PUSH1 0x2 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x150 JUMP JUMPDEST PUSH2 0x16C PUSH2 0x1A1 CALLDATASIZE PUSH1 0x4 PUSH2 0xBD7 JUMP JUMPDEST PUSH2 0x3E3 JUMP JUMPDEST PUSH2 0x1CD PUSH32 0x0 DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0xFF SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x150 JUMP JUMPDEST PUSH2 0x185 PUSH32 0x0 DUP2 JUMP JUMPDEST PUSH2 0x185 PUSH32 0x0 DUP2 JUMP JUMPDEST PUSH2 0x16C PUSH2 0x23B CALLDATASIZE PUSH1 0x4 PUSH2 0xBAD JUMP JUMPDEST PUSH2 0x43A JUMP JUMPDEST PUSH2 0x253 PUSH2 0x24E CALLDATASIZE PUSH1 0x4 PUSH2 0xBAD JUMP JUMPDEST PUSH2 0x471 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x185 PUSH2 0x263 CALLDATASIZE PUSH1 0x4 PUSH2 0xC13 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP2 SWAP1 MSTORE SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD DUP2 JUMP JUMPDEST PUSH2 0x185 PUSH2 0x283 CALLDATASIZE PUSH1 0x4 PUSH2 0xC13 JUMP JUMPDEST PUSH1 0x5 PUSH1 0x20 MSTORE PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x6 SLOAD PUSH2 0x2A8 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x150 JUMP JUMPDEST PUSH2 0x143 PUSH2 0x512 JUMP JUMPDEST PUSH2 0x16C PUSH2 0x2D6 CALLDATASIZE PUSH1 0x4 PUSH2 0xBAD JUMP JUMPDEST PUSH2 0x51F JUMP JUMPDEST PUSH2 0x16C PUSH2 0x2E9 CALLDATASIZE PUSH1 0x4 PUSH2 0xBAD JUMP JUMPDEST PUSH2 0x556 JUMP JUMPDEST PUSH2 0x253 PUSH2 0x2FC CALLDATASIZE PUSH1 0x4 PUSH2 0xC35 JUMP JUMPDEST PUSH2 0x563 JUMP JUMPDEST PUSH2 0x185 PUSH2 0x30F CALLDATASIZE PUSH1 0x4 PUSH2 0xCA8 JUMP JUMPDEST PUSH1 0x1 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 0x253 PUSH2 0x33A CALLDATASIZE PUSH1 0x4 PUSH2 0xC13 JUMP JUMPDEST PUSH2 0x826 JUMP JUMPDEST PUSH1 0x3 DUP1 SLOAD PUSH2 0x34C SWAP1 PUSH2 0xCDB 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 0x378 SWAP1 PUSH2 0xCDB JUMP JUMPDEST DUP1 ISZERO PUSH2 0x3C5 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x39A JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x3C5 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 0x3A8 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3DA CALLER DUP5 DUP5 PUSH2 0x905 JUMP JUMPDEST POP PUSH1 0x1 SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 CALLER DUP5 MSTORE SWAP1 SWAP2 MSTORE DUP2 KECCAK256 SLOAD PUSH1 0x0 NOT DUP2 EQ PUSH2 0x424 JUMPI PUSH2 0x424 DUP6 CALLER PUSH2 0x41F DUP7 DUP6 PUSH2 0xD2C JUMP JUMPDEST PUSH2 0x905 JUMP JUMPDEST PUSH2 0x42F DUP6 DUP6 DUP6 PUSH2 0x9A2 JUMP JUMPDEST POP PUSH1 0x1 SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST CALLER PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE DUP2 KECCAK256 SLOAD SWAP1 SWAP2 PUSH2 0x3DA SWAP2 DUP6 SWAP1 PUSH2 0x41F SWAP1 DUP7 SWAP1 PUSH2 0xD43 JUMP JUMPDEST PUSH1 0x6 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x49C JUMPI PUSH1 0x40 MLOAD PUSH4 0x30CD7471 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH32 0x0 PUSH2 0x4C7 DUP4 DUP4 PUSH2 0xA7E JUMP JUMPDEST DUP1 PUSH2 0x4D1 JUMPI POP POP POP JUMP JUMPDEST DUP1 PUSH1 0x2 SLOAD GT ISZERO PUSH2 0x50D JUMPI PUSH1 0x40 MLOAD PUSH32 0xA4875A4900000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x4 DUP1 SLOAD PUSH2 0x34C SWAP1 PUSH2 0xCDB JUMP JUMPDEST CALLER PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE DUP2 KECCAK256 SLOAD SWAP1 SWAP2 PUSH2 0x3DA SWAP2 DUP6 SWAP1 PUSH2 0x41F SWAP1 DUP7 SWAP1 PUSH2 0xD2C JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3DA CALLER DUP5 DUP5 PUSH2 0x9A2 JUMP JUMPDEST DUP4 TIMESTAMP GT ISZERO PUSH2 0x59D JUMPI PUSH1 0x40 MLOAD PUSH32 0x1A15A3CC00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH32 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5D576E7357A4501DDFE92F46681B20A0 DUP2 GT ISZERO PUSH2 0x5F7 JUMPI PUSH1 0x40 MLOAD PUSH32 0x40C1E74800000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP3 PUSH1 0xFF AND PUSH1 0x1B EQ ISZERO DUP1 ISZERO PUSH2 0x60F JUMPI POP DUP3 PUSH1 0xFF AND PUSH1 0x1C EQ ISZERO JUMPDEST ISZERO PUSH2 0x646 JUMPI PUSH1 0x40 MLOAD PUSH32 0x119BCE3900000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD DUP3 MSTORE PUSH1 0x2 DUP2 MSTORE PUSH32 0x1901000000000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP1 DUP4 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP11 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x5 SWAP1 SWAP2 MSTORE SWAP2 DUP3 KECCAK256 DUP1 SLOAD PUSH32 0x0 SWAP2 PUSH32 0x6E71EDAE12B1B97F4D1F60370FEF10105FA2FAAE0126114A169C64845D6126C9 SWAP2 DUP13 SWAP2 DUP13 SWAP2 DUP13 SWAP2 DUP9 PUSH2 0x6EA DUP4 PUSH2 0xD5B JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 DUP2 ADD SWAP7 SWAP1 SWAP7 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP5 DUP6 AND SWAP1 DUP7 ADD MSTORE SWAP3 SWAP1 SWAP2 AND PUSH1 0x60 DUP5 ADD MSTORE PUSH1 0x80 DUP4 ADD MSTORE PUSH1 0xA0 DUP3 ADD MSTORE PUSH1 0xC0 DUP2 ADD DUP9 SWAP1 MSTORE PUSH1 0xE0 ADD 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 PUSH1 0x20 ADD PUSH2 0x74E SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0xD76 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F NOT DUP2 DUP5 SUB ADD DUP2 MSTORE DUP3 DUP3 MSTORE DUP1 MLOAD PUSH1 0x20 SWAP2 DUP3 ADD KECCAK256 PUSH1 0x0 DUP1 DUP6 MSTORE SWAP2 DUP5 ADD DUP1 DUP5 MSTORE DUP2 SWAP1 MSTORE PUSH1 0xFF DUP9 AND SWAP3 DUP5 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x60 DUP4 ADD DUP7 SWAP1 MSTORE PUSH1 0x80 DUP4 ADD DUP6 SWAP1 MSTORE SWAP1 SWAP3 POP SWAP1 PUSH1 0x1 SWAP1 PUSH1 0xA0 ADD PUSH1 0x20 PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 SUB SWAP1 DUP1 DUP5 SUB SWAP1 DUP6 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x7B9 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP PUSH1 0x20 PUSH1 0x40 MLOAD SUB MLOAD SWAP1 POP DUP9 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x810 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8BAA579F00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x81B DUP10 DUP10 DUP10 PUSH2 0x905 JUMP JUMPDEST POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x6 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x851 JUMPI PUSH1 0x40 MLOAD PUSH4 0x30CD7471 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x891 JUMPI PUSH1 0x40 MLOAD PUSH32 0x49E27CFF00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x6 SLOAD PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP5 AND SWAP3 AND SWAP1 PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 SWAP1 PUSH1 0x0 SWAP1 LOG3 PUSH1 0x6 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 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND ISZERO DUP1 PUSH2 0x922 JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND ISZERO JUMPDEST ISZERO PUSH2 0x940 JUMPI PUSH1 0x40 MLOAD PUSH4 0xDA30F65 PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 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 DUP3 MSTORE SWAP2 DUP3 SWAP1 KECCAK256 DUP6 SWAP1 SSTORE SWAP1 MLOAD DUP5 DUP2 MSTORE PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 SWAP2 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND ISZERO DUP1 PUSH2 0x9BF JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND ISZERO JUMPDEST ISZERO PUSH2 0x9DD JUMPI PUSH1 0x40 MLOAD PUSH4 0xDA30F65 PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD DUP4 SWAP3 SWAP1 PUSH2 0xA05 SWAP1 DUP5 SWAP1 PUSH2 0xD2C 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 0xA32 SWAP1 DUP5 SWAP1 PUSH2 0xD43 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF DUP4 PUSH1 0x40 MLOAD PUSH2 0x995 SWAP2 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0xAA5 JUMPI PUSH1 0x40 MLOAD PUSH4 0xDA30F65 PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0x2 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0xAB7 SWAP2 SWAP1 PUSH2 0xD43 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 0xAE4 SWAP1 DUP5 SWAP1 PUSH2 0xD43 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x40 MLOAD DUP2 DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 PUSH1 0x0 SWAP1 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0xB49 JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0xB31 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0xB58 JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 DUP3 MLOAD DUP1 PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0xB7D DUP2 PUSH1 0x40 DUP6 ADD PUSH1 0x20 DUP8 ADD PUSH2 0xB2E JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP2 SWAP1 SWAP2 ADD PUSH1 0x40 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0xBA8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xBC0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xBC9 DUP4 PUSH2 0xB91 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 0xBEC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xBF5 DUP5 PUSH2 0xB91 JUMP JUMPDEST SWAP3 POP PUSH2 0xC03 PUSH1 0x20 DUP6 ADD PUSH2 0xB91 JUMP JUMPDEST SWAP2 POP PUSH1 0x40 DUP5 ADD CALLDATALOAD SWAP1 POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xC25 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xC2E DUP3 PUSH2 0xB91 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xE0 DUP9 DUP11 SUB SLT ISZERO PUSH2 0xC50 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xC59 DUP9 PUSH2 0xB91 JUMP JUMPDEST SWAP7 POP PUSH2 0xC67 PUSH1 0x20 DUP10 ADD PUSH2 0xB91 JUMP JUMPDEST SWAP6 POP PUSH1 0x40 DUP9 ADD CALLDATALOAD SWAP5 POP PUSH1 0x60 DUP9 ADD CALLDATALOAD SWAP4 POP PUSH1 0x80 DUP9 ADD CALLDATALOAD PUSH1 0xFF DUP2 AND DUP2 EQ PUSH2 0xC8B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP7 SWAP10 SWAP6 SWAP9 POP SWAP4 SWAP7 SWAP3 SWAP6 SWAP5 PUSH1 0xA0 DUP5 ADD CALLDATALOAD SWAP5 POP PUSH1 0xC0 SWAP1 SWAP4 ADD CALLDATALOAD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xCBB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xCC4 DUP4 PUSH2 0xB91 JUMP JUMPDEST SWAP2 POP PUSH2 0xCD2 PUSH1 0x20 DUP5 ADD PUSH2 0xB91 JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0xCEF JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH2 0xD10 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 PUSH1 0x0 DUP3 DUP3 LT ISZERO PUSH2 0xD3E JUMPI PUSH2 0xD3E PUSH2 0xD16 JUMP JUMPDEST POP SUB SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 NOT DUP3 GT ISZERO PUSH2 0xD56 JUMPI PUSH2 0xD56 PUSH2 0xD16 JUMP JUMPDEST POP ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x0 NOT DUP3 EQ ISZERO PUSH2 0xD6F JUMPI PUSH2 0xD6F PUSH2 0xD16 JUMP JUMPDEST POP PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP5 MLOAD PUSH2 0xD88 DUP2 DUP5 PUSH1 0x20 DUP10 ADD PUSH2 0xB2E JUMP JUMPDEST SWAP2 SWAP1 SWAP2 ADD SWAP3 DUP4 MSTORE POP PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 ADD SWAP2 SWAP1 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 DUP16 PUSH1 0x3E 0x2C 0xD0 SELFDESTRUCT 0x4A ISZERO 0xD5 DUP6 0x24 PUSH17 0x9BF891FDDE8E83CBFD1B454030EC67B304 0xAD OR RETURN PUSH5 0x736F6C6343 STOP ADDMOD MULMOD STOP CALLER ", - "sourceMap": "264:579:10:-:0;;;387:215;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;555:4;519;525:6;533:8;1775:5:7;1768:4;:12;;;;;;;;;;;;:::i;:::-;-1:-1:-1;1790:16:7;;;;:6;;:16;;;;;:::i;:::-;-1:-1:-1;1816:20:7;;;;;;1153:22:8;;;;;;;;;;1187:10;;;;;;;;;;;-1:-1:-1;;;1187:10:8;;;;1114:115;;674:66;1114:115;;;2074:25:34;;;;2115:18;;2108:34;1177:21:8;2158:18:34;;;2151:34;1200:13:8;2201:18:34;;;2194:34;;;;1223:4:8;2244:19:34;;;2237:61;2046:19;;;-1:-1:-1;1114:115:8;;-1:-1:-1;1815:489:34;1114:115:8;;;;-1:-1:-1;;1114:115:8;;;;;;;;;;1091:148;;1114:115;1091:148;;;;1072:167;;207:5:11;:18;;-1:-1:-1;;;;;;207:18:11;215:10;207:18;;;;;;215:10;-1:-1:-1;207:5:11;;240:44;;207:5;;240:44;581:14:10::3;::::0;-1:-1:-1;264:579:10;;-1:-1:-1;;264:579:10;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;264:579:10;;;-1:-1:-1;264:579:10;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;14:127:34;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:885;200:5;253:3;246:4;238:6;234:17;230:27;220:55;;271:1;268;261:12;220:55;294:13;;-1:-1:-1;;;;;356:10:34;;;353:36;;;369:18;;:::i;:::-;444:2;438:9;412:2;498:13;;-1:-1:-1;;494:22:34;;;518:2;490:31;486:40;474:53;;;542:18;;;562:22;;;539:46;536:72;;;588:18;;:::i;:::-;628:10;624:2;617:22;663:2;655:6;648:18;685:4;675:14;;730:3;725:2;720;712:6;708:15;704:24;701:33;698:53;;;747:1;744;737:12;698:53;769:1;760:10;;779:133;793:2;790:1;787:9;779:133;;;881:14;;;877:23;;871:30;850:14;;;846:23;;839:63;804:10;;;;779:133;;;930:2;927:1;924:9;921:80;;;989:1;984:2;979;971:6;967:15;963:24;956:35;921:80;1019:6;146:885;-1:-1:-1;;;;;;146:885:34:o;1036:774::-;1151:6;1159;1167;1175;1228:3;1216:9;1207:7;1203:23;1199:33;1196:53;;;1245:1;1242;1235:12;1196:53;1272:16;;-1:-1:-1;;;;;1337:14:34;;;1334:34;;;1364:1;1361;1354:12;1334:34;1387:61;1440:7;1431:6;1420:9;1416:22;1387:61;:::i;:::-;1377:71;;1494:2;1483:9;1479:18;1473:25;1457:41;;1523:2;1513:8;1510:16;1507:36;;;1539:1;1536;1529:12;1507:36;;1562:63;1617:7;1606:8;1595:9;1591:24;1562:63;:::i;:::-;1552:73;;;1668:2;1657:9;1653:18;1647:25;1712:4;1705:5;1701:16;1694:5;1691:27;1681:55;;1732:1;1729;1722:12;1681:55;1800:2;1785:18;;;;1779:25;1036:774;;;;-1:-1:-1;;;1036:774:34:o;2309:380::-;2388:1;2384:12;;;;2431;;;2452:61;;2506:4;2498:6;2494:17;2484:27;;2452:61;2559:2;2551:6;2548:14;2528:18;2525:38;2522:161;;;2605:10;2600:3;2596:20;2593:1;2586:31;2640:4;2637:1;2630:15;2668:4;2665:1;2658:15;2522:161;;2309:380;;;:::o;:::-;264:579:10;;;;;;;;;;;;;;;;;;" - }, - "deployedBytecode": { - "functionDebugData": { - "@DOMAIN_SEPARATOR_3898": { - "entryPoint": null, - "id": 3898, - "parameterSlots": 0, - "returnSlots": 0 - }, - "@_approve_3862": { - "entryPoint": 2309, - "id": 3862, - "parameterSlots": 3, - "returnSlots": 0 - }, - "@_beforeTokenTransfer_3873": { - "entryPoint": null, - "id": 3873, - "parameterSlots": 3, - "returnSlots": 0 - }, - "@_mint_3773": { - "entryPoint": 2686, - "id": 3773, - "parameterSlots": 2, - "returnSlots": 0 - }, - "@_transfer_3726": { - "entryPoint": 2466, - "id": 3726, - "parameterSlots": 3, - "returnSlots": 0 - }, - "@allowance_3497": { - "entryPoint": null, - "id": 3497, - "parameterSlots": 0, - "returnSlots": 0 - }, - "@approve_3571": { - "entryPoint": 973, - "id": 3571, - "parameterSlots": 2, - "returnSlots": 1 - }, - "@balanceOf_3490": { - "entryPoint": null, - "id": 3490, - "parameterSlots": 0, - "returnSlots": 0 - }, - "@cap_4314": { - "entryPoint": null, - "id": 4314, - "parameterSlots": 0, - "returnSlots": 0 - }, - "@decimals_3506": { - "entryPoint": null, - "id": 3506, - "parameterSlots": 0, - "returnSlots": 0 - }, - "@decreaseAllowance_3674": { - "entryPoint": 1311, - "id": 3674, - "parameterSlots": 2, - "returnSlots": 1 - }, - "@increaseAllowance_3647": { - "entryPoint": 1082, - "id": 3647, - "parameterSlots": 2, - "returnSlots": 1 - }, - "@mint_4371": { - "entryPoint": 1137, - "id": 4371, - "parameterSlots": 2, - "returnSlots": 0 - }, - "@name_3502": { - "entryPoint": 831, - "id": 3502, - "parameterSlots": 0, - "returnSlots": 0 - }, - "@nonces_3917": { - "entryPoint": null, - "id": 3917, - "parameterSlots": 0, - "returnSlots": 0 - }, - "@owner_4380": { - "entryPoint": null, - "id": 4380, - "parameterSlots": 0, - "returnSlots": 0 - }, - "@permit_4043": { - "entryPoint": 1379, - "id": 4043, - "parameterSlots": 7, - "returnSlots": 0 - }, - "@symbol_3504": { - "entryPoint": 1298, - "id": 3504, - "parameterSlots": 0, - "returnSlots": 0 - }, - "@totalSupply_3500": { - "entryPoint": null, - "id": 3500, - "parameterSlots": 0, - "returnSlots": 0 - }, - "@transferFrom_3620": { - "entryPoint": 995, - "id": 3620, - "parameterSlots": 3, - "returnSlots": 1 - }, - "@transferOwnership_4437": { - "entryPoint": 2086, - "id": 4437, - "parameterSlots": 1, - "returnSlots": 0 - }, - "@transfer_3550": { - "entryPoint": 1366, - "id": 3550, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_decode_address": { - "entryPoint": 2961, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "abi_decode_tuple_t_address": { - "entryPoint": 3091, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_decode_tuple_t_addresst_address": { - "entryPoint": 3240, - "id": null, - "parameterSlots": 2, - "returnSlots": 2 - }, - "abi_decode_tuple_t_addresst_addresst_uint256": { - "entryPoint": 3031, - "id": null, - "parameterSlots": 2, - "returnSlots": 3 - }, - "abi_decode_tuple_t_addresst_addresst_uint256t_uint256t_uint8t_bytes32t_bytes32": { - "entryPoint": 3125, - "id": null, - "parameterSlots": 2, - "returnSlots": 7 - }, - "abi_decode_tuple_t_addresst_uint256": { - "entryPoint": 2989, - "id": null, - "parameterSlots": 2, - "returnSlots": 2 - }, - "abi_encode_tuple_packed_t_string_memory_ptr_t_bytes32_t_bytes32__to_t_string_memory_ptr_t_bytes32_t_bytes32__nonPadded_inplace_fromStack_reversed": { - "entryPoint": 3446, - "id": null, - "parameterSlots": 4, - "returnSlots": 1 - }, - "abi_encode_tuple_t_address__to_t_address__fromStack_reversed": { - "entryPoint": null, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed": { - "entryPoint": null, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed": { - "entryPoint": null, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_encode_tuple_t_bytes32_t_address_t_address_t_uint256_t_uint256_t_uint256__to_t_bytes32_t_address_t_address_t_uint256_t_uint256_t_uint256__fromStack_reversed": { - "entryPoint": null, - "id": null, - "parameterSlots": 7, - "returnSlots": 1 - }, - "abi_encode_tuple_t_bytes32_t_uint8_t_bytes32_t_bytes32__to_t_bytes32_t_uint8_t_bytes32_t_bytes32__fromStack_reversed": { - "entryPoint": null, - "id": null, - "parameterSlots": 5, - "returnSlots": 1 - }, - "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed": { - "entryPoint": 2910, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": { - "entryPoint": null, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_encode_tuple_t_uint8__to_t_uint8__fromStack_reversed": { - "entryPoint": null, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "checked_add_t_uint256": { - "entryPoint": 3395, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "checked_sub_t_uint256": { - "entryPoint": 3372, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "copy_memory_to_memory": { - "entryPoint": 2862, - "id": null, - "parameterSlots": 3, - "returnSlots": 0 - }, - "extract_byte_array_length": { - "entryPoint": 3291, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "increment_t_uint256": { - "entryPoint": 3419, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "panic_error_0x11": { - "entryPoint": 3350, - "id": null, - "parameterSlots": 0, - "returnSlots": 0 - } - }, - "generatedSources": [ - { - "ast": { - "nodeType": "YulBlock", - "src": "0:6085:34", - "statements": [ - { - "nodeType": "YulBlock", - "src": "6:3:34", - "statements": [] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "67:205:34", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "77:10:34", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "86:1:34", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "i", - "nodeType": "YulTypedName", - "src": "81:1:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "146:63:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "171:3:34" - }, - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "176:1:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "167:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "167:11:34" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "190:3:34" - }, - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "195:1:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "186:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "186:11:34" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "180:5:34" - }, - "nodeType": "YulFunctionCall", - "src": "180:18:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "160:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "160:39:34" - }, - "nodeType": "YulExpressionStatement", - "src": "160:39:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "107:1:34" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "110:6:34" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "104:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "104:13:34" - }, - "nodeType": "YulForLoop", - "post": { - "nodeType": "YulBlock", - "src": "118:19:34", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "120:15:34", - "value": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "129:1:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "132:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "125:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "125:10:34" - }, - "variableNames": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "120:1:34" - } - ] - } - ] - }, - "pre": { - "nodeType": "YulBlock", - "src": "100:3:34", - "statements": [] - }, - "src": "96:113:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "235:31:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "248:3:34" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "253:6:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "244:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "244:16:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "262:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "237:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "237:27:34" - }, - "nodeType": "YulExpressionStatement", - "src": "237:27:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "224:1:34" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "227:6:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "221:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "221:13:34" - }, - "nodeType": "YulIf", - "src": "218:48:34" - } - ] - }, - "name": "copy_memory_to_memory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "src", - "nodeType": "YulTypedName", - "src": "45:3:34", - "type": "" - }, - { - "name": "dst", - "nodeType": "YulTypedName", - "src": "50:3:34", - "type": "" - }, - { - "name": "length", - "nodeType": "YulTypedName", - "src": "55:6:34", - "type": "" - } - ], - "src": "14:258:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "398:262:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "415:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "426:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "408:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "408:21:34" - }, - "nodeType": "YulExpressionStatement", - "src": "408:21:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "438:27:34", - "value": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "458:6:34" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "452:5:34" - }, - "nodeType": "YulFunctionCall", - "src": "452:13:34" - }, - "variables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "442:6:34", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "485:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "496:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "481:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "481:18:34" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "501:6:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "474:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "474:34:34" - }, - "nodeType": "YulExpressionStatement", - "src": "474:34:34" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "543:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "551:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "539:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "539:15:34" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "560:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "571:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "556:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "556:18:34" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "576:6:34" - } - ], - "functionName": { - "name": "copy_memory_to_memory", - "nodeType": "YulIdentifier", - "src": "517:21:34" - }, - "nodeType": "YulFunctionCall", - "src": "517:66:34" - }, - "nodeType": "YulExpressionStatement", - "src": "517:66:34" - }, - { - "nodeType": "YulAssignment", - "src": "592:62:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "608:9:34" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "627:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "635:2:34", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "623:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "623:15:34" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "644:2:34", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "640:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "640:7:34" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "619:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "619:29:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "604:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "604:45:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "651:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "600:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "600:54:34" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "592:4:34" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "367:9:34", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "378:6:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "389:4:34", - "type": "" - } - ], - "src": "277:383:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "714:147:34", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "724:29:34", - "value": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "746:6:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "733:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "733:20:34" - }, - "variableNames": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "724:5:34" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "839:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "848:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "851:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "841:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "841:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "841:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "775:5:34" - }, - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "786:5:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "793:42:34", - "type": "", - "value": "0xffffffffffffffffffffffffffffffffffffffff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "782:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "782:54:34" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "772:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "772:65:34" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "765:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "765:73:34" - }, - "nodeType": "YulIf", - "src": "762:93:34" - } - ] - }, - "name": "abi_decode_address", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "693:6:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "704:5:34", - "type": "" - } - ], - "src": "665:196:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "953:167:34", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "999:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1008:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1011:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "1001:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "1001:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "1001:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "974:7:34" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "983:9:34" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "970:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "970:23:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "995:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "966:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "966:32:34" - }, - "nodeType": "YulIf", - "src": "963:52:34" - }, - { - "nodeType": "YulAssignment", - "src": "1024:39:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1053:9:34" - } - ], - "functionName": { - "name": "abi_decode_address", - "nodeType": "YulIdentifier", - "src": "1034:18:34" - }, - "nodeType": "YulFunctionCall", - "src": "1034:29:34" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1024:6:34" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "1072:42:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1099:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1110:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1095:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1095:18:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "1082:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "1082:32:34" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "1072:6:34" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_addresst_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "911:9:34", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "922:7:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "934:6:34", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "942:6:34", - "type": "" - } - ], - "src": "866:254:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1220:92:34", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "1230:26:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1242:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1253:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1238:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1238:18:34" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "1230:4:34" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1272:9:34" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1297:6:34" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "1290:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "1290:14:34" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "1283:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "1283:22:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1265:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "1265:41:34" - }, - "nodeType": "YulExpressionStatement", - "src": "1265:41:34" - } - ] - }, - "name": "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "1189:9:34", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "1200:6:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "1211:4:34", - "type": "" - } - ], - "src": "1125:187:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1418:76:34", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "1428:26:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1440:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1451:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1436:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1436:18:34" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "1428:4:34" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1470:9:34" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1481:6:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1463:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "1463:25:34" - }, - "nodeType": "YulExpressionStatement", - "src": "1463:25:34" - } - ] - }, - "name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "1387:9:34", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "1398:6:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "1409:4:34", - "type": "" - } - ], - "src": "1317:177:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1603:224:34", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "1649:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1658:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1661:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "1651:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "1651:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "1651:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "1624:7:34" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1633:9:34" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "1620:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1620:23:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1645:2:34", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "1616:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1616:32:34" - }, - "nodeType": "YulIf", - "src": "1613:52:34" - }, - { - "nodeType": "YulAssignment", - "src": "1674:39:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1703:9:34" - } - ], - "functionName": { - "name": "abi_decode_address", - "nodeType": "YulIdentifier", - "src": "1684:18:34" - }, - "nodeType": "YulFunctionCall", - "src": "1684:29:34" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1674:6:34" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "1722:48:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1755:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1766:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1751:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1751:18:34" - } - ], - "functionName": { - "name": "abi_decode_address", - "nodeType": "YulIdentifier", - "src": "1732:18:34" - }, - "nodeType": "YulFunctionCall", - "src": "1732:38:34" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "1722:6:34" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "1779:42:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1806:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1817:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1802:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1802:18:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "1789:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "1789:32:34" - }, - "variableNames": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "1779:6:34" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_addresst_addresst_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "1553:9:34", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "1564:7:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "1576:6:34", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "1584:6:34", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "1592:6:34", - "type": "" - } - ], - "src": "1499:328:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1929:87:34", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "1939:26:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1951:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1962:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1947:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1947:18:34" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "1939:4:34" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1981:9:34" - }, - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1996:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2004:4:34", - "type": "", - "value": "0xff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "1992:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1992:17:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1974:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "1974:36:34" - }, - "nodeType": "YulExpressionStatement", - "src": "1974:36:34" - } - ] - }, - "name": "abi_encode_tuple_t_uint8__to_t_uint8__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "1898:9:34", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "1909:6:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "1920:4:34", - "type": "" - } - ], - "src": "1832:184:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2122:76:34", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "2132:26:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2144:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2155:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2140:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "2140:18:34" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "2132:4:34" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2174:9:34" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "2185:6:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2167:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "2167:25:34" - }, - "nodeType": "YulExpressionStatement", - "src": "2167:25:34" - } - ] - }, - "name": "abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "2091:9:34", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "2102:6:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "2113:4:34", - "type": "" - } - ], - "src": "2021:177:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2273:116:34", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "2319:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2328:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2331:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "2321:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "2321:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "2321:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "2294:7:34" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2303:9:34" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "2290:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "2290:23:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2315:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "2286:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "2286:32:34" - }, - "nodeType": "YulIf", - "src": "2283:52:34" - }, - { - "nodeType": "YulAssignment", - "src": "2344:39:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2373:9:34" - } - ], - "functionName": { - "name": "abi_decode_address", - "nodeType": "YulIdentifier", - "src": "2354:18:34" - }, - "nodeType": "YulFunctionCall", - "src": "2354:29:34" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "2344:6:34" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_address", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "2239:9:34", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "2250:7:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "2262:6:34", - "type": "" - } - ], - "src": "2203:186:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2495:125:34", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "2505:26:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2517:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2528:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2513:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "2513:18:34" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "2505:4:34" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2547:9:34" - }, - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "2562:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2570:42:34", - "type": "", - "value": "0xffffffffffffffffffffffffffffffffffffffff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "2558:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "2558:55:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2540:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "2540:74:34" - }, - "nodeType": "YulExpressionStatement", - "src": "2540:74:34" - } - ] - }, - "name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "2464:9:34", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "2475:6:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "2486:4:34", - "type": "" - } - ], - "src": "2394:226:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2795:523:34", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "2842:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2851:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2854:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "2844:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "2844:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "2844:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "2816:7:34" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2825:9:34" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "2812:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "2812:23:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2837:3:34", - "type": "", - "value": "224" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "2808:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "2808:33:34" - }, - "nodeType": "YulIf", - "src": "2805:53:34" - }, - { - "nodeType": "YulAssignment", - "src": "2867:39:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2896:9:34" - } - ], - "functionName": { - "name": "abi_decode_address", - "nodeType": "YulIdentifier", - "src": "2877:18:34" - }, - "nodeType": "YulFunctionCall", - "src": "2877:29:34" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "2867:6:34" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "2915:48:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2948:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2959:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2944:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "2944:18:34" - } - ], - "functionName": { - "name": "abi_decode_address", - "nodeType": "YulIdentifier", - "src": "2925:18:34" - }, - "nodeType": "YulFunctionCall", - "src": "2925:38:34" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "2915:6:34" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "2972:42:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2999:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3010:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2995:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "2995:18:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "2982:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "2982:32:34" - }, - "variableNames": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "2972:6:34" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "3023:42:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3050:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3061:2:34", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3046:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "3046:18:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "3033:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "3033:32:34" - }, - "variableNames": [ - { - "name": "value3", - "nodeType": "YulIdentifier", - "src": "3023:6:34" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "3074:46:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3104:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3115:3:34", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3100:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "3100:19:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "3087:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "3087:33:34" - }, - "variables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "3078:5:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3168:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3177:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3180:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "3170:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "3170:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "3170:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "3142:5:34" - }, - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "3153:5:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3160:4:34", - "type": "", - "value": "0xff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "3149:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "3149:16:34" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "3139:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "3139:27:34" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "3132:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "3132:35:34" - }, - "nodeType": "YulIf", - "src": "3129:55:34" - }, - { - "nodeType": "YulAssignment", - "src": "3193:15:34", - "value": { - "name": "value", - "nodeType": "YulIdentifier", - "src": "3203:5:34" - }, - "variableNames": [ - { - "name": "value4", - "nodeType": "YulIdentifier", - "src": "3193:6:34" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "3217:43:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3244:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3255:3:34", - "type": "", - "value": "160" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3240:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "3240:19:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "3227:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "3227:33:34" - }, - "variableNames": [ - { - "name": "value5", - "nodeType": "YulIdentifier", - "src": "3217:6:34" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "3269:43:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3296:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3307:3:34", - "type": "", - "value": "192" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3292:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "3292:19:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "3279:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "3279:33:34" - }, - "variableNames": [ - { - "name": "value6", - "nodeType": "YulIdentifier", - "src": "3269:6:34" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_addresst_addresst_uint256t_uint256t_uint8t_bytes32t_bytes32", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "2713:9:34", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "2724:7:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "2736:6:34", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "2744:6:34", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "2752:6:34", - "type": "" - }, - { - "name": "value3", - "nodeType": "YulTypedName", - "src": "2760:6:34", - "type": "" - }, - { - "name": "value4", - "nodeType": "YulTypedName", - "src": "2768:6:34", - "type": "" - }, - { - "name": "value5", - "nodeType": "YulTypedName", - "src": "2776:6:34", - "type": "" - }, - { - "name": "value6", - "nodeType": "YulTypedName", - "src": "2784:6:34", - "type": "" - } - ], - "src": "2625:693:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3410:173:34", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "3456:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3465:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3468:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "3458:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "3458:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "3458:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "3431:7:34" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3440:9:34" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "3427:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "3427:23:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3452:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "3423:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "3423:32:34" - }, - "nodeType": "YulIf", - "src": "3420:52:34" - }, - { - "nodeType": "YulAssignment", - "src": "3481:39:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3510:9:34" - } - ], - "functionName": { - "name": "abi_decode_address", - "nodeType": "YulIdentifier", - "src": "3491:18:34" - }, - "nodeType": "YulFunctionCall", - "src": "3491:29:34" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "3481:6:34" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "3529:48:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3562:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3573:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3558:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "3558:18:34" - } - ], - "functionName": { - "name": "abi_decode_address", - "nodeType": "YulIdentifier", - "src": "3539:18:34" - }, - "nodeType": "YulFunctionCall", - "src": "3539:38:34" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "3529:6:34" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_addresst_address", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "3368:9:34", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "3379:7:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "3391:6:34", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "3399:6:34", - "type": "" - } - ], - "src": "3323:260:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3643:382:34", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "3653:22:34", - "value": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3667:1:34", - "type": "", - "value": "1" - }, - { - "name": "data", - "nodeType": "YulIdentifier", - "src": "3670:4:34" - } - ], - "functionName": { - "name": "shr", - "nodeType": "YulIdentifier", - "src": "3663:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "3663:12:34" - }, - "variableNames": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "3653:6:34" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "3684:38:34", - "value": { - "arguments": [ - { - "name": "data", - "nodeType": "YulIdentifier", - "src": "3714:4:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3720:1:34", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "3710:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "3710:12:34" - }, - "variables": [ - { - "name": "outOfPlaceEncoding", - "nodeType": "YulTypedName", - "src": "3688:18:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3761:31:34", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "3763:27:34", - "value": { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "3777:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3785:4:34", - "type": "", - "value": "0x7f" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "3773:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "3773:17:34" - }, - "variableNames": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "3763:6:34" - } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "outOfPlaceEncoding", - "nodeType": "YulIdentifier", - "src": "3741:18:34" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "3734:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "3734:26:34" - }, - "nodeType": "YulIf", - "src": "3731:61:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3851:168:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3872:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3875:77:34", - "type": "", - "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "3865:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "3865:88:34" - }, - "nodeType": "YulExpressionStatement", - "src": "3865:88:34" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3973:1:34", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3976:4:34", - "type": "", - "value": "0x22" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "3966:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "3966:15:34" - }, - "nodeType": "YulExpressionStatement", - "src": "3966:15:34" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4001:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4004:4:34", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "3994:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "3994:15:34" - }, - "nodeType": "YulExpressionStatement", - "src": "3994:15:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "outOfPlaceEncoding", - "nodeType": "YulIdentifier", - "src": "3807:18:34" - }, - { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "3830:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3838:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "3827:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "3827:14:34" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "3804:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "3804:38:34" - }, - "nodeType": "YulIf", - "src": "3801:218:34" - } - ] - }, - "name": "extract_byte_array_length", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "data", - "nodeType": "YulTypedName", - "src": "3623:4:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "3632:6:34", - "type": "" - } - ], - "src": "3588:437:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4062:152:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4079:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4082:77:34", - "type": "", - "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "4072:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "4072:88:34" - }, - "nodeType": "YulExpressionStatement", - "src": "4072:88:34" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4176:1:34", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4179:4:34", - "type": "", - "value": "0x11" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "4169:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "4169:15:34" - }, - "nodeType": "YulExpressionStatement", - "src": "4169:15:34" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4200:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4203:4:34", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "4193:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "4193:15:34" - }, - "nodeType": "YulExpressionStatement", - "src": "4193:15:34" - } - ] - }, - "name": "panic_error_0x11", - "nodeType": "YulFunctionDefinition", - "src": "4030:184:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4268:76:34", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "4290:22:34", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x11", - "nodeType": "YulIdentifier", - "src": "4292:16:34" - }, - "nodeType": "YulFunctionCall", - "src": "4292:18:34" - }, - "nodeType": "YulExpressionStatement", - "src": "4292:18:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "4284:1:34" - }, - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "4287:1:34" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "4281:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "4281:8:34" - }, - "nodeType": "YulIf", - "src": "4278:34:34" - }, - { - "nodeType": "YulAssignment", - "src": "4321:17:34", - "value": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "4333:1:34" - }, - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "4336:1:34" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "4329:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "4329:9:34" - }, - "variableNames": [ - { - "name": "diff", - "nodeType": "YulIdentifier", - "src": "4321:4:34" - } - ] - } - ] - }, - "name": "checked_sub_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "x", - "nodeType": "YulTypedName", - "src": "4250:1:34", - "type": "" - }, - { - "name": "y", - "nodeType": "YulTypedName", - "src": "4253:1:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "diff", - "nodeType": "YulTypedName", - "src": "4259:4:34", - "type": "" - } - ], - "src": "4219:125:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4397:80:34", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "4424:22:34", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x11", - "nodeType": "YulIdentifier", - "src": "4426:16:34" - }, - "nodeType": "YulFunctionCall", - "src": "4426:18:34" - }, - "nodeType": "YulExpressionStatement", - "src": "4426:18:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "4413:1:34" - }, - { - "arguments": [ - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "4420:1:34" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "4416:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "4416:6:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "4410:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "4410:13:34" - }, - "nodeType": "YulIf", - "src": "4407:39:34" - }, - { - "nodeType": "YulAssignment", - "src": "4455:16:34", - "value": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "4466:1:34" - }, - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "4469:1:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4462:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "4462:9:34" - }, - "variableNames": [ - { - "name": "sum", - "nodeType": "YulIdentifier", - "src": "4455:3:34" - } - ] - } - ] - }, - "name": "checked_add_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "x", - "nodeType": "YulTypedName", - "src": "4380:1:34", - "type": "" - }, - { - "name": "y", - "nodeType": "YulTypedName", - "src": "4383:1:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "sum", - "nodeType": "YulTypedName", - "src": "4389:3:34", - "type": "" - } - ], - "src": "4349:128:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4529:88:34", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "4560:22:34", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x11", - "nodeType": "YulIdentifier", - "src": "4562:16:34" - }, - "nodeType": "YulFunctionCall", - "src": "4562:18:34" - }, - "nodeType": "YulExpressionStatement", - "src": "4562:18:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "4545:5:34" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4556:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "4552:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "4552:6:34" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "4542:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "4542:17:34" - }, - "nodeType": "YulIf", - "src": "4539:43:34" - }, - { - "nodeType": "YulAssignment", - "src": "4591:20:34", - "value": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "4602:5:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4609:1:34", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4598:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "4598:13:34" - }, - "variableNames": [ - { - "name": "ret", - "nodeType": "YulIdentifier", - "src": "4591:3:34" - } - ] - } - ] - }, - "name": "increment_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "4511:5:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "ret", - "nodeType": "YulTypedName", - "src": "4521:3:34", - "type": "" - } - ], - "src": "4482:135:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4863:373:34", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "4873:27:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4885:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4896:3:34", - "type": "", - "value": "192" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4881:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "4881:19:34" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "4873:4:34" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4916:9:34" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "4927:6:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "4909:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "4909:25:34" - }, - "nodeType": "YulExpressionStatement", - "src": "4909:25:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "4943:52:34", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4953:42:34", - "type": "", - "value": "0xffffffffffffffffffffffffffffffffffffffff" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "4947:2:34", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5015:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5026:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5011:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "5011:18:34" - }, - { - "arguments": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "5035:6:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "5043:2:34" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "5031:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "5031:15:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "5004:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "5004:43:34" - }, - "nodeType": "YulExpressionStatement", - "src": "5004:43:34" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5067:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5078:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5063:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "5063:18:34" - }, - { - "arguments": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "5087:6:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "5095:2:34" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "5083:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "5083:15:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "5056:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "5056:43:34" - }, - "nodeType": "YulExpressionStatement", - "src": "5056:43:34" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5119:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5130:2:34", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5115:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "5115:18:34" - }, - { - "name": "value3", - "nodeType": "YulIdentifier", - "src": "5135:6:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "5108:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "5108:34:34" - }, - "nodeType": "YulExpressionStatement", - "src": "5108:34:34" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5162:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5173:3:34", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5158:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "5158:19:34" - }, - { - "name": "value4", - "nodeType": "YulIdentifier", - "src": "5179:6:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "5151:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "5151:35:34" - }, - "nodeType": "YulExpressionStatement", - "src": "5151:35:34" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5206:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5217:3:34", - "type": "", - "value": "160" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5202:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "5202:19:34" - }, - { - "name": "value5", - "nodeType": "YulIdentifier", - "src": "5223:6:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "5195:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "5195:35:34" - }, - "nodeType": "YulExpressionStatement", - "src": "5195:35:34" - } - ] - }, - "name": "abi_encode_tuple_t_bytes32_t_address_t_address_t_uint256_t_uint256_t_uint256__to_t_bytes32_t_address_t_address_t_uint256_t_uint256_t_uint256__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "4792:9:34", - "type": "" - }, - { - "name": "value5", - "nodeType": "YulTypedName", - "src": "4803:6:34", - "type": "" - }, - { - "name": "value4", - "nodeType": "YulTypedName", - "src": "4811:6:34", - "type": "" - }, - { - "name": "value3", - "nodeType": "YulTypedName", - "src": "4819:6:34", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "4827:6:34", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "4835:6:34", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "4843:6:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "4854:4:34", - "type": "" - } - ], - "src": "4622:614:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5436:244:34", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "5446:27:34", - "value": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "5466:6:34" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "5460:5:34" - }, - "nodeType": "YulFunctionCall", - "src": "5460:13:34" - }, - "variables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "5450:6:34", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "5508:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5516:4:34", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5504:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "5504:17:34" - }, - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "5523:3:34" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "5528:6:34" - } - ], - "functionName": { - "name": "copy_memory_to_memory", - "nodeType": "YulIdentifier", - "src": "5482:21:34" - }, - "nodeType": "YulFunctionCall", - "src": "5482:53:34" - }, - "nodeType": "YulExpressionStatement", - "src": "5482:53:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "5544:29:34", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "5561:3:34" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "5566:6:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5557:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "5557:16:34" - }, - "variables": [ - { - "name": "end_1", - "nodeType": "YulTypedName", - "src": "5548:5:34", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "end_1", - "nodeType": "YulIdentifier", - "src": "5589:5:34" - }, - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "5596:6:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "5582:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "5582:21:34" - }, - "nodeType": "YulExpressionStatement", - "src": "5582:21:34" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "end_1", - "nodeType": "YulIdentifier", - "src": "5623:5:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5630:4:34", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5619:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "5619:16:34" - }, - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "5637:6:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "5612:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "5612:32:34" - }, - "nodeType": "YulExpressionStatement", - "src": "5612:32:34" - }, - { - "nodeType": "YulAssignment", - "src": "5653:21:34", - "value": { - "arguments": [ - { - "name": "end_1", - "nodeType": "YulIdentifier", - "src": "5664:5:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5671:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5660:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "5660:14:34" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "5653:3:34" - } - ] - } - ] - }, - "name": "abi_encode_tuple_packed_t_string_memory_ptr_t_bytes32_t_bytes32__to_t_string_memory_ptr_t_bytes32_t_bytes32__nonPadded_inplace_fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "5396:3:34", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "5401:6:34", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "5409:6:34", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "5417:6:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "5428:3:34", - "type": "" - } - ], - "src": "5241:439:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5866:217:34", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "5876:27:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5888:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5899:3:34", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5884:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "5884:19:34" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "5876:4:34" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5919:9:34" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "5930:6:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "5912:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "5912:25:34" - }, - "nodeType": "YulExpressionStatement", - "src": "5912:25:34" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5957:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5968:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5953:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "5953:18:34" - }, - { - "arguments": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "5977:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5985:4:34", - "type": "", - "value": "0xff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "5973:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "5973:17:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "5946:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "5946:45:34" - }, - "nodeType": "YulExpressionStatement", - "src": "5946:45:34" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6011:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6022:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6007:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "6007:18:34" - }, - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "6027:6:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "6000:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "6000:34:34" - }, - "nodeType": "YulExpressionStatement", - "src": "6000:34:34" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6054:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6065:2:34", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6050:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "6050:18:34" - }, - { - "name": "value3", - "nodeType": "YulIdentifier", - "src": "6070:6:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "6043:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "6043:34:34" - }, - "nodeType": "YulExpressionStatement", - "src": "6043:34:34" - } - ] - }, - "name": "abi_encode_tuple_t_bytes32_t_uint8_t_bytes32_t_bytes32__to_t_bytes32_t_uint8_t_bytes32_t_bytes32__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "5811:9:34", - "type": "" - }, - { - "name": "value3", - "nodeType": "YulTypedName", - "src": "5822:6:34", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "5830:6:34", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "5838:6:34", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "5846:6:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "5857:4:34", - "type": "" - } - ], - "src": "5685:398:34" - } - ] - }, - "contents": "{\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 abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n {\n mstore(headStart, 32)\n let length := mload(value0)\n mstore(add(headStart, 32), length)\n copy_memory_to_memory(add(value0, 32), add(headStart, 64), length)\n tail := add(add(headStart, and(add(length, 31), not(31))), 64)\n }\n function abi_decode_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_addresst_uint256(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := abi_decode_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_uint256__to_t_uint256__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, value0)\n }\n function abi_decode_tuple_t_addresst_addresst_uint256(headStart, dataEnd) -> value0, value1, value2\n {\n if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n value1 := abi_decode_address(add(headStart, 32))\n value2 := calldataload(add(headStart, 64))\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 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_decode_tuple_t_address(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\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_decode_tuple_t_addresst_addresst_uint256t_uint256t_uint8t_bytes32t_bytes32(headStart, dataEnd) -> value0, value1, value2, value3, value4, value5, value6\n {\n if slt(sub(dataEnd, headStart), 224) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n value1 := abi_decode_address(add(headStart, 32))\n value2 := calldataload(add(headStart, 64))\n value3 := calldataload(add(headStart, 96))\n let value := calldataload(add(headStart, 128))\n if iszero(eq(value, and(value, 0xff))) { revert(0, 0) }\n value4 := value\n value5 := calldataload(add(headStart, 160))\n value6 := calldataload(add(headStart, 192))\n }\n function abi_decode_tuple_t_addresst_address(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n value1 := abi_decode_address(add(headStart, 32))\n }\n function extract_byte_array_length(data) -> length\n {\n length := shr(1, data)\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 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 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 increment_t_uint256(value) -> ret\n {\n if eq(value, not(0)) { panic_error_0x11() }\n ret := add(value, 1)\n }\n function abi_encode_tuple_t_bytes32_t_address_t_address_t_uint256_t_uint256_t_uint256__to_t_bytes32_t_address_t_address_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 let _1 := 0xffffffffffffffffffffffffffffffffffffffff\n mstore(add(headStart, 32), and(value1, _1))\n mstore(add(headStart, 64), and(value2, _1))\n mstore(add(headStart, 96), value3)\n mstore(add(headStart, 128), value4)\n mstore(add(headStart, 160), value5)\n }\n function abi_encode_tuple_packed_t_string_memory_ptr_t_bytes32_t_bytes32__to_t_string_memory_ptr_t_bytes32_t_bytes32__nonPadded_inplace_fromStack_reversed(pos, value2, value1, value0) -> end\n {\n let length := mload(value0)\n copy_memory_to_memory(add(value0, 0x20), pos, length)\n let end_1 := add(pos, length)\n mstore(end_1, value1)\n mstore(add(end_1, 0x20), value2)\n end := add(end_1, 64)\n }\n function abi_encode_tuple_t_bytes32_t_uint8_t_bytes32_t_bytes32__to_t_bytes32_t_uint8_t_bytes32_t_bytes32__fromStack_reversed(headStart, value3, value2, value1, value0) -> tail\n {\n tail := add(headStart, 128)\n mstore(headStart, value0)\n mstore(add(headStart, 32), and(value1, 0xff))\n mstore(add(headStart, 64), value2)\n mstore(add(headStart, 96), value3)\n }\n}", - "id": 34, - "language": "Yul", - "name": "#utility.yul" - } - ], - "immutableReferences": { - "3506": [ - { - "length": 32, - "start": 427 - } - ], - "3898": [ - { - "length": 32, - "start": 523 - }, - { - "length": 32, - "start": 1688 - } - ], - "4314": [ - { - "length": 32, - "start": 484 - }, - { - "length": 32, - "start": 1182 - } - ] - }, - "linkReferences": {}, - "object": "608060405234801561001057600080fd5b50600436106101365760003560e01c806370a08231116100b2578063a457c2d711610081578063d505accf11610066578063d505accf146102ee578063dd62ed3e14610301578063f2fde38b1461032c57600080fd5b8063a457c2d7146102c8578063a9059cbb146102db57600080fd5b806370a08231146102555780637ecebe00146102755780638da5cb5b1461029557806395d89b41146102c057600080fd5b8063313ce567116101095780633644e515116100ee5780633644e51514610206578063395093511461022d57806340c10f191461024057600080fd5b8063313ce567146101a6578063355274ea146101df57600080fd5b806306fdde031461013b578063095ea7b31461015957806318160ddd1461017c57806323b872dd14610193575b600080fd5b61014361033f565b6040516101509190610b5e565b60405180910390f35b61016c610167366004610bad565b6103cd565b6040519015158152602001610150565b61018560025481565b604051908152602001610150565b61016c6101a1366004610bd7565b6103e3565b6101cd7f000000000000000000000000000000000000000000000000000000000000000081565b60405160ff9091168152602001610150565b6101857f000000000000000000000000000000000000000000000000000000000000000081565b6101857f000000000000000000000000000000000000000000000000000000000000000081565b61016c61023b366004610bad565b61043a565b61025361024e366004610bad565b610471565b005b610185610263366004610c13565b60006020819052908152604090205481565b610185610283366004610c13565b60056020526000908152604090205481565b6006546102a8906001600160a01b031681565b6040516001600160a01b039091168152602001610150565b610143610512565b61016c6102d6366004610bad565b61051f565b61016c6102e9366004610bad565b610556565b6102536102fc366004610c35565b610563565b61018561030f366004610ca8565b600160209081526000928352604080842090915290825290205481565b61025361033a366004610c13565b610826565b6003805461034c90610cdb565b80601f016020809104026020016040519081016040528092919081815260200182805461037890610cdb565b80156103c55780601f1061039a576101008083540402835291602001916103c5565b820191906000526020600020905b8154815290600101906020018083116103a857829003601f168201915b505050505081565b60006103da338484610905565b50600192915050565b6001600160a01b0383166000908152600160209081526040808320338452909152812054600019811461042457610424853361041f8685610d2c565b610905565b61042f8585856109a2565b506001949350505050565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916103da91859061041f908690610d43565b6006546001600160a01b0316331461049c576040516330cd747160e01b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006104c78383610a7e565b806104d157505050565b80600254111561050d576040517fa4875a4900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050565b6004805461034c90610cdb565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916103da91859061041f908690610d2c565b60006103da3384846109a2565b8342111561059d576040517f1a15a3cc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08111156105f7576040517f40c1e74800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8260ff16601b1415801561060f57508260ff16601c14155b15610646576040517f119bce3900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080518082018252600281527f19010000000000000000000000000000000000000000000000000000000000006020808301919091526001600160a01b038a166000908152600590915291822080547f0000000000000000000000000000000000000000000000000000000000000000917f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9918c918c918c91886106ea83610d5b565b909155506040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810188905260e0016040516020818303038152906040528051906020012060405160200161074e93929190610d76565b60408051601f198184030181528282528051602091820120600080855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa1580156107b9573d6000803e3d6000fd5b505050602060405103519050886001600160a01b0316816001600160a01b031614610810576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61081b898989610905565b505050505050505050565b6006546001600160a01b03163314610851576040516330cd747160e01b815260040160405180910390fd5b6001600160a01b038116610891576040517f49e27cff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6006546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600680547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b6001600160a01b038316158061092257506001600160a01b038216155b1561094057604051630da30f6560e31b815260040160405180910390fd5b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b03831615806109bf57506001600160a01b038216155b156109dd57604051630da30f6560e31b815260040160405180910390fd5b6001600160a01b03831660009081526020819052604081208054839290610a05908490610d2c565b90915550506001600160a01b03821660009081526020819052604081208054839290610a32908490610d43565b92505081905550816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161099591815260200190565b6001600160a01b038216610aa557604051630da30f6560e31b815260040160405180910390fd5b8060026000828254610ab79190610d43565b90915550506001600160a01b03821660009081526020819052604081208054839290610ae4908490610d43565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b60005b83811015610b49578181015183820152602001610b31565b83811115610b58576000848401525b50505050565b6020815260008251806020840152610b7d816040850160208701610b2e565b601f01601f19169190910160400192915050565b80356001600160a01b0381168114610ba857600080fd5b919050565b60008060408385031215610bc057600080fd5b610bc983610b91565b946020939093013593505050565b600080600060608486031215610bec57600080fd5b610bf584610b91565b9250610c0360208501610b91565b9150604084013590509250925092565b600060208284031215610c2557600080fd5b610c2e82610b91565b9392505050565b600080600080600080600060e0888a031215610c5057600080fd5b610c5988610b91565b9650610c6760208901610b91565b95506040880135945060608801359350608088013560ff81168114610c8b57600080fd5b9699959850939692959460a0840135945060c09093013592915050565b60008060408385031215610cbb57600080fd5b610cc483610b91565b9150610cd260208401610b91565b90509250929050565b600181811c90821680610cef57607f821691505b60208210811415610d1057634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b600082821015610d3e57610d3e610d16565b500390565b60008219821115610d5657610d56610d16565b500190565b6000600019821415610d6f57610d6f610d16565b5060010190565b60008451610d88818460208901610b2e565b9190910192835250602082015260400191905056fea26469706673582212208f603e2cd0ff4a15d58524709bf891fdde8e83cbfd1b454030ec67b304ad17f364736f6c63430008090033", - "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x136 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x70A08231 GT PUSH2 0xB2 JUMPI DUP1 PUSH4 0xA457C2D7 GT PUSH2 0x81 JUMPI DUP1 PUSH4 0xD505ACCF GT PUSH2 0x66 JUMPI DUP1 PUSH4 0xD505ACCF EQ PUSH2 0x2EE JUMPI DUP1 PUSH4 0xDD62ED3E EQ PUSH2 0x301 JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0x32C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0xA457C2D7 EQ PUSH2 0x2C8 JUMPI DUP1 PUSH4 0xA9059CBB EQ PUSH2 0x2DB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x70A08231 EQ PUSH2 0x255 JUMPI DUP1 PUSH4 0x7ECEBE00 EQ PUSH2 0x275 JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x295 JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x2C0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x313CE567 GT PUSH2 0x109 JUMPI DUP1 PUSH4 0x3644E515 GT PUSH2 0xEE JUMPI DUP1 PUSH4 0x3644E515 EQ PUSH2 0x206 JUMPI DUP1 PUSH4 0x39509351 EQ PUSH2 0x22D JUMPI DUP1 PUSH4 0x40C10F19 EQ PUSH2 0x240 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x313CE567 EQ PUSH2 0x1A6 JUMPI DUP1 PUSH4 0x355274EA EQ PUSH2 0x1DF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0x13B JUMPI DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0x159 JUMPI DUP1 PUSH4 0x18160DDD EQ PUSH2 0x17C JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x193 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x143 PUSH2 0x33F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x150 SWAP2 SWAP1 PUSH2 0xB5E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x16C PUSH2 0x167 CALLDATASIZE PUSH1 0x4 PUSH2 0xBAD JUMP JUMPDEST PUSH2 0x3CD JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x150 JUMP JUMPDEST PUSH2 0x185 PUSH1 0x2 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x150 JUMP JUMPDEST PUSH2 0x16C PUSH2 0x1A1 CALLDATASIZE PUSH1 0x4 PUSH2 0xBD7 JUMP JUMPDEST PUSH2 0x3E3 JUMP JUMPDEST PUSH2 0x1CD PUSH32 0x0 DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0xFF SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x150 JUMP JUMPDEST PUSH2 0x185 PUSH32 0x0 DUP2 JUMP JUMPDEST PUSH2 0x185 PUSH32 0x0 DUP2 JUMP JUMPDEST PUSH2 0x16C PUSH2 0x23B CALLDATASIZE PUSH1 0x4 PUSH2 0xBAD JUMP JUMPDEST PUSH2 0x43A JUMP JUMPDEST PUSH2 0x253 PUSH2 0x24E CALLDATASIZE PUSH1 0x4 PUSH2 0xBAD JUMP JUMPDEST PUSH2 0x471 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x185 PUSH2 0x263 CALLDATASIZE PUSH1 0x4 PUSH2 0xC13 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP2 SWAP1 MSTORE SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD DUP2 JUMP JUMPDEST PUSH2 0x185 PUSH2 0x283 CALLDATASIZE PUSH1 0x4 PUSH2 0xC13 JUMP JUMPDEST PUSH1 0x5 PUSH1 0x20 MSTORE PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x6 SLOAD PUSH2 0x2A8 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x150 JUMP JUMPDEST PUSH2 0x143 PUSH2 0x512 JUMP JUMPDEST PUSH2 0x16C PUSH2 0x2D6 CALLDATASIZE PUSH1 0x4 PUSH2 0xBAD JUMP JUMPDEST PUSH2 0x51F JUMP JUMPDEST PUSH2 0x16C PUSH2 0x2E9 CALLDATASIZE PUSH1 0x4 PUSH2 0xBAD JUMP JUMPDEST PUSH2 0x556 JUMP JUMPDEST PUSH2 0x253 PUSH2 0x2FC CALLDATASIZE PUSH1 0x4 PUSH2 0xC35 JUMP JUMPDEST PUSH2 0x563 JUMP JUMPDEST PUSH2 0x185 PUSH2 0x30F CALLDATASIZE PUSH1 0x4 PUSH2 0xCA8 JUMP JUMPDEST PUSH1 0x1 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 0x253 PUSH2 0x33A CALLDATASIZE PUSH1 0x4 PUSH2 0xC13 JUMP JUMPDEST PUSH2 0x826 JUMP JUMPDEST PUSH1 0x3 DUP1 SLOAD PUSH2 0x34C SWAP1 PUSH2 0xCDB 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 0x378 SWAP1 PUSH2 0xCDB JUMP JUMPDEST DUP1 ISZERO PUSH2 0x3C5 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x39A JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x3C5 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 0x3A8 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3DA CALLER DUP5 DUP5 PUSH2 0x905 JUMP JUMPDEST POP PUSH1 0x1 SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 CALLER DUP5 MSTORE SWAP1 SWAP2 MSTORE DUP2 KECCAK256 SLOAD PUSH1 0x0 NOT DUP2 EQ PUSH2 0x424 JUMPI PUSH2 0x424 DUP6 CALLER PUSH2 0x41F DUP7 DUP6 PUSH2 0xD2C JUMP JUMPDEST PUSH2 0x905 JUMP JUMPDEST PUSH2 0x42F DUP6 DUP6 DUP6 PUSH2 0x9A2 JUMP JUMPDEST POP PUSH1 0x1 SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST CALLER PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE DUP2 KECCAK256 SLOAD SWAP1 SWAP2 PUSH2 0x3DA SWAP2 DUP6 SWAP1 PUSH2 0x41F SWAP1 DUP7 SWAP1 PUSH2 0xD43 JUMP JUMPDEST PUSH1 0x6 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x49C JUMPI PUSH1 0x40 MLOAD PUSH4 0x30CD7471 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH32 0x0 PUSH2 0x4C7 DUP4 DUP4 PUSH2 0xA7E JUMP JUMPDEST DUP1 PUSH2 0x4D1 JUMPI POP POP POP JUMP JUMPDEST DUP1 PUSH1 0x2 SLOAD GT ISZERO PUSH2 0x50D JUMPI PUSH1 0x40 MLOAD PUSH32 0xA4875A4900000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x4 DUP1 SLOAD PUSH2 0x34C SWAP1 PUSH2 0xCDB JUMP JUMPDEST CALLER PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE DUP2 KECCAK256 SLOAD SWAP1 SWAP2 PUSH2 0x3DA SWAP2 DUP6 SWAP1 PUSH2 0x41F SWAP1 DUP7 SWAP1 PUSH2 0xD2C JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3DA CALLER DUP5 DUP5 PUSH2 0x9A2 JUMP JUMPDEST DUP4 TIMESTAMP GT ISZERO PUSH2 0x59D JUMPI PUSH1 0x40 MLOAD PUSH32 0x1A15A3CC00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH32 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5D576E7357A4501DDFE92F46681B20A0 DUP2 GT ISZERO PUSH2 0x5F7 JUMPI PUSH1 0x40 MLOAD PUSH32 0x40C1E74800000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP3 PUSH1 0xFF AND PUSH1 0x1B EQ ISZERO DUP1 ISZERO PUSH2 0x60F JUMPI POP DUP3 PUSH1 0xFF AND PUSH1 0x1C EQ ISZERO JUMPDEST ISZERO PUSH2 0x646 JUMPI PUSH1 0x40 MLOAD PUSH32 0x119BCE3900000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD DUP3 MSTORE PUSH1 0x2 DUP2 MSTORE PUSH32 0x1901000000000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP1 DUP4 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP11 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x5 SWAP1 SWAP2 MSTORE SWAP2 DUP3 KECCAK256 DUP1 SLOAD PUSH32 0x0 SWAP2 PUSH32 0x6E71EDAE12B1B97F4D1F60370FEF10105FA2FAAE0126114A169C64845D6126C9 SWAP2 DUP13 SWAP2 DUP13 SWAP2 DUP13 SWAP2 DUP9 PUSH2 0x6EA DUP4 PUSH2 0xD5B JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 DUP2 ADD SWAP7 SWAP1 SWAP7 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP5 DUP6 AND SWAP1 DUP7 ADD MSTORE SWAP3 SWAP1 SWAP2 AND PUSH1 0x60 DUP5 ADD MSTORE PUSH1 0x80 DUP4 ADD MSTORE PUSH1 0xA0 DUP3 ADD MSTORE PUSH1 0xC0 DUP2 ADD DUP9 SWAP1 MSTORE PUSH1 0xE0 ADD 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 PUSH1 0x20 ADD PUSH2 0x74E SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0xD76 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F NOT DUP2 DUP5 SUB ADD DUP2 MSTORE DUP3 DUP3 MSTORE DUP1 MLOAD PUSH1 0x20 SWAP2 DUP3 ADD KECCAK256 PUSH1 0x0 DUP1 DUP6 MSTORE SWAP2 DUP5 ADD DUP1 DUP5 MSTORE DUP2 SWAP1 MSTORE PUSH1 0xFF DUP9 AND SWAP3 DUP5 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x60 DUP4 ADD DUP7 SWAP1 MSTORE PUSH1 0x80 DUP4 ADD DUP6 SWAP1 MSTORE SWAP1 SWAP3 POP SWAP1 PUSH1 0x1 SWAP1 PUSH1 0xA0 ADD PUSH1 0x20 PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 SUB SWAP1 DUP1 DUP5 SUB SWAP1 DUP6 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x7B9 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP PUSH1 0x20 PUSH1 0x40 MLOAD SUB MLOAD SWAP1 POP DUP9 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x810 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8BAA579F00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x81B DUP10 DUP10 DUP10 PUSH2 0x905 JUMP JUMPDEST POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x6 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x851 JUMPI PUSH1 0x40 MLOAD PUSH4 0x30CD7471 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x891 JUMPI PUSH1 0x40 MLOAD PUSH32 0x49E27CFF00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x6 SLOAD PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP5 AND SWAP3 AND SWAP1 PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 SWAP1 PUSH1 0x0 SWAP1 LOG3 PUSH1 0x6 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 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND ISZERO DUP1 PUSH2 0x922 JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND ISZERO JUMPDEST ISZERO PUSH2 0x940 JUMPI PUSH1 0x40 MLOAD PUSH4 0xDA30F65 PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 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 DUP3 MSTORE SWAP2 DUP3 SWAP1 KECCAK256 DUP6 SWAP1 SSTORE SWAP1 MLOAD DUP5 DUP2 MSTORE PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 SWAP2 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND ISZERO DUP1 PUSH2 0x9BF JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND ISZERO JUMPDEST ISZERO PUSH2 0x9DD JUMPI PUSH1 0x40 MLOAD PUSH4 0xDA30F65 PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD DUP4 SWAP3 SWAP1 PUSH2 0xA05 SWAP1 DUP5 SWAP1 PUSH2 0xD2C 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 0xA32 SWAP1 DUP5 SWAP1 PUSH2 0xD43 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF DUP4 PUSH1 0x40 MLOAD PUSH2 0x995 SWAP2 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0xAA5 JUMPI PUSH1 0x40 MLOAD PUSH4 0xDA30F65 PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0x2 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0xAB7 SWAP2 SWAP1 PUSH2 0xD43 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 0xAE4 SWAP1 DUP5 SWAP1 PUSH2 0xD43 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x40 MLOAD DUP2 DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 PUSH1 0x0 SWAP1 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0xB49 JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0xB31 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0xB58 JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 DUP3 MLOAD DUP1 PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0xB7D DUP2 PUSH1 0x40 DUP6 ADD PUSH1 0x20 DUP8 ADD PUSH2 0xB2E JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP2 SWAP1 SWAP2 ADD PUSH1 0x40 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0xBA8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xBC0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xBC9 DUP4 PUSH2 0xB91 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 0xBEC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xBF5 DUP5 PUSH2 0xB91 JUMP JUMPDEST SWAP3 POP PUSH2 0xC03 PUSH1 0x20 DUP6 ADD PUSH2 0xB91 JUMP JUMPDEST SWAP2 POP PUSH1 0x40 DUP5 ADD CALLDATALOAD SWAP1 POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xC25 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xC2E DUP3 PUSH2 0xB91 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xE0 DUP9 DUP11 SUB SLT ISZERO PUSH2 0xC50 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xC59 DUP9 PUSH2 0xB91 JUMP JUMPDEST SWAP7 POP PUSH2 0xC67 PUSH1 0x20 DUP10 ADD PUSH2 0xB91 JUMP JUMPDEST SWAP6 POP PUSH1 0x40 DUP9 ADD CALLDATALOAD SWAP5 POP PUSH1 0x60 DUP9 ADD CALLDATALOAD SWAP4 POP PUSH1 0x80 DUP9 ADD CALLDATALOAD PUSH1 0xFF DUP2 AND DUP2 EQ PUSH2 0xC8B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP7 SWAP10 SWAP6 SWAP9 POP SWAP4 SWAP7 SWAP3 SWAP6 SWAP5 PUSH1 0xA0 DUP5 ADD CALLDATALOAD SWAP5 POP PUSH1 0xC0 SWAP1 SWAP4 ADD CALLDATALOAD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xCBB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xCC4 DUP4 PUSH2 0xB91 JUMP JUMPDEST SWAP2 POP PUSH2 0xCD2 PUSH1 0x20 DUP5 ADD PUSH2 0xB91 JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0xCEF JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH2 0xD10 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 PUSH1 0x0 DUP3 DUP3 LT ISZERO PUSH2 0xD3E JUMPI PUSH2 0xD3E PUSH2 0xD16 JUMP JUMPDEST POP SUB SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 NOT DUP3 GT ISZERO PUSH2 0xD56 JUMPI PUSH2 0xD56 PUSH2 0xD16 JUMP JUMPDEST POP ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x0 NOT DUP3 EQ ISZERO PUSH2 0xD6F JUMPI PUSH2 0xD6F PUSH2 0xD16 JUMP JUMPDEST POP PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP5 MLOAD PUSH2 0xD88 DUP2 DUP5 PUSH1 0x20 DUP10 ADD PUSH2 0xB2E JUMP JUMPDEST SWAP2 SWAP1 SWAP2 ADD SWAP3 DUP4 MSTORE POP PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 ADD SWAP2 SWAP1 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 DUP16 PUSH1 0x3E 0x2C 0xD0 SELFDESTRUCT 0x4A ISZERO 0xD5 DUP6 0x24 PUSH17 0x9BF891FDDE8E83CBFD1B454030EC67B304 0xAD OR RETURN PUSH5 0x736F6C6343 STOP ADDMOD MULMOD STOP CALLER ", - "sourceMap": "264:579:10:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1484:18:7;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2526:166;;;;;;:::i;:::-;;:::i;:::-;;;1290:14:34;;1283:22;1265:41;;1253:2;1238:18;2526:166:7;1125:187:34;1442:35:7;;;;;;;;;1463:25:34;;;1451:2;1436:18;1442:35:7;1317:177:34;3159:401:7;;;;;;:::i;:::-;;:::i;1535:31::-;;;;;;;;2004:4:34;1992:17;;;1974:36;;1962:2;1947:18;1535:31:7;1832:184:34;352:28:10;;;;;377:41:8;;;;;3955:208:7;;;;;;:::i;:::-;;:::i;608:233:10:-;;;;;;:::i;:::-;;:::i;:::-;;1302:53:7;;;;;;:::i;:::-;;;;;;;;;;;;;;;982:41:8;;;;;;:::i;:::-;;;;;;;;;;;;;;156:20:11;;;;;-1:-1:-1;;;;;156:20:11;;;;;;-1:-1:-1;;;;;2558:55:34;;;2540:74;;2528:2;2513:18;156:20:11;2394:226:34;1508:20:7;;;:::i;4650:218::-;;;;;;:::i;:::-;;:::i;2046:172::-;;;;;;:::i;:::-;;:::i;1252:950:8:-;;;;;;:::i;:::-;;:::i;1362:73:7:-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;395:217:11;;;;;;:::i;:::-;;:::i;1484:18:7:-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;2526:166::-;2611:4;2627:37;2636:10;2648:7;2657:6;2627:8;:37::i;:::-;-1:-1:-1;2681:4:7;2526:166;;;;:::o;3159:401::-;-1:-1:-1;;;;;3334:17:7;;3297:4;3334:17;;;:9;:17;;;;;;;;3352:10;3334:29;;;;;;;;-1:-1:-1;;3378:31:7;;3374:111;;3425:49;3434:6;3442:10;3454:19;3467:6;3454:10;:19;:::i;:::-;3425:8;:49::i;:::-;3495:36;3505:6;3513:9;3524:6;3495:9;:36::i;:::-;-1:-1:-1;3549:4:7;;3159:401;-1:-1:-1;;;;3159:401:7:o;3955:208::-;4070:10;4045:4;4091:21;;;:9;:21;;;;;;;;-1:-1:-1;;;;;4091:30:7;;;;;;;;;;4045:4;;4061:74;;4082:7;;4091:43;;4124:10;;4091:43;:::i;608:233:10:-;332:5:11;;-1:-1:-1;;;;;332:5:11;341:10;332:19;328:42;;360:10;;-1:-1:-1;;;360:10:11;;;;;;;;;;;328:42;703:3:10::1;717:22;723:7:::0;732:6;717:5:::1;:22::i;:::-;754:13:::0;750:26:::1;;769:7;608:233:::0;;:::o;750:26::-:1;804:8;790:11;;:22;786:48;;;821:13;;;;;;;;;;;;;;786:48;674:167;608:233:::0;;:::o;1508:20:7:-;;;;;;;:::i;4650:218::-;4770:10;4745:4;4791:21;;;:9;:21;;;;;;;;-1:-1:-1;;;;;4791:30:7;;;;;;;;;;4745:4;;4761:79;;4782:7;;4791:48;;4824:15;;4791:48;:::i;2046:172::-;2134:4;2150:40;2160:10;2172:9;2183:6;2150:9;:40::i;1252:950:8:-;1468:8;1450:15;:26;1446:54;;;1485:15;;;;;;;;;;;;;;1446:54;1528:66;1515:79;;1511:102;;;1603:10;;;;;;;;;;;;;;1511:102;1628:1;:7;;1633:2;1628:7;;:18;;;;;1639:1;:7;;1644:2;1639:7;;1628:18;1624:41;;;1655:10;;;;;;;;;;;;;;1624:41;1750:40;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1910:14:8;;1676;1910;;;:6;:14;;;;;;:16;;1808;;908:66;;1886:6;;1894:7;;1903:5;;1676:14;1910:16;;;:::i;:::-;;;;-1:-1:-1;1852:85:8;;;;;;4909:25:34;;;;-1:-1:-1;;;;;5031:15:34;;;5011:18;;;5004:43;5083:15;;;;5063:18;;;5056:43;5115:18;;;5108:34;5158:19;;;5151:35;5202:19;;;5195:35;;;4881:19;;1852:85:8;;;;;;;;;;;;1842:96;;;;;;1716:236;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;1716:236:8;;;;;;;;;1693:269;;1716:236;1693:269;;;;1973:24;2000:26;;;;;;;;;5912:25:34;;;5985:4;5973:17;;5953:18;;;5946:45;;;;6007:18;;;6000:34;;;6050:18;;;6043:34;;;1693:269:8;;-1:-1:-1;1973:24:8;2000:26;;5884:19:34;;2000:26:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1973:53;;2061:6;-1:-1:-1;;;;;2041:26:8;:16;-1:-1:-1;;;;;2041:26:8;;2037:57;;2076:18;;;;;;;;;;;;;;2037:57;2163:32;2172:6;2180:7;2189:5;2163:8;:32::i;:::-;1436:766;;1252:950;;;;;;;:::o;395:217:11:-;332:5;;-1:-1:-1;;;;;332:5:11;341:10;332:19;328:42;;360:10;;-1:-1:-1;;;360:10:11;;;;;;;;;;;328:42;-1:-1:-1;;;;;481:22:11;::::1;477:49;;512:14;;;;;;;;;;;;;;477:49;563:5;::::0;542:37:::1;::::0;-1:-1:-1;;;;;542:37:11;;::::1;::::0;563:5:::1;::::0;542:37:::1;::::0;563:5:::1;::::0;542:37:::1;589:5;:16:::0;;;::::1;-1:-1:-1::0;;;;;589:16:11;;;::::1;::::0;;;::::1;::::0;;395:217::o;7380:295:7:-;-1:-1:-1;;;;;7507:19:7;;;;:44;;-1:-1:-1;;;;;;7530:21:7;;;7507:44;7503:73;;;7560:16;;-1:-1:-1;;;7560:16:7;;;;;;;;;;;7503:73;-1:-1:-1;;;;;7587:16:7;;;;;;;:9;:16;;;;;;;;:25;;;;;;;;;;;;;:34;;;7636:32;;1463:25:34;;;7636:32:7;;1436:18:34;7636:32:7;;;;;;;;7380:295;;;:::o;5342:396::-;-1:-1:-1;;;;;5473:20:7;;;;:47;;-1:-1:-1;;;;;;5497:23:7;;;5473:47;5469:76;;;5529:16;;-1:-1:-1;;;5529:16:7;;;;;;;;;;;5469:76;-1:-1:-1;;;;;5614:17:7;;:9;:17;;;;;;;;;;:27;;5635:6;;5614:9;:27;;5635:6;;5614:27;:::i;:::-;;;;-1:-1:-1;;;;;;;5651:20:7;;:9;:20;;;;;;;;;;:30;;5675:6;;5651:9;:30;;5675:6;;5651:30;:::i;:::-;;;;;;;;5713:9;-1:-1:-1;;;;;5696:35:7;5705:6;-1:-1:-1;;;;;5696:35:7;;5724:6;5696:35;;;;1463:25:34;;1451:2;1436:18;;1317:177;6009:314:7;-1:-1:-1;;;;;6088:21:7;;6084:50;;6118:16;;-1:-1:-1;;;6118:16:7;;;;;;;;;;;6084:50;6220:6;6205:11;;:21;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;;;6236:18:7;;:9;:18;;;;;;;;;;:28;;6258:6;;6236:9;:28;;6258:6;;6236:28;:::i;:::-;;;;-1:-1:-1;;6279:37:7;;1463:25:34;;;-1:-1:-1;;;;;6279:37:7;;;6296:1;;6279:37;;1451:2:34;1436:18;6279:37:7;;;;;;;6009:314;;:::o;14:258:34:-;86:1;96:113;110:6;107:1;104:13;96:113;;;186:11;;;180:18;167:11;;;160:39;132:2;125:10;96:113;;;227:6;224:1;221:13;218:48;;;262:1;253:6;248:3;244:16;237:27;218:48;;14:258;;;:::o;277:383::-;426:2;415:9;408:21;389:4;458:6;452:13;501:6;496:2;485:9;481:18;474:34;517:66;576:6;571:2;560:9;556:18;551:2;543:6;539:15;517:66;:::i;:::-;644:2;623:15;-1:-1:-1;;619:29:34;604:45;;;;651:2;600:54;;277:383;-1:-1:-1;;277:383:34:o;665:196::-;733:20;;-1:-1:-1;;;;;782:54:34;;772:65;;762:93;;851:1;848;841:12;762:93;665:196;;;:::o;866:254::-;934:6;942;995:2;983:9;974:7;970:23;966:32;963:52;;;1011:1;1008;1001:12;963:52;1034:29;1053:9;1034:29;:::i;:::-;1024:39;1110:2;1095:18;;;;1082:32;;-1:-1:-1;;;866:254:34:o;1499:328::-;1576:6;1584;1592;1645:2;1633:9;1624:7;1620:23;1616:32;1613:52;;;1661:1;1658;1651:12;1613:52;1684:29;1703:9;1684:29;:::i;:::-;1674:39;;1732:38;1766:2;1755:9;1751:18;1732:38;:::i;:::-;1722:48;;1817:2;1806:9;1802:18;1789:32;1779:42;;1499:328;;;;;:::o;2203:186::-;2262:6;2315:2;2303:9;2294:7;2290:23;2286:32;2283:52;;;2331:1;2328;2321:12;2283:52;2354:29;2373:9;2354:29;:::i;:::-;2344:39;2203:186;-1:-1:-1;;;2203:186:34:o;2625:693::-;2736:6;2744;2752;2760;2768;2776;2784;2837:3;2825:9;2816:7;2812:23;2808:33;2805:53;;;2854:1;2851;2844:12;2805:53;2877:29;2896:9;2877:29;:::i;:::-;2867:39;;2925:38;2959:2;2948:9;2944:18;2925:38;:::i;:::-;2915:48;;3010:2;2999:9;2995:18;2982:32;2972:42;;3061:2;3050:9;3046:18;3033:32;3023:42;;3115:3;3104:9;3100:19;3087:33;3160:4;3153:5;3149:16;3142:5;3139:27;3129:55;;3180:1;3177;3170:12;3129:55;2625:693;;;;-1:-1:-1;2625:693:34;;;;3203:5;3255:3;3240:19;;3227:33;;-1:-1:-1;3307:3:34;3292:19;;;3279:33;;2625:693;-1:-1:-1;;2625:693:34:o;3323:260::-;3391:6;3399;3452:2;3440:9;3431:7;3427:23;3423:32;3420:52;;;3468:1;3465;3458:12;3420:52;3491:29;3510:9;3491:29;:::i;:::-;3481:39;;3539:38;3573:2;3562:9;3558:18;3539:38;:::i;:::-;3529:48;;3323:260;;;;;:::o;3588:437::-;3667:1;3663:12;;;;3710;;;3731:61;;3785:4;3777:6;3773:17;3763:27;;3731:61;3838:2;3830:6;3827:14;3807:18;3804:38;3801:218;;;-1:-1:-1;;;3872:1:34;3865:88;3976:4;3973:1;3966:15;4004:4;4001:1;3994:15;3801:218;;3588:437;;;:::o;4030:184::-;-1:-1:-1;;;4079:1:34;4072:88;4179:4;4176:1;4169:15;4203:4;4200:1;4193:15;4219:125;4259:4;4287:1;4284;4281:8;4278:34;;;4292:18;;:::i;:::-;-1:-1:-1;4329:9:34;;4219:125::o;4349:128::-;4389:3;4420:1;4416:6;4413:1;4410:13;4407:39;;;4426:18;;:::i;:::-;-1:-1:-1;4462:9:34;;4349:128::o;4482:135::-;4521:3;-1:-1:-1;;4542:17:34;;4539:43;;;4562:18;;:::i;:::-;-1:-1:-1;4609:1:34;4598:13;;4482:135::o;5241:439::-;5428:3;5466:6;5460:13;5482:53;5528:6;5523:3;5516:4;5508:6;5504:17;5482:53;:::i;:::-;5557:16;;;;5582:21;;;-1:-1:-1;5630:4:34;5619:16;;5612:32;5671:2;5660:14;;5241:439;-1:-1:-1;5241:439:34:o" - }, - "methodIdentifiers": { - "DOMAIN_SEPARATOR()": "3644e515", - "allowance(address,address)": "dd62ed3e", - "approve(address,uint256)": "095ea7b3", - "balanceOf(address)": "70a08231", - "cap()": "355274ea", - "decimals()": "313ce567", - "decreaseAllowance(address,uint256)": "a457c2d7", - "increaseAllowance(address,uint256)": "39509351", - "mint(address,uint256)": "40c10f19", - "name()": "06fdde03", - "nonces(address)": "7ecebe00", - "owner()": "8da5cb5b", - "permit(address,address,uint256,uint256,uint8,bytes32,bytes32)": "d505accf", - "symbol()": "95d89b41", - "totalSupply()": "18160ddd", - "transfer(address,uint256)": "a9059cbb", - "transferFrom(address,address,uint256)": "23b872dd", - "transferOwnership(address)": "f2fde38b" - } - }, - "metadata": "{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"capacity\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"CapExceeded\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidAccount\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidOwner\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidSignature\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidV\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotOwner\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"PermitExpired\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"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\":\"DOMAIN_SEPARATOR\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"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\":\"\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"cap\",\"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\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"mint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"nonces\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"issuer\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"permit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"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\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. NOTE: If `amount` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address.\"},\"decreaseAllowance(address,uint256)\":{\"details\":\"Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`.\"},\"increaseAllowance(address,uint256)\":{\"details\":\"Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address.\"},\"transfer(address,uint256)\":{\"details\":\"See {IERC20-transfer}. Requirements: - `recipient` cannot be the zero address. - the caller must have a balance of at least `amount`.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. Requirements: - `sender` and `recipient` cannot be the zero address. - `sender` must have a balance of at least `amount`. - the caller must have allowance for ``sender``'s tokens of at least `amount`.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@axelar-network/axelar-cgp-solidity/contracts/MintableCappedERC20.sol\":\"MintableCappedERC20\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1000},\"remappings\":[]},\"sources\":{\"@axelar-network/axelar-cgp-solidity/contracts/ERC20.sol\":{\"keccak256\":\"0x287710de0cde19d80aab753fd24296e9b826cb38c95b60ff98f304ff17f8cc2c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d2e8f192386b7b7a8a2a706cf3328a4f2a03316ea9b6b794fd4aac5547c68cf4\",\"dweb:/ipfs/QmQNn5eM6yAPnv77CkieA4rzo7G4yi6jy9ACgYnkBE92yV\"]},\"@axelar-network/axelar-cgp-solidity/contracts/ERC20Permit.sol\":{\"keccak256\":\"0x7ff0fca2cc2c02b099753c3ce79800ce88070290a1eb73392d4333eafb003e07\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1ee04b325749300f3c3a4c3e07fa5d9c651374b38106cf079c00301e15b2a2e2\",\"dweb:/ipfs/Qmdfnqbb1Fnv2x5uhPeHfzvnxh2Esq8k5CSAxHjLv1Pmz4\"]},\"@axelar-network/axelar-cgp-solidity/contracts/MintableCappedERC20.sol\":{\"keccak256\":\"0xd99b3f22d2b0f7e56f66c471ab8fcf8ca442300eb2eefcfa5bab9f104c1a7fde\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bf7521ed70c4149ecc75a08cfc035feaa1463ae8e12f190a7ac4ad10a49ac903\",\"dweb:/ipfs/QmNgmgdVTjKPLjt8Nf2H9T9J25vrg1A8ZcsfJgfNyo7Dng\"]},\"@axelar-network/axelar-cgp-solidity/contracts/Ownable.sol\":{\"keccak256\":\"0xd6cab35c616c549f1947be46a22669054bc25aaca04a97130df3893c60a2e270\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72c31289afb27da070075a36dbf1060d394cd2f7093a7283a6ababa7cf7c003d\",\"dweb:/ipfs/QmXv2HPzx7U6GDpjA3hMY4Uz9dQVLtHG4CSLUuCgPHJFKR\"]},\"@axelar-network/axelar-cgp-solidity/contracts/interfaces/IERC20.sol\":{\"keccak256\":\"0x018cf796d80d65945fa85fa4fb49d926481ffe9316564ea251ee14836d661635\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://677295d77a7b45e0d06fc389f859bb39e1175e16a75e141f0ce06743258178d3\",\"dweb:/ipfs/QmdoJiu5PJ6D3NcZVGHVGCFVW8WkQbTdqok1AoTcG3NmYR\"]},\"@axelar-network/axelar-cgp-solidity/contracts/interfaces/IERC20Permit.sol\":{\"keccak256\":\"0xd0f2210276eefeceae0ba6590c9f515f89149e01d70c18a7b36c372250ed06cb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://78caf6d22f4239a95d84cfdb04e4fe8a122c29c967e4edacadc9f88ba0d2fee0\",\"dweb:/ipfs/QmR2Weu44fXPvgwfHEenMhTnMZFVTSuzTGsP8TQRtQLQEj\"]},\"@axelar-network/axelar-cgp-solidity/contracts/interfaces/IMintableCappedERC20.sol\":{\"keccak256\":\"0x8ba2122d3c0fb1d4256d01b34cc6d38847c17de3321ceb680a53d3267799b36e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://78a827661b41a592c046ee4fb87297e59373aa6bfdef14b301060f3682b5e678\",\"dweb:/ipfs/QmTHCkgPAH2Kc83TovmE61euxu7SuhvUGTsLByXn6jKTh3\"]},\"@axelar-network/axelar-cgp-solidity/contracts/interfaces/IOwnable.sol\":{\"keccak256\":\"0x7a6e3ad6c339fc3d5a3f16ab1778cfae2f6b38f4c1a100b9686cf05b4bceb408\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d3801fdbd1c5cbfc105703b0da12051f5d9e17d38a4768a79fd5110cfd8712b8\",\"dweb:/ipfs/QmUnTmkpxTcbebnjDVNkfhEPRnyLfnPMEnAh53zKeZPgj9\"]}},\"version\":1}" - } - }, - "@axelar-network/axelar-cgp-solidity/contracts/Ownable.sol": { - "Ownable": { - "abi": [ - { - "inputs": [], - "name": "InvalidOwner", - "type": "error" - }, - { - "inputs": [], - "name": "NotOwner", - "type": "error" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "evm": { - "bytecode": { - "functionDebugData": {}, - "generatedSources": [], - "linkReferences": {}, - "object": "", - "opcodes": "", - "sourceMap": "" - }, - "deployedBytecode": { - "functionDebugData": {}, - "generatedSources": [], - "immutableReferences": {}, - "linkReferences": {}, - "object": "", - "opcodes": "", - "sourceMap": "" - }, - "methodIdentifiers": { - "owner()": "8da5cb5b", - "transferOwnership(address)": "f2fde38b" - } - }, - "metadata": "{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"InvalidOwner\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotOwner\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@axelar-network/axelar-cgp-solidity/contracts/Ownable.sol\":\"Ownable\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1000},\"remappings\":[]},\"sources\":{\"@axelar-network/axelar-cgp-solidity/contracts/Ownable.sol\":{\"keccak256\":\"0xd6cab35c616c549f1947be46a22669054bc25aaca04a97130df3893c60a2e270\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72c31289afb27da070075a36dbf1060d394cd2f7093a7283a6ababa7cf7c003d\",\"dweb:/ipfs/QmXv2HPzx7U6GDpjA3hMY4Uz9dQVLtHG4CSLUuCgPHJFKR\"]},\"@axelar-network/axelar-cgp-solidity/contracts/interfaces/IOwnable.sol\":{\"keccak256\":\"0x7a6e3ad6c339fc3d5a3f16ab1778cfae2f6b38f4c1a100b9686cf05b4bceb408\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d3801fdbd1c5cbfc105703b0da12051f5d9e17d38a4768a79fd5110cfd8712b8\",\"dweb:/ipfs/QmUnTmkpxTcbebnjDVNkfhEPRnyLfnPMEnAh53zKeZPgj9\"]}},\"version\":1}" - } - }, - "@axelar-network/axelar-cgp-solidity/contracts/TokenDeployer.sol": { - "TokenDeployer": { - "abi": [ - { - "inputs": [ - { - "internalType": "string", - "name": "name", - "type": "string" - }, - { - "internalType": "string", - "name": "symbol", - "type": "string" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "cap", - "type": "uint256" - }, - { - "internalType": "bytes32", - "name": "salt", - "type": "bytes32" - } - ], - "name": "deployToken", - "outputs": [ - { - "internalType": "address", - "name": "tokenAddress", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "evm": { - "bytecode": { - "functionDebugData": {}, - "generatedSources": [], - "linkReferences": {}, - "object": "608060405234801561001057600080fd5b50611a85806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c80636fc95b3414610030575b600080fd5b61004361003e366004610113565b61006c565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b600081888888888888604051610081906100bd565b610090969594939291906101d8565b8190604051809103906000f59050801580156100b0573d6000803e3d6000fd5b5098975050505050505050565b6118378061021983390190565b60008083601f8401126100dc57600080fd5b50813567ffffffffffffffff8111156100f457600080fd5b60208301915083602082850101111561010c57600080fd5b9250929050565b600080600080600080600060a0888a03121561012e57600080fd5b873567ffffffffffffffff8082111561014657600080fd5b6101528b838c016100ca565b909950975060208a013591508082111561016b57600080fd5b506101788a828b016100ca565b909650945050604088013560ff8116811461019257600080fd5b969995985093969295946060840135945060809093013592915050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6080815260006101ec60808301888a6101af565b82810360208401526101ff8187896101af565b60ff95909516604084015250506060015294935050505056fe60e06040523480156200001157600080fd5b5060405162001837380380620018378339810160408190526200003491620002e1565b83838383838484848260039080519060200190620000549291906200016e565b5081516200006a9060049060208501906200016e565b5060ff166080908152835160208086019190912060408051808201825260018152603160f81b9084015280517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f938101939093528201527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6606082015246918101919091523060a082015260c0019150620001029050565b60408051601f1981840301815290829052805160209091012060a052600680546001600160a01b0319163390811790915591506000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a360c05250620003a995505050505050565b8280546200017c906200036c565b90600052602060002090601f016020900481019282620001a05760008555620001eb565b82601f10620001bb57805160ff1916838001178555620001eb565b82800160010185558215620001eb579182015b82811115620001eb578251825591602001919060010190620001ce565b50620001f9929150620001fd565b5090565b5b80821115620001f95760008155600101620001fe565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200023c57600080fd5b81516001600160401b038082111562000259576200025962000214565b604051601f8301601f19908116603f0116810190828211818310171562000284576200028462000214565b81604052838152602092508683858801011115620002a157600080fd5b600091505b83821015620002c55785820183015181830184015290820190620002a6565b83821115620002d75760008385830101525b9695505050505050565b60008060008060808587031215620002f857600080fd5b84516001600160401b03808211156200031057600080fd5b6200031e888389016200022a565b955060208701519150808211156200033557600080fd5b5062000344878288016200022a565b935050604085015160ff811681146200035c57600080fd5b6060959095015193969295505050565b600181811c908216806200038157607f821691505b60208210811415620003a357634e487b7160e01b600052602260045260246000fd5b50919050565b60805160a05160c051611450620003e760003960008181610265015261067301526000818161028c01526108de0152600061020101526114506000f3fe608060405234801561001057600080fd5b50600436106101775760003560e01c806340c10f19116100d857806395d89b411161008c578063d505accf11610066578063d505accf14610368578063dd62ed3e1461037b578063f2fde38b146103a657600080fd5b806395d89b411461033a578063a457c2d714610342578063a9059cbb1461035557600080fd5b806379cc6790116100bd57806379cc6790146102f45780637ecebe00146103075780638da5cb5b1461032757600080fd5b806340c10f19146102c157806370a08231146102d457600080fd5b8063313ce5671161012f578063355274ea11610114578063355274ea146102605780633644e5151461028757806339509351146102ae57600080fd5b8063313ce567146101fc57806331eecaf41461023557600080fd5b8063095ea7b311610160578063095ea7b3146101af57806318160ddd146101d257806323b872dd146101e957600080fd5b806306fdde031461017c57806308a1eee11461019a575b600080fd5b6101846103b9565b6040516101919190610e5d565b60405180910390f35b6101ad6101a8366004610e90565b610447565b005b6101c26101bd366004610ec5565b6104a8565b6040519015158152602001610191565b6101db60025481565b604051908152602001610191565b6101c26101f7366004610eef565b6104be565b6102237f000000000000000000000000000000000000000000000000000000000000000081565b60405160ff9091168152602001610191565b610248610243366004610e90565b610515565b6040516001600160a01b039091168152602001610191565b6101db7f000000000000000000000000000000000000000000000000000000000000000081565b6101db7f000000000000000000000000000000000000000000000000000000000000000081565b6101c26102bc366004610ec5565b61060f565b6101ad6102cf366004610ec5565b610646565b6101db6102e2366004610f2b565b60006020819052908152604090205481565b6101ad610302366004610ec5565b6106e7565b6101db610315366004610f2b565b60056020526000908152604090205481565b600654610248906001600160a01b031681565b610184610758565b6101c2610350366004610ec5565b610765565b6101c2610363366004610ec5565b61079c565b6101ad610376366004610f4d565b6107a9565b6101db610389366004610fc0565b600160209081526000928352604080842090915290825290205481565b6101ad6103b4366004610f2b565b610a6c565b600380546103c690610ff3565b80601f01602080910402602001604051908101604052809291908181526020018280546103f290610ff3565b801561043f5780601f106104145761010080835404028352916020019161043f565b820191906000526020600020905b81548152906001019060200180831161042257829003601f168201915b505050505081565b6006546001600160a01b03163314610472576040516330cd747160e01b815260040160405180910390fd5b600061047d82610515565b6001600160a01b0381166000908152602081905260409020549091506104a4908290610b4b565b5050565b60006104b5338484610bfe565b50600192915050565b6001600160a01b038316600090815260016020908152604080832033845290915281205460001981146104ff576104ff85336104fa8685611044565b610bfe565b61050a858585610c9b565b506001949350505050565b6006546040516000917fff00000000000000000000000000000000000000000000000000000000000000916001600160a01b0390911690849061055a60208201610e20565b601f1982820381018352601f90910116604081905261057c919060200161105b565b604051602081830303815290604052805190602001206040516020016105f194939291907fff0000000000000000000000000000000000000000000000000000000000000094909416845260609290921b6bffffffffffffffffffffffff191660018401526015830152603582015260550190565b60408051601f19818403018152919052805160209091012092915050565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916104b59185906104fa908690611077565b6006546001600160a01b03163314610671576040516330cd747160e01b815260040160405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000061069c8383610d77565b806106a657505050565b8060025411156106e2576040517fa4875a4900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050565b6006546001600160a01b03163314610712576040516330cd747160e01b815260040160405180910390fd5b6001600160a01b0382166000908152600160209081526040808320338452909152902054600019811461074e5761074e83336104fa8585611044565b6106e28383610b4b565b600480546103c690610ff3565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916104b59185906104fa908690611044565b60006104b5338484610c9b565b834211156107e3576040517f1a15a3cc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a081111561083d576040517f40c1e74800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8260ff16601b1415801561085557508260ff16601c14155b1561088c576040517f119bce3900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080518082018252600281527f19010000000000000000000000000000000000000000000000000000000000006020808301919091526001600160a01b038a166000908152600590915291822080547f0000000000000000000000000000000000000000000000000000000000000000917f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9918c918c918c91886109308361108f565b909155506040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810188905260e00160405160208183030381529060405280519060200120604051602001610994939291906110aa565b60408051601f198184030181528282528051602091820120600080855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa1580156109ff573d6000803e3d6000fd5b505050602060405103519050886001600160a01b0316816001600160a01b031614610a56576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610a61898989610bfe565b505050505050505050565b6006546001600160a01b03163314610a97576040516330cd747160e01b815260040160405180910390fd5b6001600160a01b038116610ad7576040517f49e27cff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6006546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600680547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b6001600160a01b038216610b7257604051630da30f6560e31b815260040160405180910390fd5b6001600160a01b03821660009081526020819052604081208054839290610b9a908490611044565b925050819055508060026000828254610bb39190611044565b90915550506040518181526000906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906020015b60405180910390a35050565b6001600160a01b0383161580610c1b57506001600160a01b038216155b15610c3957604051630da30f6560e31b815260040160405180910390fd5b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b0383161580610cb857506001600160a01b038216155b15610cd657604051630da30f6560e31b815260040160405180910390fd5b6001600160a01b03831660009081526020819052604081208054839290610cfe908490611044565b90915550506001600160a01b03821660009081526020819052604081208054839290610d2b908490611077565b92505081905550816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610c8e91815260200190565b6001600160a01b038216610d9e57604051630da30f6560e31b815260040160405180910390fd5b8060026000828254610db09190611077565b90915550506001600160a01b03821660009081526020819052604081208054839290610ddd908490611077565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90602001610bf2565b610349806110d283390190565b60005b83811015610e48578181015183820152602001610e30565b83811115610e57576000848401525b50505050565b6020815260008251806020840152610e7c816040850160208701610e2d565b601f01601f19169190910160400192915050565b600060208284031215610ea257600080fd5b5035919050565b80356001600160a01b0381168114610ec057600080fd5b919050565b60008060408385031215610ed857600080fd5b610ee183610ea9565b946020939093013593505050565b600080600060608486031215610f0457600080fd5b610f0d84610ea9565b9250610f1b60208501610ea9565b9150604084013590509250925092565b600060208284031215610f3d57600080fd5b610f4682610ea9565b9392505050565b600080600080600080600060e0888a031215610f6857600080fd5b610f7188610ea9565b9650610f7f60208901610ea9565b95506040880135945060608801359350608088013560ff81168114610fa357600080fd5b9699959850939692959460a0840135945060c09093013592915050565b60008060408385031215610fd357600080fd5b610fdc83610ea9565b9150610fea60208401610ea9565b90509250929050565b600181811c9082168061100757607f821691505b6020821081141561102857634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b6000828210156110565761105661102e565b500390565b6000825161106d818460208701610e2d565b9190910192915050565b6000821982111561108a5761108a61102e565b500190565b60006000198214156110a3576110a361102e565b5060010190565b600084516110bc818460208901610e2d565b9190910192835250602082015260400191905056fe6080604052600160005534801561001557600080fd5b50610324806100256000396000f3fe608060405234801561001057600080fd5b50600436106100355760003560e01c8062f55d9d1461003a5780631cff79cd1461004f575b600080fd5b61004d6100483660046101da565b610079565b005b61006261005d3660046101fc565b6100bb565b60405161007092919061027f565b60405180910390f35b6002600054141561009d5760405163caa30f5560e01b815260040160405180910390fd5b600260005573ffffffffffffffffffffffffffffffffffffffff8116ff5b60006060600260005414156100e35760405163caa30f5560e01b815260040160405180910390fd5b600260005573ffffffffffffffffffffffffffffffffffffffff85163b610136576040517f6f7c43f100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8473ffffffffffffffffffffffffffffffffffffffff16848460405161015d9291906102de565b6000604051808303816000865af19150503d806000811461019a576040519150601f19603f3d011682016040523d82523d6000602084013e61019f565b606091505b50600160005590969095509350505050565b803573ffffffffffffffffffffffffffffffffffffffff811681146101d557600080fd5b919050565b6000602082840312156101ec57600080fd5b6101f5826101b1565b9392505050565b60008060006040848603121561021157600080fd5b61021a846101b1565b9250602084013567ffffffffffffffff8082111561023757600080fd5b818601915086601f83011261024b57600080fd5b81358181111561025a57600080fd5b87602082850101111561026c57600080fd5b6020830194508093505050509250925092565b821515815260006020604081840152835180604085015260005b818110156102b557858101830151858201606001528201610299565b818111156102c7576000606083870101525b50601f01601f191692909201606001949350505050565b818382376000910190815291905056fea2646970667358221220dfb702492c35c6a884ac11997b483e3fee4ff8145c7abb0799d2a2fc8674c39364736f6c63430008090033a2646970667358221220a0862d822c5e76c8687a97d9d537ec0e3da210445e2873be021a84f7cd0a8dd464736f6c63430008090033a264697066735822122034c450aad63587ed41d45981e61047fed97aa7f349e0c22baccbc8285c613ab864736f6c63430008090033", - "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1A85 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 0x2B JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x6FC95B34 EQ PUSH2 0x30 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x43 PUSH2 0x3E CALLDATASIZE PUSH1 0x4 PUSH2 0x113 JUMP JUMPDEST PUSH2 0x6C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 DUP2 DUP9 DUP9 DUP9 DUP9 DUP9 DUP9 PUSH1 0x40 MLOAD PUSH2 0x81 SWAP1 PUSH2 0xBD JUMP JUMPDEST PUSH2 0x90 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x1D8 JUMP JUMPDEST DUP2 SWAP1 PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 PUSH1 0x0 CREATE2 SWAP1 POP DUP1 ISZERO DUP1 ISZERO PUSH2 0xB0 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x1837 DUP1 PUSH2 0x219 DUP4 CODECOPY ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0xDC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP DUP2 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xF4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x20 DUP3 DUP6 ADD ADD GT ISZERO PUSH2 0x10C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xA0 DUP9 DUP11 SUB SLT ISZERO PUSH2 0x12E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP8 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x146 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x152 DUP12 DUP4 DUP13 ADD PUSH2 0xCA JUMP JUMPDEST SWAP1 SWAP10 POP SWAP8 POP PUSH1 0x20 DUP11 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x16B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x178 DUP11 DUP3 DUP12 ADD PUSH2 0xCA JUMP JUMPDEST SWAP1 SWAP7 POP SWAP5 POP POP PUSH1 0x40 DUP9 ADD CALLDATALOAD PUSH1 0xFF DUP2 AND DUP2 EQ PUSH2 0x192 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP7 SWAP10 SWAP6 SWAP9 POP SWAP4 SWAP7 SWAP3 SWAP6 SWAP5 PUSH1 0x60 DUP5 ADD CALLDATALOAD SWAP5 POP PUSH1 0x80 SWAP1 SWAP4 ADD CALLDATALOAD SWAP3 SWAP2 POP POP JUMP JUMPDEST DUP2 DUP4 MSTORE DUP2 DUP2 PUSH1 0x20 DUP6 ADD CALLDATACOPY POP PUSH1 0x0 DUP3 DUP3 ADD PUSH1 0x20 SWAP1 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x1F SWAP1 SWAP2 ADD PUSH1 0x1F NOT AND SWAP1 SWAP2 ADD ADD SWAP1 JUMP JUMPDEST PUSH1 0x80 DUP2 MSTORE PUSH1 0x0 PUSH2 0x1EC PUSH1 0x80 DUP4 ADD DUP9 DUP11 PUSH2 0x1AF JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x1FF DUP2 DUP8 DUP10 PUSH2 0x1AF JUMP JUMPDEST PUSH1 0xFF SWAP6 SWAP1 SWAP6 AND PUSH1 0x40 DUP5 ADD MSTORE POP POP PUSH1 0x60 ADD MSTORE SWAP5 SWAP4 POP POP POP POP JUMP INVALID PUSH1 0xE0 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH3 0x11 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH3 0x1837 CODESIZE SUB DUP1 PUSH3 0x1837 DUP4 CODECOPY DUP2 ADD PUSH1 0x40 DUP2 SWAP1 MSTORE PUSH3 0x34 SWAP2 PUSH3 0x2E1 JUMP JUMPDEST DUP4 DUP4 DUP4 DUP4 DUP4 DUP5 DUP5 DUP5 DUP3 PUSH1 0x3 SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH3 0x54 SWAP3 SWAP2 SWAP1 PUSH3 0x16E JUMP JUMPDEST POP DUP2 MLOAD PUSH3 0x6A SWAP1 PUSH1 0x4 SWAP1 PUSH1 0x20 DUP6 ADD SWAP1 PUSH3 0x16E JUMP JUMPDEST POP PUSH1 0xFF AND PUSH1 0x80 SWAP1 DUP2 MSTORE DUP4 MLOAD PUSH1 0x20 DUP1 DUP7 ADD SWAP2 SWAP1 SWAP2 KECCAK256 PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD DUP3 MSTORE PUSH1 0x1 DUP2 MSTORE PUSH1 0x31 PUSH1 0xF8 SHL SWAP1 DUP5 ADD MSTORE DUP1 MLOAD PUSH32 0x8B73C3C69BB8FE3D512ECC4CF759CC79239F7B179B0FFACAA9A75D522B39400F SWAP4 DUP2 ADD SWAP4 SWAP1 SWAP4 MSTORE DUP3 ADD MSTORE PUSH32 0xC89EFDAA54C0F20C7ADF612882DF0950F5A951637E0307CDCB4C672F298B8BC6 PUSH1 0x60 DUP3 ADD MSTORE CHAINID SWAP2 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE ADDRESS PUSH1 0xA0 DUP3 ADD MSTORE PUSH1 0xC0 ADD SWAP2 POP PUSH3 0x102 SWAP1 POP JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F NOT DUP2 DUP5 SUB ADD DUP2 MSTORE SWAP1 DUP3 SWAP1 MSTORE DUP1 MLOAD PUSH1 0x20 SWAP1 SWAP2 ADD KECCAK256 PUSH1 0xA0 MSTORE PUSH1 0x6 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND CALLER SWAP1 DUP2 OR SWAP1 SWAP2 SSTORE SWAP2 POP PUSH1 0x0 SWAP1 PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 SWAP1 DUP3 SWAP1 LOG3 PUSH1 0xC0 MSTORE POP PUSH3 0x3A9 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST DUP3 DUP1 SLOAD PUSH3 0x17C SWAP1 PUSH3 0x36C JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 PUSH3 0x1A0 JUMPI PUSH1 0x0 DUP6 SSTORE PUSH3 0x1EB JUMP JUMPDEST DUP3 PUSH1 0x1F LT PUSH3 0x1BB JUMPI DUP1 MLOAD PUSH1 0xFF NOT AND DUP4 DUP1 ADD OR DUP6 SSTORE PUSH3 0x1EB JUMP JUMPDEST DUP3 DUP1 ADD PUSH1 0x1 ADD DUP6 SSTORE DUP3 ISZERO PUSH3 0x1EB JUMPI SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH3 0x1EB JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH3 0x1CE JUMP JUMPDEST POP PUSH3 0x1F9 SWAP3 SWAP2 POP PUSH3 0x1FD JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST JUMPDEST DUP1 DUP3 GT ISZERO PUSH3 0x1F9 JUMPI PUSH1 0x0 DUP2 SSTORE PUSH1 0x1 ADD PUSH3 0x1FE JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH3 0x23C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH3 0x259 JUMPI PUSH3 0x259 PUSH3 0x214 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP4 ADD PUSH1 0x1F NOT SWAP1 DUP2 AND PUSH1 0x3F ADD AND DUP2 ADD SWAP1 DUP3 DUP3 GT DUP2 DUP4 LT OR ISZERO PUSH3 0x284 JUMPI PUSH3 0x284 PUSH3 0x214 JUMP JUMPDEST DUP2 PUSH1 0x40 MSTORE DUP4 DUP2 MSTORE PUSH1 0x20 SWAP3 POP DUP7 DUP4 DUP6 DUP9 ADD ADD GT ISZERO PUSH3 0x2A1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 SWAP2 POP JUMPDEST DUP4 DUP3 LT ISZERO PUSH3 0x2C5 JUMPI DUP6 DUP3 ADD DUP4 ADD MLOAD DUP2 DUP4 ADD DUP5 ADD MSTORE SWAP1 DUP3 ADD SWAP1 PUSH3 0x2A6 JUMP JUMPDEST DUP4 DUP3 GT ISZERO PUSH3 0x2D7 JUMPI PUSH1 0x0 DUP4 DUP6 DUP4 ADD ADD MSTORE JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH3 0x2F8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP5 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH3 0x310 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH3 0x31E DUP9 DUP4 DUP10 ADD PUSH3 0x22A JUMP JUMPDEST SWAP6 POP PUSH1 0x20 DUP8 ADD MLOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH3 0x335 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH3 0x344 DUP8 DUP3 DUP9 ADD PUSH3 0x22A JUMP JUMPDEST SWAP4 POP POP PUSH1 0x40 DUP6 ADD MLOAD PUSH1 0xFF DUP2 AND DUP2 EQ PUSH3 0x35C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x60 SWAP6 SWAP1 SWAP6 ADD MLOAD SWAP4 SWAP7 SWAP3 SWAP6 POP POP POP JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH3 0x381 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH3 0x3A3 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 PUSH1 0x80 MLOAD PUSH1 0xA0 MLOAD PUSH1 0xC0 MLOAD PUSH2 0x1450 PUSH3 0x3E7 PUSH1 0x0 CODECOPY PUSH1 0x0 DUP2 DUP2 PUSH2 0x265 ADD MSTORE PUSH2 0x673 ADD MSTORE PUSH1 0x0 DUP2 DUP2 PUSH2 0x28C ADD MSTORE PUSH2 0x8DE ADD MSTORE PUSH1 0x0 PUSH2 0x201 ADD MSTORE PUSH2 0x1450 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 0x177 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x40C10F19 GT PUSH2 0xD8 JUMPI DUP1 PUSH4 0x95D89B41 GT PUSH2 0x8C JUMPI DUP1 PUSH4 0xD505ACCF GT PUSH2 0x66 JUMPI DUP1 PUSH4 0xD505ACCF EQ PUSH2 0x368 JUMPI DUP1 PUSH4 0xDD62ED3E EQ PUSH2 0x37B JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0x3A6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x33A JUMPI DUP1 PUSH4 0xA457C2D7 EQ PUSH2 0x342 JUMPI DUP1 PUSH4 0xA9059CBB EQ PUSH2 0x355 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x79CC6790 GT PUSH2 0xBD JUMPI DUP1 PUSH4 0x79CC6790 EQ PUSH2 0x2F4 JUMPI DUP1 PUSH4 0x7ECEBE00 EQ PUSH2 0x307 JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x327 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x40C10F19 EQ PUSH2 0x2C1 JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x2D4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x313CE567 GT PUSH2 0x12F JUMPI DUP1 PUSH4 0x355274EA GT PUSH2 0x114 JUMPI DUP1 PUSH4 0x355274EA EQ PUSH2 0x260 JUMPI DUP1 PUSH4 0x3644E515 EQ PUSH2 0x287 JUMPI DUP1 PUSH4 0x39509351 EQ PUSH2 0x2AE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x313CE567 EQ PUSH2 0x1FC JUMPI DUP1 PUSH4 0x31EECAF4 EQ PUSH2 0x235 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x95EA7B3 GT PUSH2 0x160 JUMPI DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0x1AF JUMPI DUP1 PUSH4 0x18160DDD EQ PUSH2 0x1D2 JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x1E9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0x17C JUMPI DUP1 PUSH4 0x8A1EEE1 EQ PUSH2 0x19A JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x184 PUSH2 0x3B9 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x191 SWAP2 SWAP1 PUSH2 0xE5D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1AD PUSH2 0x1A8 CALLDATASIZE PUSH1 0x4 PUSH2 0xE90 JUMP JUMPDEST PUSH2 0x447 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x1C2 PUSH2 0x1BD CALLDATASIZE PUSH1 0x4 PUSH2 0xEC5 JUMP JUMPDEST PUSH2 0x4A8 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x191 JUMP JUMPDEST PUSH2 0x1DB PUSH1 0x2 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x191 JUMP JUMPDEST PUSH2 0x1C2 PUSH2 0x1F7 CALLDATASIZE PUSH1 0x4 PUSH2 0xEEF JUMP JUMPDEST PUSH2 0x4BE JUMP JUMPDEST PUSH2 0x223 PUSH32 0x0 DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0xFF SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x191 JUMP JUMPDEST PUSH2 0x248 PUSH2 0x243 CALLDATASIZE PUSH1 0x4 PUSH2 0xE90 JUMP JUMPDEST PUSH2 0x515 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x191 JUMP JUMPDEST PUSH2 0x1DB PUSH32 0x0 DUP2 JUMP JUMPDEST PUSH2 0x1DB PUSH32 0x0 DUP2 JUMP JUMPDEST PUSH2 0x1C2 PUSH2 0x2BC CALLDATASIZE PUSH1 0x4 PUSH2 0xEC5 JUMP JUMPDEST PUSH2 0x60F JUMP JUMPDEST PUSH2 0x1AD PUSH2 0x2CF CALLDATASIZE PUSH1 0x4 PUSH2 0xEC5 JUMP JUMPDEST PUSH2 0x646 JUMP JUMPDEST PUSH2 0x1DB PUSH2 0x2E2 CALLDATASIZE PUSH1 0x4 PUSH2 0xF2B JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP2 SWAP1 MSTORE SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD DUP2 JUMP JUMPDEST PUSH2 0x1AD PUSH2 0x302 CALLDATASIZE PUSH1 0x4 PUSH2 0xEC5 JUMP JUMPDEST PUSH2 0x6E7 JUMP JUMPDEST PUSH2 0x1DB PUSH2 0x315 CALLDATASIZE PUSH1 0x4 PUSH2 0xF2B JUMP JUMPDEST PUSH1 0x5 PUSH1 0x20 MSTORE PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x6 SLOAD PUSH2 0x248 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST PUSH2 0x184 PUSH2 0x758 JUMP JUMPDEST PUSH2 0x1C2 PUSH2 0x350 CALLDATASIZE PUSH1 0x4 PUSH2 0xEC5 JUMP JUMPDEST PUSH2 0x765 JUMP JUMPDEST PUSH2 0x1C2 PUSH2 0x363 CALLDATASIZE PUSH1 0x4 PUSH2 0xEC5 JUMP JUMPDEST PUSH2 0x79C JUMP JUMPDEST PUSH2 0x1AD PUSH2 0x376 CALLDATASIZE PUSH1 0x4 PUSH2 0xF4D JUMP JUMPDEST PUSH2 0x7A9 JUMP JUMPDEST PUSH2 0x1DB PUSH2 0x389 CALLDATASIZE PUSH1 0x4 PUSH2 0xFC0 JUMP JUMPDEST PUSH1 0x1 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 0x1AD PUSH2 0x3B4 CALLDATASIZE PUSH1 0x4 PUSH2 0xF2B JUMP JUMPDEST PUSH2 0xA6C JUMP JUMPDEST PUSH1 0x3 DUP1 SLOAD PUSH2 0x3C6 SWAP1 PUSH2 0xFF3 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 0x3F2 SWAP1 PUSH2 0xFF3 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x43F JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x414 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x43F 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 0x422 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 JUMP JUMPDEST PUSH1 0x6 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x472 JUMPI PUSH1 0x40 MLOAD PUSH4 0x30CD7471 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x47D DUP3 PUSH2 0x515 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 SWAP1 SWAP2 POP PUSH2 0x4A4 SWAP1 DUP3 SWAP1 PUSH2 0xB4B JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4B5 CALLER DUP5 DUP5 PUSH2 0xBFE JUMP JUMPDEST POP PUSH1 0x1 SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 CALLER DUP5 MSTORE SWAP1 SWAP2 MSTORE DUP2 KECCAK256 SLOAD PUSH1 0x0 NOT DUP2 EQ PUSH2 0x4FF JUMPI PUSH2 0x4FF DUP6 CALLER PUSH2 0x4FA DUP7 DUP6 PUSH2 0x1044 JUMP JUMPDEST PUSH2 0xBFE JUMP JUMPDEST PUSH2 0x50A DUP6 DUP6 DUP6 PUSH2 0xC9B JUMP JUMPDEST POP PUSH1 0x1 SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x6 SLOAD PUSH1 0x40 MLOAD PUSH1 0x0 SWAP2 PUSH32 0xFF00000000000000000000000000000000000000000000000000000000000000 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 DUP5 SWAP1 PUSH2 0x55A PUSH1 0x20 DUP3 ADD PUSH2 0xE20 JUMP JUMPDEST PUSH1 0x1F NOT DUP3 DUP3 SUB DUP2 ADD DUP4 MSTORE PUSH1 0x1F SWAP1 SWAP2 ADD AND PUSH1 0x40 DUP2 SWAP1 MSTORE PUSH2 0x57C SWAP2 SWAP1 PUSH1 0x20 ADD PUSH2 0x105B 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 PUSH1 0x20 ADD PUSH2 0x5F1 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH32 0xFF00000000000000000000000000000000000000000000000000000000000000 SWAP5 SWAP1 SWAP5 AND DUP5 MSTORE PUSH1 0x60 SWAP3 SWAP1 SWAP3 SHL PUSH12 0xFFFFFFFFFFFFFFFFFFFFFFFF NOT AND PUSH1 0x1 DUP5 ADD MSTORE PUSH1 0x15 DUP4 ADD MSTORE PUSH1 0x35 DUP3 ADD MSTORE PUSH1 0x55 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F NOT DUP2 DUP5 SUB ADD DUP2 MSTORE SWAP2 SWAP1 MSTORE DUP1 MLOAD PUSH1 0x20 SWAP1 SWAP2 ADD KECCAK256 SWAP3 SWAP2 POP POP JUMP JUMPDEST CALLER PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE DUP2 KECCAK256 SLOAD SWAP1 SWAP2 PUSH2 0x4B5 SWAP2 DUP6 SWAP1 PUSH2 0x4FA SWAP1 DUP7 SWAP1 PUSH2 0x1077 JUMP JUMPDEST PUSH1 0x6 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x671 JUMPI PUSH1 0x40 MLOAD PUSH4 0x30CD7471 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH32 0x0 PUSH2 0x69C DUP4 DUP4 PUSH2 0xD77 JUMP JUMPDEST DUP1 PUSH2 0x6A6 JUMPI POP POP POP JUMP JUMPDEST DUP1 PUSH1 0x2 SLOAD GT ISZERO PUSH2 0x6E2 JUMPI PUSH1 0x40 MLOAD PUSH32 0xA4875A4900000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x6 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x712 JUMPI PUSH1 0x40 MLOAD PUSH4 0x30CD7471 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 CALLER DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 SLOAD PUSH1 0x0 NOT DUP2 EQ PUSH2 0x74E JUMPI PUSH2 0x74E DUP4 CALLER PUSH2 0x4FA DUP6 DUP6 PUSH2 0x1044 JUMP JUMPDEST PUSH2 0x6E2 DUP4 DUP4 PUSH2 0xB4B JUMP JUMPDEST PUSH1 0x4 DUP1 SLOAD PUSH2 0x3C6 SWAP1 PUSH2 0xFF3 JUMP JUMPDEST CALLER PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE DUP2 KECCAK256 SLOAD SWAP1 SWAP2 PUSH2 0x4B5 SWAP2 DUP6 SWAP1 PUSH2 0x4FA SWAP1 DUP7 SWAP1 PUSH2 0x1044 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4B5 CALLER DUP5 DUP5 PUSH2 0xC9B JUMP JUMPDEST DUP4 TIMESTAMP GT ISZERO PUSH2 0x7E3 JUMPI PUSH1 0x40 MLOAD PUSH32 0x1A15A3CC00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH32 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5D576E7357A4501DDFE92F46681B20A0 DUP2 GT ISZERO PUSH2 0x83D JUMPI PUSH1 0x40 MLOAD PUSH32 0x40C1E74800000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP3 PUSH1 0xFF AND PUSH1 0x1B EQ ISZERO DUP1 ISZERO PUSH2 0x855 JUMPI POP DUP3 PUSH1 0xFF AND PUSH1 0x1C EQ ISZERO JUMPDEST ISZERO PUSH2 0x88C JUMPI PUSH1 0x40 MLOAD PUSH32 0x119BCE3900000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD DUP3 MSTORE PUSH1 0x2 DUP2 MSTORE PUSH32 0x1901000000000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP1 DUP4 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP11 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x5 SWAP1 SWAP2 MSTORE SWAP2 DUP3 KECCAK256 DUP1 SLOAD PUSH32 0x0 SWAP2 PUSH32 0x6E71EDAE12B1B97F4D1F60370FEF10105FA2FAAE0126114A169C64845D6126C9 SWAP2 DUP13 SWAP2 DUP13 SWAP2 DUP13 SWAP2 DUP9 PUSH2 0x930 DUP4 PUSH2 0x108F JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 DUP2 ADD SWAP7 SWAP1 SWAP7 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP5 DUP6 AND SWAP1 DUP7 ADD MSTORE SWAP3 SWAP1 SWAP2 AND PUSH1 0x60 DUP5 ADD MSTORE PUSH1 0x80 DUP4 ADD MSTORE PUSH1 0xA0 DUP3 ADD MSTORE PUSH1 0xC0 DUP2 ADD DUP9 SWAP1 MSTORE PUSH1 0xE0 ADD 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 PUSH1 0x20 ADD PUSH2 0x994 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x10AA JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F NOT DUP2 DUP5 SUB ADD DUP2 MSTORE DUP3 DUP3 MSTORE DUP1 MLOAD PUSH1 0x20 SWAP2 DUP3 ADD KECCAK256 PUSH1 0x0 DUP1 DUP6 MSTORE SWAP2 DUP5 ADD DUP1 DUP5 MSTORE DUP2 SWAP1 MSTORE PUSH1 0xFF DUP9 AND SWAP3 DUP5 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x60 DUP4 ADD DUP7 SWAP1 MSTORE PUSH1 0x80 DUP4 ADD DUP6 SWAP1 MSTORE SWAP1 SWAP3 POP SWAP1 PUSH1 0x1 SWAP1 PUSH1 0xA0 ADD PUSH1 0x20 PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 SUB SWAP1 DUP1 DUP5 SUB SWAP1 DUP6 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x9FF JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP PUSH1 0x20 PUSH1 0x40 MLOAD SUB MLOAD SWAP1 POP DUP9 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0xA56 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8BAA579F00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0xA61 DUP10 DUP10 DUP10 PUSH2 0xBFE JUMP JUMPDEST POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x6 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0xA97 JUMPI PUSH1 0x40 MLOAD PUSH4 0x30CD7471 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0xAD7 JUMPI PUSH1 0x40 MLOAD PUSH32 0x49E27CFF00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x6 SLOAD PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP5 AND SWAP3 AND SWAP1 PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 SWAP1 PUSH1 0x0 SWAP1 LOG3 PUSH1 0x6 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 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0xB72 JUMPI PUSH1 0x40 MLOAD PUSH4 0xDA30F65 PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST 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 0xB9A SWAP1 DUP5 SWAP1 PUSH2 0x1044 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP DUP1 PUSH1 0x2 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0xBB3 SWAP2 SWAP1 PUSH2 0x1044 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x40 MLOAD DUP2 DUP2 MSTORE PUSH1 0x0 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND SWAP1 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP1 PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND ISZERO DUP1 PUSH2 0xC1B JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND ISZERO JUMPDEST ISZERO PUSH2 0xC39 JUMPI PUSH1 0x40 MLOAD PUSH4 0xDA30F65 PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 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 DUP3 MSTORE SWAP2 DUP3 SWAP1 KECCAK256 DUP6 SWAP1 SSTORE SWAP1 MLOAD DUP5 DUP2 MSTORE PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 SWAP2 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND ISZERO DUP1 PUSH2 0xCB8 JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND ISZERO JUMPDEST ISZERO PUSH2 0xCD6 JUMPI PUSH1 0x40 MLOAD PUSH4 0xDA30F65 PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD DUP4 SWAP3 SWAP1 PUSH2 0xCFE SWAP1 DUP5 SWAP1 PUSH2 0x1044 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 0xD2B SWAP1 DUP5 SWAP1 PUSH2 0x1077 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF DUP4 PUSH1 0x40 MLOAD PUSH2 0xC8E SWAP2 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0xD9E JUMPI PUSH1 0x40 MLOAD PUSH4 0xDA30F65 PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0x2 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0xDB0 SWAP2 SWAP1 PUSH2 0x1077 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 0xDDD SWAP1 DUP5 SWAP1 PUSH2 0x1077 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x40 MLOAD DUP2 DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 PUSH1 0x0 SWAP1 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP1 PUSH1 0x20 ADD PUSH2 0xBF2 JUMP JUMPDEST PUSH2 0x349 DUP1 PUSH2 0x10D2 DUP4 CODECOPY ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0xE48 JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0xE30 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0xE57 JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 DUP3 MLOAD DUP1 PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0xE7C DUP2 PUSH1 0x40 DUP6 ADD PUSH1 0x20 DUP8 ADD PUSH2 0xE2D JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP2 SWAP1 SWAP2 ADD PUSH1 0x40 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xEA2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0xEC0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xED8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xEE1 DUP4 PUSH2 0xEA9 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 0xF04 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xF0D DUP5 PUSH2 0xEA9 JUMP JUMPDEST SWAP3 POP PUSH2 0xF1B PUSH1 0x20 DUP6 ADD PUSH2 0xEA9 JUMP JUMPDEST SWAP2 POP PUSH1 0x40 DUP5 ADD CALLDATALOAD SWAP1 POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xF3D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xF46 DUP3 PUSH2 0xEA9 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xE0 DUP9 DUP11 SUB SLT ISZERO PUSH2 0xF68 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xF71 DUP9 PUSH2 0xEA9 JUMP JUMPDEST SWAP7 POP PUSH2 0xF7F PUSH1 0x20 DUP10 ADD PUSH2 0xEA9 JUMP JUMPDEST SWAP6 POP PUSH1 0x40 DUP9 ADD CALLDATALOAD SWAP5 POP PUSH1 0x60 DUP9 ADD CALLDATALOAD SWAP4 POP PUSH1 0x80 DUP9 ADD CALLDATALOAD PUSH1 0xFF DUP2 AND DUP2 EQ PUSH2 0xFA3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP7 SWAP10 SWAP6 SWAP9 POP SWAP4 SWAP7 SWAP3 SWAP6 SWAP5 PUSH1 0xA0 DUP5 ADD CALLDATALOAD SWAP5 POP PUSH1 0xC0 SWAP1 SWAP4 ADD CALLDATALOAD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xFD3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xFDC DUP4 PUSH2 0xEA9 JUMP JUMPDEST SWAP2 POP PUSH2 0xFEA PUSH1 0x20 DUP5 ADD PUSH2 0xEA9 JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0x1007 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH2 0x1028 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 PUSH1 0x0 DUP3 DUP3 LT ISZERO PUSH2 0x1056 JUMPI PUSH2 0x1056 PUSH2 0x102E JUMP JUMPDEST POP SUB SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 MLOAD PUSH2 0x106D DUP2 DUP5 PUSH1 0x20 DUP8 ADD PUSH2 0xE2D JUMP JUMPDEST SWAP2 SWAP1 SWAP2 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 NOT DUP3 GT ISZERO PUSH2 0x108A JUMPI PUSH2 0x108A PUSH2 0x102E JUMP JUMPDEST POP ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x0 NOT DUP3 EQ ISZERO PUSH2 0x10A3 JUMPI PUSH2 0x10A3 PUSH2 0x102E JUMP JUMPDEST POP PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP5 MLOAD PUSH2 0x10BC DUP2 DUP5 PUSH1 0x20 DUP10 ADD PUSH2 0xE2D JUMP JUMPDEST SWAP2 SWAP1 SWAP2 ADD SWAP3 DUP4 MSTORE POP PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 ADD SWAP2 SWAP1 POP JUMP INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x1 PUSH1 0x0 SSTORE CALLVALUE DUP1 ISZERO PUSH2 0x15 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x324 DUP1 PUSH2 0x25 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 0x35 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH3 0xF55D9D EQ PUSH2 0x3A JUMPI DUP1 PUSH4 0x1CFF79CD EQ PUSH2 0x4F JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4D PUSH2 0x48 CALLDATASIZE PUSH1 0x4 PUSH2 0x1DA JUMP JUMPDEST PUSH2 0x79 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x62 PUSH2 0x5D CALLDATASIZE PUSH1 0x4 PUSH2 0x1FC JUMP JUMPDEST PUSH2 0xBB JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x70 SWAP3 SWAP2 SWAP1 PUSH2 0x27F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x2 PUSH1 0x0 SLOAD EQ ISZERO PUSH2 0x9D JUMPI PUSH1 0x40 MLOAD PUSH4 0xCAA30F55 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x2 PUSH1 0x0 SSTORE PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 AND SELFDESTRUCT JUMPDEST PUSH1 0x0 PUSH1 0x60 PUSH1 0x2 PUSH1 0x0 SLOAD EQ ISZERO PUSH2 0xE3 JUMPI PUSH1 0x40 MLOAD PUSH4 0xCAA30F55 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x2 PUSH1 0x0 SSTORE PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP6 AND EXTCODESIZE PUSH2 0x136 JUMPI PUSH1 0x40 MLOAD PUSH32 0x6F7C43F100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP5 DUP5 PUSH1 0x40 MLOAD PUSH2 0x15D SWAP3 SWAP2 SWAP1 PUSH2 0x2DE JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP7 GAS CALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x19A JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x19F JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP PUSH1 0x1 PUSH1 0x0 SSTORE SWAP1 SWAP7 SWAP1 SWAP6 POP SWAP4 POP POP POP POP JUMP JUMPDEST DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 AND DUP2 EQ PUSH2 0x1D5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1EC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1F5 DUP3 PUSH2 0x1B1 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x40 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x211 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x21A DUP5 PUSH2 0x1B1 JUMP JUMPDEST SWAP3 POP PUSH1 0x20 DUP5 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x237 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP7 ADD SWAP2 POP DUP7 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x24B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD DUP2 DUP2 GT ISZERO PUSH2 0x25A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP8 PUSH1 0x20 DUP3 DUP6 ADD ADD GT ISZERO PUSH2 0x26C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x20 DUP4 ADD SWAP5 POP DUP1 SWAP4 POP POP POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST DUP3 ISZERO ISZERO DUP2 MSTORE PUSH1 0x0 PUSH1 0x20 PUSH1 0x40 DUP2 DUP5 ADD MSTORE DUP4 MLOAD DUP1 PUSH1 0x40 DUP6 ADD MSTORE PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x2B5 JUMPI DUP6 DUP2 ADD DUP4 ADD MLOAD DUP6 DUP3 ADD PUSH1 0x60 ADD MSTORE DUP3 ADD PUSH2 0x299 JUMP JUMPDEST DUP2 DUP2 GT ISZERO PUSH2 0x2C7 JUMPI PUSH1 0x0 PUSH1 0x60 DUP4 DUP8 ADD ADD MSTORE JUMPDEST POP PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x60 ADD SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST DUP2 DUP4 DUP3 CALLDATACOPY PUSH1 0x0 SWAP2 ADD SWAP1 DUP2 MSTORE SWAP2 SWAP1 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xDF 0xB7 MUL 0x49 0x2C CALLDATALOAD 0xC6 0xA8 DUP5 0xAC GT SWAP10 PUSH28 0x483E3FEE4FF8145C7ABB0799D2A2FC8674C39364736F6C6343000809 STOP CALLER LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 LOG0 DUP7 0x2D DUP3 0x2C 0x5E PUSH23 0xC8687A97D9D537EC0E3DA210445E2873BE021A84F7CD0A DUP14 0xD4 PUSH5 0x736F6C6343 STOP ADDMOD MULMOD STOP CALLER LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 CALLVALUE 0xC4 POP 0xAA 0xD6 CALLDATALOAD DUP8 0xED COINBASE 0xD4 MSIZE DUP2 0xE6 LT SELFBALANCE INVALID 0xD9 PUSH27 0xA7F349E0C22BACCBC8285C613AB864736F6C634300080900330000 ", - "sourceMap": "206:360:12:-:0;;;;;;;;;;;;;;;;;;;" - }, - "deployedBytecode": { - "functionDebugData": { - "@deployToken_4478": { - "entryPoint": 108, - "id": 4478, - "parameterSlots": 7, - "returnSlots": 1 - }, - "abi_decode_string_calldata": { - "entryPoint": 202, - "id": null, - "parameterSlots": 2, - "returnSlots": 2 - }, - "abi_decode_tuple_t_string_calldata_ptrt_string_calldata_ptrt_uint8t_uint256t_bytes32": { - "entryPoint": 275, - "id": null, - "parameterSlots": 2, - "returnSlots": 7 - }, - "abi_encode_string_calldata": { - "entryPoint": 431, - "id": null, - "parameterSlots": 3, - "returnSlots": 1 - }, - "abi_encode_tuple_t_address__to_t_address__fromStack_reversed": { - "entryPoint": null, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_encode_tuple_t_string_calldata_ptr_t_string_calldata_ptr_t_uint8_t_uint256__to_t_string_memory_ptr_t_string_memory_ptr_t_uint8_t_uint256__fromStack_reversed": { - "entryPoint": 472, - "id": null, - "parameterSlots": 7, - "returnSlots": 1 - } - }, - "generatedSources": [ - { - "ast": { - "nodeType": "YulBlock", - "src": "0:2481:34", - "statements": [ - { - "nodeType": "YulBlock", - "src": "6:3:34", - "statements": [] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "87:275:34", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "136:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "145:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "148:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "138:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "138:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "138:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "115:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "123:4:34", - "type": "", - "value": "0x1f" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "111:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "111:17:34" - }, - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "130:3:34" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "107:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "107:27:34" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "100:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "100:35:34" - }, - "nodeType": "YulIf", - "src": "97:55:34" - }, - { - "nodeType": "YulAssignment", - "src": "161:30:34", - "value": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "184:6:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "171:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "171:20:34" - }, - "variableNames": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "161:6:34" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "234:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "243:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "246:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "236:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "236:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "236:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "206:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "214:18:34", - "type": "", - "value": "0xffffffffffffffff" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "203:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "203:30:34" - }, - "nodeType": "YulIf", - "src": "200:50:34" - }, - { - "nodeType": "YulAssignment", - "src": "259:29:34", - "value": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "275:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "283:4:34", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "271:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "271:17:34" - }, - "variableNames": [ - { - "name": "arrayPos", - "nodeType": "YulIdentifier", - "src": "259:8:34" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "340:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "349:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "352:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "342:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "342:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "342:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "311:6:34" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "319:6:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "307:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "307:19:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "328:4:34", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "303:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "303:30:34" - }, - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "335:3:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "300:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "300:39:34" - }, - "nodeType": "YulIf", - "src": "297:59:34" - } - ] - }, - "name": "abi_decode_string_calldata", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "50:6:34", - "type": "" - }, - { - "name": "end", - "nodeType": "YulTypedName", - "src": "58:3:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "arrayPos", - "nodeType": "YulTypedName", - "src": "66:8:34", - "type": "" - }, - { - "name": "length", - "nodeType": "YulTypedName", - "src": "76:6:34", - "type": "" - } - ], - "src": "14:348:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "543:840:34", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "590:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "599:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "602:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "592:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "592:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "592:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "564:7:34" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "573:9:34" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "560:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "560:23:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "585:3:34", - "type": "", - "value": "160" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "556:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "556:33:34" - }, - "nodeType": "YulIf", - "src": "553:53:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "615:37:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "642:9:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "629:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "629:23:34" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "619:6:34", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "661:28:34", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "671:18:34", - "type": "", - "value": "0xffffffffffffffff" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "665:2:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "716:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "725:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "728:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "718:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "718:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "718:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "704:6:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "712:2:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "701:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "701:14:34" - }, - "nodeType": "YulIf", - "src": "698:34:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "741:85:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "798:9:34" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "809:6:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "794:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "794:22:34" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "818:7:34" - } - ], - "functionName": { - "name": "abi_decode_string_calldata", - "nodeType": "YulIdentifier", - "src": "767:26:34" - }, - "nodeType": "YulFunctionCall", - "src": "767:59:34" - }, - "variables": [ - { - "name": "value0_1", - "nodeType": "YulTypedName", - "src": "745:8:34", - "type": "" - }, - { - "name": "value1_1", - "nodeType": "YulTypedName", - "src": "755:8:34", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "835:18:34", - "value": { - "name": "value0_1", - "nodeType": "YulIdentifier", - "src": "845:8:34" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "835:6:34" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "862:18:34", - "value": { - "name": "value1_1", - "nodeType": "YulIdentifier", - "src": "872:8:34" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "862:6:34" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "889:48:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "922:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "933:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "918:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "918:18:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "905:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "905:32:34" - }, - "variables": [ - { - "name": "offset_1", - "nodeType": "YulTypedName", - "src": "893:8:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "966:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "975:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "978:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "968:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "968:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "968:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset_1", - "nodeType": "YulIdentifier", - "src": "952:8:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "962:2:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "949:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "949:16:34" - }, - "nodeType": "YulIf", - "src": "946:36:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "991:87:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1048:9:34" - }, - { - "name": "offset_1", - "nodeType": "YulIdentifier", - "src": "1059:8:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1044:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1044:24:34" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "1070:7:34" - } - ], - "functionName": { - "name": "abi_decode_string_calldata", - "nodeType": "YulIdentifier", - "src": "1017:26:34" - }, - "nodeType": "YulFunctionCall", - "src": "1017:61:34" - }, - "variables": [ - { - "name": "value2_1", - "nodeType": "YulTypedName", - "src": "995:8:34", - "type": "" - }, - { - "name": "value3_1", - "nodeType": "YulTypedName", - "src": "1005:8:34", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "1087:18:34", - "value": { - "name": "value2_1", - "nodeType": "YulIdentifier", - "src": "1097:8:34" - }, - "variableNames": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "1087:6:34" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "1114:18:34", - "value": { - "name": "value3_1", - "nodeType": "YulIdentifier", - "src": "1124:8:34" - }, - "variableNames": [ - { - "name": "value3", - "nodeType": "YulIdentifier", - "src": "1114:6:34" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1141:45:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1171:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1182:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1167:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1167:18:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "1154:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "1154:32:34" - }, - "variables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "1145:5:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1234:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1243:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1246:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "1236:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "1236:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "1236:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "1208:5:34" - }, - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "1219:5:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1226:4:34", - "type": "", - "value": "0xff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "1215:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1215:16:34" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "1205:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "1205:27:34" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "1198:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "1198:35:34" - }, - "nodeType": "YulIf", - "src": "1195:55:34" - }, - { - "nodeType": "YulAssignment", - "src": "1259:15:34", - "value": { - "name": "value", - "nodeType": "YulIdentifier", - "src": "1269:5:34" - }, - "variableNames": [ - { - "name": "value4", - "nodeType": "YulIdentifier", - "src": "1259:6:34" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "1283:42:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1310:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1321:2:34", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1306:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1306:18:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "1293:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "1293:32:34" - }, - "variableNames": [ - { - "name": "value5", - "nodeType": "YulIdentifier", - "src": "1283:6:34" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "1334:43:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1361:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1372:3:34", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1357:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1357:19:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "1344:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "1344:33:34" - }, - "variableNames": [ - { - "name": "value6", - "nodeType": "YulIdentifier", - "src": "1334:6:34" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_string_calldata_ptrt_string_calldata_ptrt_uint8t_uint256t_bytes32", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "461:9:34", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "472:7:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "484:6:34", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "492:6:34", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "500:6:34", - "type": "" - }, - { - "name": "value3", - "nodeType": "YulTypedName", - "src": "508:6:34", - "type": "" - }, - { - "name": "value4", - "nodeType": "YulTypedName", - "src": "516:6:34", - "type": "" - }, - { - "name": "value5", - "nodeType": "YulTypedName", - "src": "524:6:34", - "type": "" - }, - { - "name": "value6", - "nodeType": "YulTypedName", - "src": "532:6:34", - "type": "" - } - ], - "src": "367:1016:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1489:125:34", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "1499:26:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1511:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1522:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1507:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1507:18:34" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "1499:4:34" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1541:9:34" - }, - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1556:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1564:42:34", - "type": "", - "value": "0xffffffffffffffffffffffffffffffffffffffff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "1552:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1552:55:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1534:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "1534:74:34" - }, - "nodeType": "YulExpressionStatement", - "src": "1534:74:34" - } - ] - }, - "name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "1458:9:34", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "1469:6:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "1480:4:34", - "type": "" - } - ], - "src": "1388:226:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1686:200:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "1703:3:34" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "1708:6:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1696:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "1696:19:34" - }, - "nodeType": "YulExpressionStatement", - "src": "1696:19:34" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "1741:3:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1746:4:34", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1737:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1737:14:34" - }, - { - "name": "start", - "nodeType": "YulIdentifier", - "src": "1753:5:34" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "1760:6:34" - } - ], - "functionName": { - "name": "calldatacopy", - "nodeType": "YulIdentifier", - "src": "1724:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "1724:43:34" - }, - "nodeType": "YulExpressionStatement", - "src": "1724:43:34" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "1791:3:34" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "1796:6:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1787:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1787:16:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1805:4:34", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1783:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1783:27:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1812:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1776:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "1776:38:34" - }, - "nodeType": "YulExpressionStatement", - "src": "1776:38:34" - }, - { - "nodeType": "YulAssignment", - "src": "1823:57:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "1838:3:34" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "1851:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1859:2:34", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1847:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1847:15:34" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1868:2:34", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "1864:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1864:7:34" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "1843:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1843:29:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1834:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1834:39:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1875:4:34", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1830:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1830:50:34" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "1823:3:34" - } - ] - } - ] - }, - "name": "abi_encode_string_calldata", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "start", - "nodeType": "YulTypedName", - "src": "1655:5:34", - "type": "" - }, - { - "name": "length", - "nodeType": "YulTypedName", - "src": "1662:6:34", - "type": "" - }, - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "1670:3:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "1678:3:34", - "type": "" - } - ], - "src": "1619:267:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2132:347:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2149:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2160:3:34", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2142:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "2142:22:34" - }, - "nodeType": "YulExpressionStatement", - "src": "2142:22:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "2173:77:34", - "value": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "2214:6:34" - }, - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "2222:6:34" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2234:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2245:3:34", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2230:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "2230:19:34" - } - ], - "functionName": { - "name": "abi_encode_string_calldata", - "nodeType": "YulIdentifier", - "src": "2187:26:34" - }, - "nodeType": "YulFunctionCall", - "src": "2187:63:34" - }, - "variables": [ - { - "name": "tail_1", - "nodeType": "YulTypedName", - "src": "2177:6:34", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2270:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2281:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2266:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "2266:18:34" - }, - { - "arguments": [ - { - "name": "tail_1", - "nodeType": "YulIdentifier", - "src": "2290:6:34" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2298:9:34" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "2286:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "2286:22:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2259:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "2259:50:34" - }, - "nodeType": "YulExpressionStatement", - "src": "2259:50:34" - }, - { - "nodeType": "YulAssignment", - "src": "2318:58:34", - "value": { - "arguments": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "2353:6:34" - }, - { - "name": "value3", - "nodeType": "YulIdentifier", - "src": "2361:6:34" - }, - { - "name": "tail_1", - "nodeType": "YulIdentifier", - "src": "2369:6:34" - } - ], - "functionName": { - "name": "abi_encode_string_calldata", - "nodeType": "YulIdentifier", - "src": "2326:26:34" - }, - "nodeType": "YulFunctionCall", - "src": "2326:50:34" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "2318:4:34" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2396:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2407:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2392:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "2392:18:34" - }, - { - "arguments": [ - { - "name": "value4", - "nodeType": "YulIdentifier", - "src": "2416:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2424:4:34", - "type": "", - "value": "0xff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "2412:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "2412:17:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2385:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "2385:45:34" - }, - "nodeType": "YulExpressionStatement", - "src": "2385:45:34" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2450:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2461:2:34", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2446:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "2446:18:34" - }, - { - "name": "value5", - "nodeType": "YulIdentifier", - "src": "2466:6:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2439:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "2439:34:34" - }, - "nodeType": "YulExpressionStatement", - "src": "2439:34:34" - } - ] - }, - "name": "abi_encode_tuple_t_string_calldata_ptr_t_string_calldata_ptr_t_uint8_t_uint256__to_t_string_memory_ptr_t_string_memory_ptr_t_uint8_t_uint256__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "2061:9:34", - "type": "" - }, - { - "name": "value5", - "nodeType": "YulTypedName", - "src": "2072:6:34", - "type": "" - }, - { - "name": "value4", - "nodeType": "YulTypedName", - "src": "2080:6:34", - "type": "" - }, - { - "name": "value3", - "nodeType": "YulTypedName", - "src": "2088:6:34", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "2096:6:34", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "2104:6:34", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "2112:6:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "2123:4:34", - "type": "" - } - ], - "src": "1891:588:34" - } - ] - }, - "contents": "{\n { }\n function abi_decode_string_calldata(offset, end) -> arrayPos, length\n {\n if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n length := calldataload(offset)\n if gt(length, 0xffffffffffffffff) { revert(0, 0) }\n arrayPos := add(offset, 0x20)\n if gt(add(add(offset, length), 0x20), end) { revert(0, 0) }\n }\n function abi_decode_tuple_t_string_calldata_ptrt_string_calldata_ptrt_uint8t_uint256t_bytes32(headStart, dataEnd) -> value0, value1, value2, value3, value4, value5, value6\n {\n if slt(sub(dataEnd, headStart), 160) { revert(0, 0) }\n let offset := calldataload(headStart)\n let _1 := 0xffffffffffffffff\n if gt(offset, _1) { revert(0, 0) }\n let value0_1, value1_1 := abi_decode_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(0, 0) }\n let value2_1, value3_1 := abi_decode_string_calldata(add(headStart, offset_1), dataEnd)\n value2 := value2_1\n value3 := value3_1\n let value := calldataload(add(headStart, 64))\n if iszero(eq(value, and(value, 0xff))) { revert(0, 0) }\n value4 := value\n value5 := calldataload(add(headStart, 96))\n value6 := calldataload(add(headStart, 128))\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_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), 0)\n end := add(add(pos, and(add(length, 31), not(31))), 0x20)\n }\n function abi_encode_tuple_t_string_calldata_ptr_t_string_calldata_ptr_t_uint8_t_uint256__to_t_string_memory_ptr_t_string_memory_ptr_t_uint8_t_uint256__fromStack_reversed(headStart, value5, value4, value3, value2, value1, value0) -> tail\n {\n mstore(headStart, 128)\n let tail_1 := abi_encode_string_calldata(value0, value1, add(headStart, 128))\n mstore(add(headStart, 32), sub(tail_1, headStart))\n tail := abi_encode_string_calldata(value2, value3, tail_1)\n mstore(add(headStart, 64), and(value4, 0xff))\n mstore(add(headStart, 96), value5)\n }\n}", - "id": 34, - "language": "Yul", - "name": "#utility.yul" - } - ], - "immutableReferences": {}, - "linkReferences": {}, - "object": "608060405234801561001057600080fd5b506004361061002b5760003560e01c80636fc95b3414610030575b600080fd5b61004361003e366004610113565b61006c565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b600081888888888888604051610081906100bd565b610090969594939291906101d8565b8190604051809103906000f59050801580156100b0573d6000803e3d6000fd5b5098975050505050505050565b6118378061021983390190565b60008083601f8401126100dc57600080fd5b50813567ffffffffffffffff8111156100f457600080fd5b60208301915083602082850101111561010c57600080fd5b9250929050565b600080600080600080600060a0888a03121561012e57600080fd5b873567ffffffffffffffff8082111561014657600080fd5b6101528b838c016100ca565b909950975060208a013591508082111561016b57600080fd5b506101788a828b016100ca565b909650945050604088013560ff8116811461019257600080fd5b969995985093969295946060840135945060809093013592915050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6080815260006101ec60808301888a6101af565b82810360208401526101ff8187896101af565b60ff95909516604084015250506060015294935050505056fe60e06040523480156200001157600080fd5b5060405162001837380380620018378339810160408190526200003491620002e1565b83838383838484848260039080519060200190620000549291906200016e565b5081516200006a9060049060208501906200016e565b5060ff166080908152835160208086019190912060408051808201825260018152603160f81b9084015280517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f938101939093528201527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6606082015246918101919091523060a082015260c0019150620001029050565b60408051601f1981840301815290829052805160209091012060a052600680546001600160a01b0319163390811790915591506000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a360c05250620003a995505050505050565b8280546200017c906200036c565b90600052602060002090601f016020900481019282620001a05760008555620001eb565b82601f10620001bb57805160ff1916838001178555620001eb565b82800160010185558215620001eb579182015b82811115620001eb578251825591602001919060010190620001ce565b50620001f9929150620001fd565b5090565b5b80821115620001f95760008155600101620001fe565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200023c57600080fd5b81516001600160401b038082111562000259576200025962000214565b604051601f8301601f19908116603f0116810190828211818310171562000284576200028462000214565b81604052838152602092508683858801011115620002a157600080fd5b600091505b83821015620002c55785820183015181830184015290820190620002a6565b83821115620002d75760008385830101525b9695505050505050565b60008060008060808587031215620002f857600080fd5b84516001600160401b03808211156200031057600080fd5b6200031e888389016200022a565b955060208701519150808211156200033557600080fd5b5062000344878288016200022a565b935050604085015160ff811681146200035c57600080fd5b6060959095015193969295505050565b600181811c908216806200038157607f821691505b60208210811415620003a357634e487b7160e01b600052602260045260246000fd5b50919050565b60805160a05160c051611450620003e760003960008181610265015261067301526000818161028c01526108de0152600061020101526114506000f3fe608060405234801561001057600080fd5b50600436106101775760003560e01c806340c10f19116100d857806395d89b411161008c578063d505accf11610066578063d505accf14610368578063dd62ed3e1461037b578063f2fde38b146103a657600080fd5b806395d89b411461033a578063a457c2d714610342578063a9059cbb1461035557600080fd5b806379cc6790116100bd57806379cc6790146102f45780637ecebe00146103075780638da5cb5b1461032757600080fd5b806340c10f19146102c157806370a08231146102d457600080fd5b8063313ce5671161012f578063355274ea11610114578063355274ea146102605780633644e5151461028757806339509351146102ae57600080fd5b8063313ce567146101fc57806331eecaf41461023557600080fd5b8063095ea7b311610160578063095ea7b3146101af57806318160ddd146101d257806323b872dd146101e957600080fd5b806306fdde031461017c57806308a1eee11461019a575b600080fd5b6101846103b9565b6040516101919190610e5d565b60405180910390f35b6101ad6101a8366004610e90565b610447565b005b6101c26101bd366004610ec5565b6104a8565b6040519015158152602001610191565b6101db60025481565b604051908152602001610191565b6101c26101f7366004610eef565b6104be565b6102237f000000000000000000000000000000000000000000000000000000000000000081565b60405160ff9091168152602001610191565b610248610243366004610e90565b610515565b6040516001600160a01b039091168152602001610191565b6101db7f000000000000000000000000000000000000000000000000000000000000000081565b6101db7f000000000000000000000000000000000000000000000000000000000000000081565b6101c26102bc366004610ec5565b61060f565b6101ad6102cf366004610ec5565b610646565b6101db6102e2366004610f2b565b60006020819052908152604090205481565b6101ad610302366004610ec5565b6106e7565b6101db610315366004610f2b565b60056020526000908152604090205481565b600654610248906001600160a01b031681565b610184610758565b6101c2610350366004610ec5565b610765565b6101c2610363366004610ec5565b61079c565b6101ad610376366004610f4d565b6107a9565b6101db610389366004610fc0565b600160209081526000928352604080842090915290825290205481565b6101ad6103b4366004610f2b565b610a6c565b600380546103c690610ff3565b80601f01602080910402602001604051908101604052809291908181526020018280546103f290610ff3565b801561043f5780601f106104145761010080835404028352916020019161043f565b820191906000526020600020905b81548152906001019060200180831161042257829003601f168201915b505050505081565b6006546001600160a01b03163314610472576040516330cd747160e01b815260040160405180910390fd5b600061047d82610515565b6001600160a01b0381166000908152602081905260409020549091506104a4908290610b4b565b5050565b60006104b5338484610bfe565b50600192915050565b6001600160a01b038316600090815260016020908152604080832033845290915281205460001981146104ff576104ff85336104fa8685611044565b610bfe565b61050a858585610c9b565b506001949350505050565b6006546040516000917fff00000000000000000000000000000000000000000000000000000000000000916001600160a01b0390911690849061055a60208201610e20565b601f1982820381018352601f90910116604081905261057c919060200161105b565b604051602081830303815290604052805190602001206040516020016105f194939291907fff0000000000000000000000000000000000000000000000000000000000000094909416845260609290921b6bffffffffffffffffffffffff191660018401526015830152603582015260550190565b60408051601f19818403018152919052805160209091012092915050565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916104b59185906104fa908690611077565b6006546001600160a01b03163314610671576040516330cd747160e01b815260040160405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000061069c8383610d77565b806106a657505050565b8060025411156106e2576040517fa4875a4900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050565b6006546001600160a01b03163314610712576040516330cd747160e01b815260040160405180910390fd5b6001600160a01b0382166000908152600160209081526040808320338452909152902054600019811461074e5761074e83336104fa8585611044565b6106e28383610b4b565b600480546103c690610ff3565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916104b59185906104fa908690611044565b60006104b5338484610c9b565b834211156107e3576040517f1a15a3cc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a081111561083d576040517f40c1e74800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8260ff16601b1415801561085557508260ff16601c14155b1561088c576040517f119bce3900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080518082018252600281527f19010000000000000000000000000000000000000000000000000000000000006020808301919091526001600160a01b038a166000908152600590915291822080547f0000000000000000000000000000000000000000000000000000000000000000917f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9918c918c918c91886109308361108f565b909155506040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810188905260e00160405160208183030381529060405280519060200120604051602001610994939291906110aa565b60408051601f198184030181528282528051602091820120600080855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa1580156109ff573d6000803e3d6000fd5b505050602060405103519050886001600160a01b0316816001600160a01b031614610a56576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610a61898989610bfe565b505050505050505050565b6006546001600160a01b03163314610a97576040516330cd747160e01b815260040160405180910390fd5b6001600160a01b038116610ad7576040517f49e27cff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6006546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600680547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b6001600160a01b038216610b7257604051630da30f6560e31b815260040160405180910390fd5b6001600160a01b03821660009081526020819052604081208054839290610b9a908490611044565b925050819055508060026000828254610bb39190611044565b90915550506040518181526000906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906020015b60405180910390a35050565b6001600160a01b0383161580610c1b57506001600160a01b038216155b15610c3957604051630da30f6560e31b815260040160405180910390fd5b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b0383161580610cb857506001600160a01b038216155b15610cd657604051630da30f6560e31b815260040160405180910390fd5b6001600160a01b03831660009081526020819052604081208054839290610cfe908490611044565b90915550506001600160a01b03821660009081526020819052604081208054839290610d2b908490611077565b92505081905550816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610c8e91815260200190565b6001600160a01b038216610d9e57604051630da30f6560e31b815260040160405180910390fd5b8060026000828254610db09190611077565b90915550506001600160a01b03821660009081526020819052604081208054839290610ddd908490611077565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90602001610bf2565b610349806110d283390190565b60005b83811015610e48578181015183820152602001610e30565b83811115610e57576000848401525b50505050565b6020815260008251806020840152610e7c816040850160208701610e2d565b601f01601f19169190910160400192915050565b600060208284031215610ea257600080fd5b5035919050565b80356001600160a01b0381168114610ec057600080fd5b919050565b60008060408385031215610ed857600080fd5b610ee183610ea9565b946020939093013593505050565b600080600060608486031215610f0457600080fd5b610f0d84610ea9565b9250610f1b60208501610ea9565b9150604084013590509250925092565b600060208284031215610f3d57600080fd5b610f4682610ea9565b9392505050565b600080600080600080600060e0888a031215610f6857600080fd5b610f7188610ea9565b9650610f7f60208901610ea9565b95506040880135945060608801359350608088013560ff81168114610fa357600080fd5b9699959850939692959460a0840135945060c09093013592915050565b60008060408385031215610fd357600080fd5b610fdc83610ea9565b9150610fea60208401610ea9565b90509250929050565b600181811c9082168061100757607f821691505b6020821081141561102857634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b6000828210156110565761105661102e565b500390565b6000825161106d818460208701610e2d565b9190910192915050565b6000821982111561108a5761108a61102e565b500190565b60006000198214156110a3576110a361102e565b5060010190565b600084516110bc818460208901610e2d565b9190910192835250602082015260400191905056fe6080604052600160005534801561001557600080fd5b50610324806100256000396000f3fe608060405234801561001057600080fd5b50600436106100355760003560e01c8062f55d9d1461003a5780631cff79cd1461004f575b600080fd5b61004d6100483660046101da565b610079565b005b61006261005d3660046101fc565b6100bb565b60405161007092919061027f565b60405180910390f35b6002600054141561009d5760405163caa30f5560e01b815260040160405180910390fd5b600260005573ffffffffffffffffffffffffffffffffffffffff8116ff5b60006060600260005414156100e35760405163caa30f5560e01b815260040160405180910390fd5b600260005573ffffffffffffffffffffffffffffffffffffffff85163b610136576040517f6f7c43f100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8473ffffffffffffffffffffffffffffffffffffffff16848460405161015d9291906102de565b6000604051808303816000865af19150503d806000811461019a576040519150601f19603f3d011682016040523d82523d6000602084013e61019f565b606091505b50600160005590969095509350505050565b803573ffffffffffffffffffffffffffffffffffffffff811681146101d557600080fd5b919050565b6000602082840312156101ec57600080fd5b6101f5826101b1565b9392505050565b60008060006040848603121561021157600080fd5b61021a846101b1565b9250602084013567ffffffffffffffff8082111561023757600080fd5b818601915086601f83011261024b57600080fd5b81358181111561025a57600080fd5b87602082850101111561026c57600080fd5b6020830194508093505050509250925092565b821515815260006020604081840152835180604085015260005b818110156102b557858101830151858201606001528201610299565b818111156102c7576000606083870101525b50601f01601f191692909201606001949350505050565b818382376000910190815291905056fea2646970667358221220dfb702492c35c6a884ac11997b483e3fee4ff8145c7abb0799d2a2fc8674c39364736f6c63430008090033a2646970667358221220a0862d822c5e76c8687a97d9d537ec0e3da210445e2873be021a84f7cd0a8dd464736f6c63430008090033a264697066735822122034c450aad63587ed41d45981e61047fed97aa7f349e0c22baccbc8285c613ab864736f6c63430008090033", - "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x2B JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x6FC95B34 EQ PUSH2 0x30 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x43 PUSH2 0x3E CALLDATASIZE PUSH1 0x4 PUSH2 0x113 JUMP JUMPDEST PUSH2 0x6C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 DUP2 DUP9 DUP9 DUP9 DUP9 DUP9 DUP9 PUSH1 0x40 MLOAD PUSH2 0x81 SWAP1 PUSH2 0xBD JUMP JUMPDEST PUSH2 0x90 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x1D8 JUMP JUMPDEST DUP2 SWAP1 PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 PUSH1 0x0 CREATE2 SWAP1 POP DUP1 ISZERO DUP1 ISZERO PUSH2 0xB0 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x1837 DUP1 PUSH2 0x219 DUP4 CODECOPY ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0xDC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP DUP2 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xF4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x20 DUP3 DUP6 ADD ADD GT ISZERO PUSH2 0x10C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xA0 DUP9 DUP11 SUB SLT ISZERO PUSH2 0x12E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP8 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x146 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x152 DUP12 DUP4 DUP13 ADD PUSH2 0xCA JUMP JUMPDEST SWAP1 SWAP10 POP SWAP8 POP PUSH1 0x20 DUP11 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x16B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x178 DUP11 DUP3 DUP12 ADD PUSH2 0xCA JUMP JUMPDEST SWAP1 SWAP7 POP SWAP5 POP POP PUSH1 0x40 DUP9 ADD CALLDATALOAD PUSH1 0xFF DUP2 AND DUP2 EQ PUSH2 0x192 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP7 SWAP10 SWAP6 SWAP9 POP SWAP4 SWAP7 SWAP3 SWAP6 SWAP5 PUSH1 0x60 DUP5 ADD CALLDATALOAD SWAP5 POP PUSH1 0x80 SWAP1 SWAP4 ADD CALLDATALOAD SWAP3 SWAP2 POP POP JUMP JUMPDEST DUP2 DUP4 MSTORE DUP2 DUP2 PUSH1 0x20 DUP6 ADD CALLDATACOPY POP PUSH1 0x0 DUP3 DUP3 ADD PUSH1 0x20 SWAP1 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x1F SWAP1 SWAP2 ADD PUSH1 0x1F NOT AND SWAP1 SWAP2 ADD ADD SWAP1 JUMP JUMPDEST PUSH1 0x80 DUP2 MSTORE PUSH1 0x0 PUSH2 0x1EC PUSH1 0x80 DUP4 ADD DUP9 DUP11 PUSH2 0x1AF JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x1FF DUP2 DUP8 DUP10 PUSH2 0x1AF JUMP JUMPDEST PUSH1 0xFF SWAP6 SWAP1 SWAP6 AND PUSH1 0x40 DUP5 ADD MSTORE POP POP PUSH1 0x60 ADD MSTORE SWAP5 SWAP4 POP POP POP POP JUMP INVALID PUSH1 0xE0 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH3 0x11 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH3 0x1837 CODESIZE SUB DUP1 PUSH3 0x1837 DUP4 CODECOPY DUP2 ADD PUSH1 0x40 DUP2 SWAP1 MSTORE PUSH3 0x34 SWAP2 PUSH3 0x2E1 JUMP JUMPDEST DUP4 DUP4 DUP4 DUP4 DUP4 DUP5 DUP5 DUP5 DUP3 PUSH1 0x3 SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH3 0x54 SWAP3 SWAP2 SWAP1 PUSH3 0x16E JUMP JUMPDEST POP DUP2 MLOAD PUSH3 0x6A SWAP1 PUSH1 0x4 SWAP1 PUSH1 0x20 DUP6 ADD SWAP1 PUSH3 0x16E JUMP JUMPDEST POP PUSH1 0xFF AND PUSH1 0x80 SWAP1 DUP2 MSTORE DUP4 MLOAD PUSH1 0x20 DUP1 DUP7 ADD SWAP2 SWAP1 SWAP2 KECCAK256 PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD DUP3 MSTORE PUSH1 0x1 DUP2 MSTORE PUSH1 0x31 PUSH1 0xF8 SHL SWAP1 DUP5 ADD MSTORE DUP1 MLOAD PUSH32 0x8B73C3C69BB8FE3D512ECC4CF759CC79239F7B179B0FFACAA9A75D522B39400F SWAP4 DUP2 ADD SWAP4 SWAP1 SWAP4 MSTORE DUP3 ADD MSTORE PUSH32 0xC89EFDAA54C0F20C7ADF612882DF0950F5A951637E0307CDCB4C672F298B8BC6 PUSH1 0x60 DUP3 ADD MSTORE CHAINID SWAP2 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE ADDRESS PUSH1 0xA0 DUP3 ADD MSTORE PUSH1 0xC0 ADD SWAP2 POP PUSH3 0x102 SWAP1 POP JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F NOT DUP2 DUP5 SUB ADD DUP2 MSTORE SWAP1 DUP3 SWAP1 MSTORE DUP1 MLOAD PUSH1 0x20 SWAP1 SWAP2 ADD KECCAK256 PUSH1 0xA0 MSTORE PUSH1 0x6 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND CALLER SWAP1 DUP2 OR SWAP1 SWAP2 SSTORE SWAP2 POP PUSH1 0x0 SWAP1 PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 SWAP1 DUP3 SWAP1 LOG3 PUSH1 0xC0 MSTORE POP PUSH3 0x3A9 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST DUP3 DUP1 SLOAD PUSH3 0x17C SWAP1 PUSH3 0x36C JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 PUSH3 0x1A0 JUMPI PUSH1 0x0 DUP6 SSTORE PUSH3 0x1EB JUMP JUMPDEST DUP3 PUSH1 0x1F LT PUSH3 0x1BB JUMPI DUP1 MLOAD PUSH1 0xFF NOT AND DUP4 DUP1 ADD OR DUP6 SSTORE PUSH3 0x1EB JUMP JUMPDEST DUP3 DUP1 ADD PUSH1 0x1 ADD DUP6 SSTORE DUP3 ISZERO PUSH3 0x1EB JUMPI SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH3 0x1EB JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH3 0x1CE JUMP JUMPDEST POP PUSH3 0x1F9 SWAP3 SWAP2 POP PUSH3 0x1FD JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST JUMPDEST DUP1 DUP3 GT ISZERO PUSH3 0x1F9 JUMPI PUSH1 0x0 DUP2 SSTORE PUSH1 0x1 ADD PUSH3 0x1FE JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH3 0x23C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH3 0x259 JUMPI PUSH3 0x259 PUSH3 0x214 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP4 ADD PUSH1 0x1F NOT SWAP1 DUP2 AND PUSH1 0x3F ADD AND DUP2 ADD SWAP1 DUP3 DUP3 GT DUP2 DUP4 LT OR ISZERO PUSH3 0x284 JUMPI PUSH3 0x284 PUSH3 0x214 JUMP JUMPDEST DUP2 PUSH1 0x40 MSTORE DUP4 DUP2 MSTORE PUSH1 0x20 SWAP3 POP DUP7 DUP4 DUP6 DUP9 ADD ADD GT ISZERO PUSH3 0x2A1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 SWAP2 POP JUMPDEST DUP4 DUP3 LT ISZERO PUSH3 0x2C5 JUMPI DUP6 DUP3 ADD DUP4 ADD MLOAD DUP2 DUP4 ADD DUP5 ADD MSTORE SWAP1 DUP3 ADD SWAP1 PUSH3 0x2A6 JUMP JUMPDEST DUP4 DUP3 GT ISZERO PUSH3 0x2D7 JUMPI PUSH1 0x0 DUP4 DUP6 DUP4 ADD ADD MSTORE JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH3 0x2F8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP5 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH3 0x310 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH3 0x31E DUP9 DUP4 DUP10 ADD PUSH3 0x22A JUMP JUMPDEST SWAP6 POP PUSH1 0x20 DUP8 ADD MLOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH3 0x335 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH3 0x344 DUP8 DUP3 DUP9 ADD PUSH3 0x22A JUMP JUMPDEST SWAP4 POP POP PUSH1 0x40 DUP6 ADD MLOAD PUSH1 0xFF DUP2 AND DUP2 EQ PUSH3 0x35C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x60 SWAP6 SWAP1 SWAP6 ADD MLOAD SWAP4 SWAP7 SWAP3 SWAP6 POP POP POP JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH3 0x381 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH3 0x3A3 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 PUSH1 0x80 MLOAD PUSH1 0xA0 MLOAD PUSH1 0xC0 MLOAD PUSH2 0x1450 PUSH3 0x3E7 PUSH1 0x0 CODECOPY PUSH1 0x0 DUP2 DUP2 PUSH2 0x265 ADD MSTORE PUSH2 0x673 ADD MSTORE PUSH1 0x0 DUP2 DUP2 PUSH2 0x28C ADD MSTORE PUSH2 0x8DE ADD MSTORE PUSH1 0x0 PUSH2 0x201 ADD MSTORE PUSH2 0x1450 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 0x177 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x40C10F19 GT PUSH2 0xD8 JUMPI DUP1 PUSH4 0x95D89B41 GT PUSH2 0x8C JUMPI DUP1 PUSH4 0xD505ACCF GT PUSH2 0x66 JUMPI DUP1 PUSH4 0xD505ACCF EQ PUSH2 0x368 JUMPI DUP1 PUSH4 0xDD62ED3E EQ PUSH2 0x37B JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0x3A6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x33A JUMPI DUP1 PUSH4 0xA457C2D7 EQ PUSH2 0x342 JUMPI DUP1 PUSH4 0xA9059CBB EQ PUSH2 0x355 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x79CC6790 GT PUSH2 0xBD JUMPI DUP1 PUSH4 0x79CC6790 EQ PUSH2 0x2F4 JUMPI DUP1 PUSH4 0x7ECEBE00 EQ PUSH2 0x307 JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x327 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x40C10F19 EQ PUSH2 0x2C1 JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x2D4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x313CE567 GT PUSH2 0x12F JUMPI DUP1 PUSH4 0x355274EA GT PUSH2 0x114 JUMPI DUP1 PUSH4 0x355274EA EQ PUSH2 0x260 JUMPI DUP1 PUSH4 0x3644E515 EQ PUSH2 0x287 JUMPI DUP1 PUSH4 0x39509351 EQ PUSH2 0x2AE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x313CE567 EQ PUSH2 0x1FC JUMPI DUP1 PUSH4 0x31EECAF4 EQ PUSH2 0x235 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x95EA7B3 GT PUSH2 0x160 JUMPI DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0x1AF JUMPI DUP1 PUSH4 0x18160DDD EQ PUSH2 0x1D2 JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x1E9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0x17C JUMPI DUP1 PUSH4 0x8A1EEE1 EQ PUSH2 0x19A JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x184 PUSH2 0x3B9 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x191 SWAP2 SWAP1 PUSH2 0xE5D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1AD PUSH2 0x1A8 CALLDATASIZE PUSH1 0x4 PUSH2 0xE90 JUMP JUMPDEST PUSH2 0x447 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x1C2 PUSH2 0x1BD CALLDATASIZE PUSH1 0x4 PUSH2 0xEC5 JUMP JUMPDEST PUSH2 0x4A8 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x191 JUMP JUMPDEST PUSH2 0x1DB PUSH1 0x2 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x191 JUMP JUMPDEST PUSH2 0x1C2 PUSH2 0x1F7 CALLDATASIZE PUSH1 0x4 PUSH2 0xEEF JUMP JUMPDEST PUSH2 0x4BE JUMP JUMPDEST PUSH2 0x223 PUSH32 0x0 DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0xFF SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x191 JUMP JUMPDEST PUSH2 0x248 PUSH2 0x243 CALLDATASIZE PUSH1 0x4 PUSH2 0xE90 JUMP JUMPDEST PUSH2 0x515 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x191 JUMP JUMPDEST PUSH2 0x1DB PUSH32 0x0 DUP2 JUMP JUMPDEST PUSH2 0x1DB PUSH32 0x0 DUP2 JUMP JUMPDEST PUSH2 0x1C2 PUSH2 0x2BC CALLDATASIZE PUSH1 0x4 PUSH2 0xEC5 JUMP JUMPDEST PUSH2 0x60F JUMP JUMPDEST PUSH2 0x1AD PUSH2 0x2CF CALLDATASIZE PUSH1 0x4 PUSH2 0xEC5 JUMP JUMPDEST PUSH2 0x646 JUMP JUMPDEST PUSH2 0x1DB PUSH2 0x2E2 CALLDATASIZE PUSH1 0x4 PUSH2 0xF2B JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP2 SWAP1 MSTORE SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD DUP2 JUMP JUMPDEST PUSH2 0x1AD PUSH2 0x302 CALLDATASIZE PUSH1 0x4 PUSH2 0xEC5 JUMP JUMPDEST PUSH2 0x6E7 JUMP JUMPDEST PUSH2 0x1DB PUSH2 0x315 CALLDATASIZE PUSH1 0x4 PUSH2 0xF2B JUMP JUMPDEST PUSH1 0x5 PUSH1 0x20 MSTORE PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x6 SLOAD PUSH2 0x248 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST PUSH2 0x184 PUSH2 0x758 JUMP JUMPDEST PUSH2 0x1C2 PUSH2 0x350 CALLDATASIZE PUSH1 0x4 PUSH2 0xEC5 JUMP JUMPDEST PUSH2 0x765 JUMP JUMPDEST PUSH2 0x1C2 PUSH2 0x363 CALLDATASIZE PUSH1 0x4 PUSH2 0xEC5 JUMP JUMPDEST PUSH2 0x79C JUMP JUMPDEST PUSH2 0x1AD PUSH2 0x376 CALLDATASIZE PUSH1 0x4 PUSH2 0xF4D JUMP JUMPDEST PUSH2 0x7A9 JUMP JUMPDEST PUSH2 0x1DB PUSH2 0x389 CALLDATASIZE PUSH1 0x4 PUSH2 0xFC0 JUMP JUMPDEST PUSH1 0x1 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 0x1AD PUSH2 0x3B4 CALLDATASIZE PUSH1 0x4 PUSH2 0xF2B JUMP JUMPDEST PUSH2 0xA6C JUMP JUMPDEST PUSH1 0x3 DUP1 SLOAD PUSH2 0x3C6 SWAP1 PUSH2 0xFF3 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 0x3F2 SWAP1 PUSH2 0xFF3 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x43F JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x414 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x43F 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 0x422 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 JUMP JUMPDEST PUSH1 0x6 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x472 JUMPI PUSH1 0x40 MLOAD PUSH4 0x30CD7471 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x47D DUP3 PUSH2 0x515 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 SWAP1 SWAP2 POP PUSH2 0x4A4 SWAP1 DUP3 SWAP1 PUSH2 0xB4B JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4B5 CALLER DUP5 DUP5 PUSH2 0xBFE JUMP JUMPDEST POP PUSH1 0x1 SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 CALLER DUP5 MSTORE SWAP1 SWAP2 MSTORE DUP2 KECCAK256 SLOAD PUSH1 0x0 NOT DUP2 EQ PUSH2 0x4FF JUMPI PUSH2 0x4FF DUP6 CALLER PUSH2 0x4FA DUP7 DUP6 PUSH2 0x1044 JUMP JUMPDEST PUSH2 0xBFE JUMP JUMPDEST PUSH2 0x50A DUP6 DUP6 DUP6 PUSH2 0xC9B JUMP JUMPDEST POP PUSH1 0x1 SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x6 SLOAD PUSH1 0x40 MLOAD PUSH1 0x0 SWAP2 PUSH32 0xFF00000000000000000000000000000000000000000000000000000000000000 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 DUP5 SWAP1 PUSH2 0x55A PUSH1 0x20 DUP3 ADD PUSH2 0xE20 JUMP JUMPDEST PUSH1 0x1F NOT DUP3 DUP3 SUB DUP2 ADD DUP4 MSTORE PUSH1 0x1F SWAP1 SWAP2 ADD AND PUSH1 0x40 DUP2 SWAP1 MSTORE PUSH2 0x57C SWAP2 SWAP1 PUSH1 0x20 ADD PUSH2 0x105B 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 PUSH1 0x20 ADD PUSH2 0x5F1 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH32 0xFF00000000000000000000000000000000000000000000000000000000000000 SWAP5 SWAP1 SWAP5 AND DUP5 MSTORE PUSH1 0x60 SWAP3 SWAP1 SWAP3 SHL PUSH12 0xFFFFFFFFFFFFFFFFFFFFFFFF NOT AND PUSH1 0x1 DUP5 ADD MSTORE PUSH1 0x15 DUP4 ADD MSTORE PUSH1 0x35 DUP3 ADD MSTORE PUSH1 0x55 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F NOT DUP2 DUP5 SUB ADD DUP2 MSTORE SWAP2 SWAP1 MSTORE DUP1 MLOAD PUSH1 0x20 SWAP1 SWAP2 ADD KECCAK256 SWAP3 SWAP2 POP POP JUMP JUMPDEST CALLER PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE DUP2 KECCAK256 SLOAD SWAP1 SWAP2 PUSH2 0x4B5 SWAP2 DUP6 SWAP1 PUSH2 0x4FA SWAP1 DUP7 SWAP1 PUSH2 0x1077 JUMP JUMPDEST PUSH1 0x6 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x671 JUMPI PUSH1 0x40 MLOAD PUSH4 0x30CD7471 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH32 0x0 PUSH2 0x69C DUP4 DUP4 PUSH2 0xD77 JUMP JUMPDEST DUP1 PUSH2 0x6A6 JUMPI POP POP POP JUMP JUMPDEST DUP1 PUSH1 0x2 SLOAD GT ISZERO PUSH2 0x6E2 JUMPI PUSH1 0x40 MLOAD PUSH32 0xA4875A4900000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x6 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x712 JUMPI PUSH1 0x40 MLOAD PUSH4 0x30CD7471 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 CALLER DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 SLOAD PUSH1 0x0 NOT DUP2 EQ PUSH2 0x74E JUMPI PUSH2 0x74E DUP4 CALLER PUSH2 0x4FA DUP6 DUP6 PUSH2 0x1044 JUMP JUMPDEST PUSH2 0x6E2 DUP4 DUP4 PUSH2 0xB4B JUMP JUMPDEST PUSH1 0x4 DUP1 SLOAD PUSH2 0x3C6 SWAP1 PUSH2 0xFF3 JUMP JUMPDEST CALLER PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE DUP2 KECCAK256 SLOAD SWAP1 SWAP2 PUSH2 0x4B5 SWAP2 DUP6 SWAP1 PUSH2 0x4FA SWAP1 DUP7 SWAP1 PUSH2 0x1044 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4B5 CALLER DUP5 DUP5 PUSH2 0xC9B JUMP JUMPDEST DUP4 TIMESTAMP GT ISZERO PUSH2 0x7E3 JUMPI PUSH1 0x40 MLOAD PUSH32 0x1A15A3CC00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH32 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5D576E7357A4501DDFE92F46681B20A0 DUP2 GT ISZERO PUSH2 0x83D JUMPI PUSH1 0x40 MLOAD PUSH32 0x40C1E74800000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP3 PUSH1 0xFF AND PUSH1 0x1B EQ ISZERO DUP1 ISZERO PUSH2 0x855 JUMPI POP DUP3 PUSH1 0xFF AND PUSH1 0x1C EQ ISZERO JUMPDEST ISZERO PUSH2 0x88C JUMPI PUSH1 0x40 MLOAD PUSH32 0x119BCE3900000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD DUP3 MSTORE PUSH1 0x2 DUP2 MSTORE PUSH32 0x1901000000000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP1 DUP4 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP11 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x5 SWAP1 SWAP2 MSTORE SWAP2 DUP3 KECCAK256 DUP1 SLOAD PUSH32 0x0 SWAP2 PUSH32 0x6E71EDAE12B1B97F4D1F60370FEF10105FA2FAAE0126114A169C64845D6126C9 SWAP2 DUP13 SWAP2 DUP13 SWAP2 DUP13 SWAP2 DUP9 PUSH2 0x930 DUP4 PUSH2 0x108F JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 DUP2 ADD SWAP7 SWAP1 SWAP7 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP5 DUP6 AND SWAP1 DUP7 ADD MSTORE SWAP3 SWAP1 SWAP2 AND PUSH1 0x60 DUP5 ADD MSTORE PUSH1 0x80 DUP4 ADD MSTORE PUSH1 0xA0 DUP3 ADD MSTORE PUSH1 0xC0 DUP2 ADD DUP9 SWAP1 MSTORE PUSH1 0xE0 ADD 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 PUSH1 0x20 ADD PUSH2 0x994 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x10AA JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F NOT DUP2 DUP5 SUB ADD DUP2 MSTORE DUP3 DUP3 MSTORE DUP1 MLOAD PUSH1 0x20 SWAP2 DUP3 ADD KECCAK256 PUSH1 0x0 DUP1 DUP6 MSTORE SWAP2 DUP5 ADD DUP1 DUP5 MSTORE DUP2 SWAP1 MSTORE PUSH1 0xFF DUP9 AND SWAP3 DUP5 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x60 DUP4 ADD DUP7 SWAP1 MSTORE PUSH1 0x80 DUP4 ADD DUP6 SWAP1 MSTORE SWAP1 SWAP3 POP SWAP1 PUSH1 0x1 SWAP1 PUSH1 0xA0 ADD PUSH1 0x20 PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 SUB SWAP1 DUP1 DUP5 SUB SWAP1 DUP6 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x9FF JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP PUSH1 0x20 PUSH1 0x40 MLOAD SUB MLOAD SWAP1 POP DUP9 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0xA56 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8BAA579F00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0xA61 DUP10 DUP10 DUP10 PUSH2 0xBFE JUMP JUMPDEST POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x6 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0xA97 JUMPI PUSH1 0x40 MLOAD PUSH4 0x30CD7471 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0xAD7 JUMPI PUSH1 0x40 MLOAD PUSH32 0x49E27CFF00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x6 SLOAD PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP5 AND SWAP3 AND SWAP1 PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 SWAP1 PUSH1 0x0 SWAP1 LOG3 PUSH1 0x6 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 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0xB72 JUMPI PUSH1 0x40 MLOAD PUSH4 0xDA30F65 PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST 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 0xB9A SWAP1 DUP5 SWAP1 PUSH2 0x1044 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP DUP1 PUSH1 0x2 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0xBB3 SWAP2 SWAP1 PUSH2 0x1044 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x40 MLOAD DUP2 DUP2 MSTORE PUSH1 0x0 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND SWAP1 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP1 PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND ISZERO DUP1 PUSH2 0xC1B JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND ISZERO JUMPDEST ISZERO PUSH2 0xC39 JUMPI PUSH1 0x40 MLOAD PUSH4 0xDA30F65 PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 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 DUP3 MSTORE SWAP2 DUP3 SWAP1 KECCAK256 DUP6 SWAP1 SSTORE SWAP1 MLOAD DUP5 DUP2 MSTORE PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 SWAP2 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND ISZERO DUP1 PUSH2 0xCB8 JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND ISZERO JUMPDEST ISZERO PUSH2 0xCD6 JUMPI PUSH1 0x40 MLOAD PUSH4 0xDA30F65 PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD DUP4 SWAP3 SWAP1 PUSH2 0xCFE SWAP1 DUP5 SWAP1 PUSH2 0x1044 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 0xD2B SWAP1 DUP5 SWAP1 PUSH2 0x1077 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF DUP4 PUSH1 0x40 MLOAD PUSH2 0xC8E SWAP2 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0xD9E JUMPI PUSH1 0x40 MLOAD PUSH4 0xDA30F65 PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0x2 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0xDB0 SWAP2 SWAP1 PUSH2 0x1077 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 0xDDD SWAP1 DUP5 SWAP1 PUSH2 0x1077 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x40 MLOAD DUP2 DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 PUSH1 0x0 SWAP1 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP1 PUSH1 0x20 ADD PUSH2 0xBF2 JUMP JUMPDEST PUSH2 0x349 DUP1 PUSH2 0x10D2 DUP4 CODECOPY ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0xE48 JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0xE30 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0xE57 JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 DUP3 MLOAD DUP1 PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0xE7C DUP2 PUSH1 0x40 DUP6 ADD PUSH1 0x20 DUP8 ADD PUSH2 0xE2D JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP2 SWAP1 SWAP2 ADD PUSH1 0x40 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xEA2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0xEC0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xED8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xEE1 DUP4 PUSH2 0xEA9 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 0xF04 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xF0D DUP5 PUSH2 0xEA9 JUMP JUMPDEST SWAP3 POP PUSH2 0xF1B PUSH1 0x20 DUP6 ADD PUSH2 0xEA9 JUMP JUMPDEST SWAP2 POP PUSH1 0x40 DUP5 ADD CALLDATALOAD SWAP1 POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xF3D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xF46 DUP3 PUSH2 0xEA9 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xE0 DUP9 DUP11 SUB SLT ISZERO PUSH2 0xF68 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xF71 DUP9 PUSH2 0xEA9 JUMP JUMPDEST SWAP7 POP PUSH2 0xF7F PUSH1 0x20 DUP10 ADD PUSH2 0xEA9 JUMP JUMPDEST SWAP6 POP PUSH1 0x40 DUP9 ADD CALLDATALOAD SWAP5 POP PUSH1 0x60 DUP9 ADD CALLDATALOAD SWAP4 POP PUSH1 0x80 DUP9 ADD CALLDATALOAD PUSH1 0xFF DUP2 AND DUP2 EQ PUSH2 0xFA3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP7 SWAP10 SWAP6 SWAP9 POP SWAP4 SWAP7 SWAP3 SWAP6 SWAP5 PUSH1 0xA0 DUP5 ADD CALLDATALOAD SWAP5 POP PUSH1 0xC0 SWAP1 SWAP4 ADD CALLDATALOAD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xFD3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xFDC DUP4 PUSH2 0xEA9 JUMP JUMPDEST SWAP2 POP PUSH2 0xFEA PUSH1 0x20 DUP5 ADD PUSH2 0xEA9 JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0x1007 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH2 0x1028 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 PUSH1 0x0 DUP3 DUP3 LT ISZERO PUSH2 0x1056 JUMPI PUSH2 0x1056 PUSH2 0x102E JUMP JUMPDEST POP SUB SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 MLOAD PUSH2 0x106D DUP2 DUP5 PUSH1 0x20 DUP8 ADD PUSH2 0xE2D JUMP JUMPDEST SWAP2 SWAP1 SWAP2 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 NOT DUP3 GT ISZERO PUSH2 0x108A JUMPI PUSH2 0x108A PUSH2 0x102E JUMP JUMPDEST POP ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x0 NOT DUP3 EQ ISZERO PUSH2 0x10A3 JUMPI PUSH2 0x10A3 PUSH2 0x102E JUMP JUMPDEST POP PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP5 MLOAD PUSH2 0x10BC DUP2 DUP5 PUSH1 0x20 DUP10 ADD PUSH2 0xE2D JUMP JUMPDEST SWAP2 SWAP1 SWAP2 ADD SWAP3 DUP4 MSTORE POP PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 ADD SWAP2 SWAP1 POP JUMP INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x1 PUSH1 0x0 SSTORE CALLVALUE DUP1 ISZERO PUSH2 0x15 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x324 DUP1 PUSH2 0x25 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 0x35 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH3 0xF55D9D EQ PUSH2 0x3A JUMPI DUP1 PUSH4 0x1CFF79CD EQ PUSH2 0x4F JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x4D PUSH2 0x48 CALLDATASIZE PUSH1 0x4 PUSH2 0x1DA JUMP JUMPDEST PUSH2 0x79 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x62 PUSH2 0x5D CALLDATASIZE PUSH1 0x4 PUSH2 0x1FC JUMP JUMPDEST PUSH2 0xBB JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x70 SWAP3 SWAP2 SWAP1 PUSH2 0x27F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x2 PUSH1 0x0 SLOAD EQ ISZERO PUSH2 0x9D JUMPI PUSH1 0x40 MLOAD PUSH4 0xCAA30F55 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x2 PUSH1 0x0 SSTORE PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 AND SELFDESTRUCT JUMPDEST PUSH1 0x0 PUSH1 0x60 PUSH1 0x2 PUSH1 0x0 SLOAD EQ ISZERO PUSH2 0xE3 JUMPI PUSH1 0x40 MLOAD PUSH4 0xCAA30F55 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x2 PUSH1 0x0 SSTORE PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP6 AND EXTCODESIZE PUSH2 0x136 JUMPI PUSH1 0x40 MLOAD PUSH32 0x6F7C43F100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP5 DUP5 PUSH1 0x40 MLOAD PUSH2 0x15D SWAP3 SWAP2 SWAP1 PUSH2 0x2DE JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP7 GAS CALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x19A JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x19F JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP PUSH1 0x1 PUSH1 0x0 SSTORE SWAP1 SWAP7 SWAP1 SWAP6 POP SWAP4 POP POP POP POP JUMP JUMPDEST DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 AND DUP2 EQ PUSH2 0x1D5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1EC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1F5 DUP3 PUSH2 0x1B1 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x40 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x211 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x21A DUP5 PUSH2 0x1B1 JUMP JUMPDEST SWAP3 POP PUSH1 0x20 DUP5 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x237 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP7 ADD SWAP2 POP DUP7 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x24B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD DUP2 DUP2 GT ISZERO PUSH2 0x25A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP8 PUSH1 0x20 DUP3 DUP6 ADD ADD GT ISZERO PUSH2 0x26C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x20 DUP4 ADD SWAP5 POP DUP1 SWAP4 POP POP POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST DUP3 ISZERO ISZERO DUP2 MSTORE PUSH1 0x0 PUSH1 0x20 PUSH1 0x40 DUP2 DUP5 ADD MSTORE DUP4 MLOAD DUP1 PUSH1 0x40 DUP6 ADD MSTORE PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x2B5 JUMPI DUP6 DUP2 ADD DUP4 ADD MLOAD DUP6 DUP3 ADD PUSH1 0x60 ADD MSTORE DUP3 ADD PUSH2 0x299 JUMP JUMPDEST DUP2 DUP2 GT ISZERO PUSH2 0x2C7 JUMPI PUSH1 0x0 PUSH1 0x60 DUP4 DUP8 ADD ADD MSTORE JUMPDEST POP PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x60 ADD SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST DUP2 DUP4 DUP3 CALLDATACOPY PUSH1 0x0 SWAP2 ADD SWAP1 DUP2 MSTORE SWAP2 SWAP1 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xDF 0xB7 MUL 0x49 0x2C CALLDATALOAD 0xC6 0xA8 DUP5 0xAC GT SWAP10 PUSH28 0x483E3FEE4FF8145C7ABB0799D2A2FC8674C39364736F6C6343000809 STOP CALLER LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 LOG0 DUP7 0x2D DUP3 0x2C 0x5E PUSH23 0xC8687A97D9D537EC0E3DA210445E2873BE021A84F7CD0A DUP14 0xD4 PUSH5 0x736F6C6343 STOP ADDMOD MULMOD STOP CALLER LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 CALLVALUE 0xC4 POP 0xAA 0xD6 CALLDATALOAD DUP8 0xED COINBASE 0xD4 MSIZE DUP2 0xE6 LT SELFBALANCE INVALID 0xD9 PUSH27 0xA7F349E0C22BACCBC8285C613AB864736F6C634300080900330000 ", - "sourceMap": "206:360:12:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;253:311;;;;;;:::i;:::-;;:::i;:::-;;;1564:42:34;1552:55;;;1534:74;;1522:2;1507:18;253:311:12;;;;;;;;427:20;521:4;528;;534:6;;542:8;552:3;482:74;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;459:98:12;253:311;-1:-1:-1;;;;;;;;253:311:12:o;-1:-1:-1:-;;;;;;;;:::o;14:348:34:-;66:8;76:6;130:3;123:4;115:6;111:17;107:27;97:55;;148:1;145;138:12;97:55;-1:-1:-1;171:20:34;;214:18;203:30;;200:50;;;246:1;243;236:12;200:50;283:4;275:6;271:17;259:29;;335:3;328:4;319:6;311;307:19;303:30;300:39;297:59;;;352:1;349;342:12;297:59;14:348;;;;;:::o;367:1016::-;484:6;492;500;508;516;524;532;585:3;573:9;564:7;560:23;556:33;553:53;;;602:1;599;592:12;553:53;642:9;629:23;671:18;712:2;704:6;701:14;698:34;;;728:1;725;718:12;698:34;767:59;818:7;809:6;798:9;794:22;767:59;:::i;:::-;845:8;;-1:-1:-1;741:85:34;-1:-1:-1;933:2:34;918:18;;905:32;;-1:-1:-1;949:16:34;;;946:36;;;978:1;975;968:12;946:36;;1017:61;1070:7;1059:8;1048:9;1044:24;1017:61;:::i;:::-;1097:8;;-1:-1:-1;991:87:34;-1:-1:-1;;1182:2:34;1167:18;;1154:32;1226:4;1215:16;;1205:27;;1195:55;;1246:1;1243;1236:12;1195:55;367:1016;;;;-1:-1:-1;367:1016:34;;;;1269:5;1321:2;1306:18;;1293:32;;-1:-1:-1;1372:3:34;1357:19;;;1344:33;;367:1016;-1:-1:-1;;367:1016:34:o;1619:267::-;1708:6;1703:3;1696:19;1760:6;1753:5;1746:4;1741:3;1737:14;1724:43;-1:-1:-1;1812:1:34;1787:16;;;1805:4;1783:27;;;1776:38;;;;1868:2;1847:15;;;-1:-1:-1;;1843:29:34;1834:39;;;1830:50;;1619:267::o;1891:588::-;2160:3;2149:9;2142:22;2123:4;2187:63;2245:3;2234:9;2230:19;2222:6;2214;2187:63;:::i;:::-;2298:9;2290:6;2286:22;2281:2;2270:9;2266:18;2259:50;2326;2369:6;2361;2353;2326:50;:::i;:::-;2424:4;2412:17;;;;2407:2;2392:18;;2385:45;-1:-1:-1;;2461:2:34;2446:18;2439:34;2318:58;1891:588;-1:-1:-1;;;;1891:588:34:o" - }, - "methodIdentifiers": { - "deployToken(string,string,uint8,uint256,bytes32)": "6fc95b34" - } - }, - "metadata": "{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"cap\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"}],\"name\":\"deployToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"tokenAddress\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@axelar-network/axelar-cgp-solidity/contracts/TokenDeployer.sol\":\"TokenDeployer\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1000},\"remappings\":[]},\"sources\":{\"@axelar-network/axelar-cgp-solidity/contracts/BurnableMintableCappedERC20.sol\":{\"keccak256\":\"0x684964c901b99140cf84b36c2ec4301b9dd04fc41ff3c4b1e2beb838b92b796e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://db9a16826df8308bf7365f7c35504fb2b22523af64df5321ca0a543bf3652ad2\",\"dweb:/ipfs/QmShGtuPASurHQ8uECzoLRAw2iH7kaDF26XQXgEKxfmkhi\"]},\"@axelar-network/axelar-cgp-solidity/contracts/DepositHandler.sol\":{\"keccak256\":\"0x5b4bc062482be3f8dd95774d48f05b5edae19fc2768b509db687b9ad1cfd300c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a0a9de2fbb742825e692fe4b5c4d9e770e230c6685f697def072e5c1f432caa5\",\"dweb:/ipfs/QmRZxBayzsQghyTpZfiUJQTJ61hXL2o4vweqLQkHP5XSbE\"]},\"@axelar-network/axelar-cgp-solidity/contracts/ERC20.sol\":{\"keccak256\":\"0x287710de0cde19d80aab753fd24296e9b826cb38c95b60ff98f304ff17f8cc2c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d2e8f192386b7b7a8a2a706cf3328a4f2a03316ea9b6b794fd4aac5547c68cf4\",\"dweb:/ipfs/QmQNn5eM6yAPnv77CkieA4rzo7G4yi6jy9ACgYnkBE92yV\"]},\"@axelar-network/axelar-cgp-solidity/contracts/ERC20Permit.sol\":{\"keccak256\":\"0x7ff0fca2cc2c02b099753c3ce79800ce88070290a1eb73392d4333eafb003e07\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1ee04b325749300f3c3a4c3e07fa5d9c651374b38106cf079c00301e15b2a2e2\",\"dweb:/ipfs/Qmdfnqbb1Fnv2x5uhPeHfzvnxh2Esq8k5CSAxHjLv1Pmz4\"]},\"@axelar-network/axelar-cgp-solidity/contracts/MintableCappedERC20.sol\":{\"keccak256\":\"0xd99b3f22d2b0f7e56f66c471ab8fcf8ca442300eb2eefcfa5bab9f104c1a7fde\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bf7521ed70c4149ecc75a08cfc035feaa1463ae8e12f190a7ac4ad10a49ac903\",\"dweb:/ipfs/QmNgmgdVTjKPLjt8Nf2H9T9J25vrg1A8ZcsfJgfNyo7Dng\"]},\"@axelar-network/axelar-cgp-solidity/contracts/Ownable.sol\":{\"keccak256\":\"0xd6cab35c616c549f1947be46a22669054bc25aaca04a97130df3893c60a2e270\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72c31289afb27da070075a36dbf1060d394cd2f7093a7283a6ababa7cf7c003d\",\"dweb:/ipfs/QmXv2HPzx7U6GDpjA3hMY4Uz9dQVLtHG4CSLUuCgPHJFKR\"]},\"@axelar-network/axelar-cgp-solidity/contracts/TokenDeployer.sol\":{\"keccak256\":\"0x59c7155b176d8046a9c1128e027c1d00b7d756ddc7efdabe976d1e4ab6a1f804\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://257fabaed07e34c22fe60e0ce489a7a1e04e07af6483a600694306d17d5fda03\",\"dweb:/ipfs/QmTpZUCp26SCebNamJgQQXrwYHSus5728wicGRAEScTJta\"]},\"@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarGateway.sol\":{\"keccak256\":\"0x1ab75989d0869cf2b919b82aec52e75b1cd34395dcf78d99a6d852eb46432462\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://35d3164de1eba58778bb57c9495056e933551cde899ab2e4326dccf00c137e93\",\"dweb:/ipfs/QmYqH4jvacF3fuRqGhXZ1cLzkuBhBwp4qtNdV4uoa2NivG\"]},\"@axelar-network/axelar-cgp-solidity/contracts/interfaces/IBurnableMintableCappedERC20.sol\":{\"keccak256\":\"0xc6c00f50351e67fbaf7e7b248392ebe32afac522beb1b494e03906cd4e88ad61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2352fe3bd79d78b4960b79dce04e5ff564d30c7348e80de9a8c7359b0a6aaec4\",\"dweb:/ipfs/QmaAv6xVJZ1NWUB959iwytgNcLffqfwvFPu8FskTBJ1SmB\"]},\"@axelar-network/axelar-cgp-solidity/contracts/interfaces/IERC20.sol\":{\"keccak256\":\"0x018cf796d80d65945fa85fa4fb49d926481ffe9316564ea251ee14836d661635\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://677295d77a7b45e0d06fc389f859bb39e1175e16a75e141f0ce06743258178d3\",\"dweb:/ipfs/QmdoJiu5PJ6D3NcZVGHVGCFVW8WkQbTdqok1AoTcG3NmYR\"]},\"@axelar-network/axelar-cgp-solidity/contracts/interfaces/IERC20Burn.sol\":{\"keccak256\":\"0x50a310a5be7aa6bc95085b1173291543c9e17b0f86b4a38f535cce28864a4627\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://849b5dd44f16d0d803806bd2bdb8219b61d6a10f269683cff888d6db4778e14f\",\"dweb:/ipfs/QmcvYH2uCZY9zmPWS6nG9YHt3XdncgnepMhhgbEmdv5KK7\"]},\"@axelar-network/axelar-cgp-solidity/contracts/interfaces/IERC20BurnFrom.sol\":{\"keccak256\":\"0xdbd8d686a6febad83bb51dcc2fd488b84ae27d50209f1f2ad2515a8c15681e49\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://858ded3c046b35dda8035b3eb4377e8510e1c2afc7f12ad9da1d9ee7a8559b81\",\"dweb:/ipfs/QmT284Vxz61VCxX6A7VcxgkLZgwQdmiKGpk1jAngJ6TDXQ\"]},\"@axelar-network/axelar-cgp-solidity/contracts/interfaces/IERC20Permit.sol\":{\"keccak256\":\"0xd0f2210276eefeceae0ba6590c9f515f89149e01d70c18a7b36c372250ed06cb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://78caf6d22f4239a95d84cfdb04e4fe8a122c29c967e4edacadc9f88ba0d2fee0\",\"dweb:/ipfs/QmR2Weu44fXPvgwfHEenMhTnMZFVTSuzTGsP8TQRtQLQEj\"]},\"@axelar-network/axelar-cgp-solidity/contracts/interfaces/IMintableCappedERC20.sol\":{\"keccak256\":\"0x8ba2122d3c0fb1d4256d01b34cc6d38847c17de3321ceb680a53d3267799b36e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://78a827661b41a592c046ee4fb87297e59373aa6bfdef14b301060f3682b5e678\",\"dweb:/ipfs/QmTHCkgPAH2Kc83TovmE61euxu7SuhvUGTsLByXn6jKTh3\"]},\"@axelar-network/axelar-cgp-solidity/contracts/interfaces/IOwnable.sol\":{\"keccak256\":\"0x7a6e3ad6c339fc3d5a3f16ab1778cfae2f6b38f4c1a100b9686cf05b4bceb408\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d3801fdbd1c5cbfc105703b0da12051f5d9e17d38a4768a79fd5110cfd8712b8\",\"dweb:/ipfs/QmUnTmkpxTcbebnjDVNkfhEPRnyLfnPMEnAh53zKeZPgj9\"]},\"@axelar-network/axelar-cgp-solidity/contracts/interfaces/ITokenDeployer.sol\":{\"keccak256\":\"0x6f8231cfc73f7c9b5b3660e8b4625c10fa09587403e3edcabaded3ddd386cc82\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc87357ef860569affce4fd1dfcffc8c09e7559d626aac7d170c8423113b8bd5\",\"dweb:/ipfs/QmU2gz2fTBmHa4gmQCZe4ttgnkKPwTakgAj6NrocANYxGg\"]}},\"version\":1}" - } - }, - "@axelar-network/axelar-cgp-solidity/contracts/gas-service/AxelarGasService.sol": { - "AxelarGasService": { - "abi": [ - { - "inputs": [], - "name": "InvalidCodeHash", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidImplementation", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidOwner", - "type": "error" - }, - { - "inputs": [], - "name": "NotOwner", - "type": "error" - }, - { - "inputs": [], - "name": "NotProxy", - "type": "error" - }, - { - "inputs": [], - "name": "NothingReceived", - "type": "error" - }, - { - "inputs": [], - "name": "SetupFailed", - "type": "error" - }, - { - "inputs": [], - "name": "TransferFailed", - "type": "error" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "txHash", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "logIndex", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "gasToken", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "gasFeeAmount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "refundAddress", - "type": "address" - } - ], - "name": "GasAdded", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "sourceAddress", - "type": "address" - }, - { - "indexed": false, - "internalType": "string", - "name": "destinationChain", - "type": "string" - }, - { - "indexed": false, - "internalType": "string", - "name": "destinationAddress", - "type": "string" - }, - { - "indexed": true, - "internalType": "bytes32", - "name": "payloadHash", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "address", - "name": "gasToken", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "gasFeeAmount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "refundAddress", - "type": "address" - } - ], - "name": "GasPaidForContractCall", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "sourceAddress", - "type": "address" - }, - { - "indexed": false, - "internalType": "string", - "name": "destinationChain", - "type": "string" - }, - { - "indexed": false, - "internalType": "string", - "name": "destinationAddress", - "type": "string" - }, - { - "indexed": true, - "internalType": "bytes32", - "name": "payloadHash", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "string", - "name": "symbol", - "type": "string" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "gasToken", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "gasFeeAmount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "refundAddress", - "type": "address" - } - ], - "name": "GasPaidForContractCallWithToken", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "txHash", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "logIndex", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "gasFeeAmount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "refundAddress", - "type": "address" - } - ], - "name": "NativeGasAdded", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "sourceAddress", - "type": "address" - }, - { - "indexed": false, - "internalType": "string", - "name": "destinationChain", - "type": "string" - }, - { - "indexed": false, - "internalType": "string", - "name": "destinationAddress", - "type": "string" - }, - { - "indexed": true, - "internalType": "bytes32", - "name": "payloadHash", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "gasFeeAmount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "refundAddress", - "type": "address" - } - ], - "name": "NativeGasPaidForContractCall", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "sourceAddress", - "type": "address" - }, - { - "indexed": false, - "internalType": "string", - "name": "destinationChain", - "type": "string" - }, - { - "indexed": false, - "internalType": "string", - "name": "destinationAddress", - "type": "string" - }, - { - "indexed": true, - "internalType": "bytes32", - "name": "payloadHash", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "string", - "name": "symbol", - "type": "string" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "gasFeeAmount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "refundAddress", - "type": "address" - } - ], - "name": "NativeGasPaidForContractCallWithToken", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "newImplementation", - "type": "address" - } - ], - "name": "Upgraded", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "txHash", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "logIndex", - "type": "uint256" - }, - { - "internalType": "address", - "name": "gasToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "gasFeeAmount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "refundAddress", - "type": "address" - } - ], - "name": "addGas", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "txHash", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "logIndex", - "type": "uint256" - }, - { - "internalType": "address", - "name": "refundAddress", - "type": "address" - } - ], - "name": "addNativeGas", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address payable", - "name": "receiver", - "type": "address" - }, - { - "internalType": "address[]", - "name": "tokens", - "type": "address[]" - } - ], - "name": "collectFees", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "contractId", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "implementation", - "outputs": [ - { - "internalType": "address", - "name": "implementation_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "owner_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "internalType": "string", - "name": "destinationChain", - "type": "string" - }, - { - "internalType": "string", - "name": "destinationAddress", - "type": "string" - }, - { - "internalType": "bytes", - "name": "payload", - "type": "bytes" - }, - { - "internalType": "address", - "name": "gasToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "gasFeeAmount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "refundAddress", - "type": "address" - } - ], - "name": "payGasForContractCall", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "internalType": "string", - "name": "destinationChain", - "type": "string" - }, - { - "internalType": "string", - "name": "destinationAddress", - "type": "string" - }, - { - "internalType": "bytes", - "name": "payload", - "type": "bytes" - }, - { - "internalType": "string", - "name": "symbol", - "type": "string" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "gasToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "gasFeeAmount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "refundAddress", - "type": "address" - } - ], - "name": "payGasForContractCallWithToken", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "internalType": "string", - "name": "destinationChain", - "type": "string" - }, - { - "internalType": "string", - "name": "destinationAddress", - "type": "string" - }, - { - "internalType": "bytes", - "name": "payload", - "type": "bytes" - }, - { - "internalType": "address", - "name": "refundAddress", - "type": "address" - } - ], - "name": "payNativeGasForContractCall", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "internalType": "string", - "name": "destinationChain", - "type": "string" - }, - { - "internalType": "string", - "name": "destinationAddress", - "type": "string" - }, - { - "internalType": "bytes", - "name": "payload", - "type": "bytes" - }, - { - "internalType": "string", - "name": "symbol", - "type": "string" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "refundAddress", - "type": "address" - } - ], - "name": "payNativeGasForContractCallWithToken", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address payable", - "name": "receiver", - "type": "address" - }, - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "refund", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "setup", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newImplementation", - "type": "address" - }, - { - "internalType": "bytes32", - "name": "newImplementationCodeHash", - "type": "bytes32" - }, - { - "internalType": "bytes", - "name": "params", - "type": "bytes" - } - ], - "name": "upgrade", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "evm": { - "bytecode": { - "functionDebugData": {}, - "generatedSources": [], - "linkReferences": {}, - "object": "608060405234801561001057600080fd5b506117d5806100206000396000f3fe6080604052600436106100dd5760003560e01c8063ab1999ba1161007f578063da854d7511610059578063da854d7514610259578063edb6b3a514610279578063f2fde38b14610299578063fd09e3bd146102b957600080fd5b8063ab1999ba14610213578063c62c200214610233578063cd433ada1461024657600080fd5b806382ad6f35116100bb57806382ad6f351461017f5780638da5cb5b1461019f5780639ded06df146101d3578063a3499c73146101f357600080fd5b80630c93e3bb146100e25780635c60da1b146100f75780638291286c14610144575b600080fd5b6100f56100f0366004610e94565b6102d9565b005b34801561010357600080fd5b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc545b6040516001600160a01b0390911681526020015b60405180910390f35b34801561015057600080fd5b506040517ffaa2f015f2ce5aee225904728de2def86eb8837491efd21f1a04fc20d8e923f6815260200161013b565b34801561018b57600080fd5b506100f561019a366004610f54565b610364565b3480156101ab57600080fd5b507f02016836a56b71f0d02689e69e326f4f4c1b9057164ef592671cf0d37c8040c054610127565b3480156101df57600080fd5b506100f56101ee366004610f95565b61040e565b3480156101ff57600080fd5b506100f561020e366004610fd7565b61047d565b34801561021f57600080fd5b506100f561022e366004611033565b610794565b6100f5610241366004611089565b6107f4565b6100f561025436600461117c565b610888565b34801561026557600080fd5b506100f56102743660046111b5565b6108f0565b34801561028557600080fd5b506100f56102943660046112e0565b610a74565b3480156102a557600080fd5b506100f56102b43660046113fe565b610af6565b3480156102c557600080fd5b506100f56102d4366004611422565b610bde565b346102f75760405163b5c74a2760e01b815260040160405180910390fd5b82826040516103079291906114fa565b6040518091039020886001600160a01b03167f617332c1832058df6ee45fcbdf471251474c9945a8e5d229287a21a5f67ccf0a89898989348860405161035296959493929190611533565b60405180910390a35050505050505050565b3361038d7f02016836a56b71f0d02689e69e326f4f4c1b9057164ef592671cf0d37c8040c05490565b6001600160a01b0316146103b4576040516330cd747160e01b815260040160405180910390fd5b6001600160a01b0382166103fe576040516001600160a01b0384169082156108fc029083906000818181858888f193505050501580156103f8573d6000803e3d6000fd5b50505050565b610409828483610c5a565b505050565b60006104387f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b03161415610479576040517fbf10dd3a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b336104a67f02016836a56b71f0d02689e69e326f4f4c1b9057164ef592671cf0d37c8040c05490565b6001600160a01b0316146104cd576040516330cd747160e01b815260040160405180910390fd5b306001600160a01b0316638291286c6040518163ffffffff1660e01b815260040160206040518083038186803b15801561050657600080fd5b505afa15801561051a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061053e919061157d565b846001600160a01b0316638291286c6040518163ffffffff1660e01b815260040160206040518083038186803b15801561057757600080fd5b505afa15801561058b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105af919061157d565b146105e6576040517f68155f9a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b836001600160a01b03163f8314610629576040517f8f84fb2400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000846001600160a01b0316639ded06df60e01b8484604051602401610650929190611596565b60408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009094169390931790925290516106bb91906115de565b600060405180830381855af49150503d80600081146106f6576040519150601f19603f3d011682016040523d82523d6000602084013e6106fb565b606091505b5050905080610736576040517f97905dfb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040516001600160a01b038616907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a2847f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc555050505050565b61079f833384610dd1565b604080516001600160a01b038581168252602082018590528316818301529051859187917f2275e75614080f9782f72563c2c1688c901c5339c7f9f436d323f9386fed700a9181900360600190a35050505050565b346108125760405163b5c74a2760e01b815260040160405180910390fd5b85856040516108229291906114fa565b60405180910390208b6001600160a01b03167f999d431b58761213cf53af96262b67a069cbd963499fd8effd1e21556217b8418c8c8c8c8a8a8a348b604051610873999897969594939291906115fa565b60405180910390a35050505050505050505050565b346108a65760405163b5c74a2760e01b815260040160405180910390fd5b604080513481526001600160a01b0383166020820152839185917ffeb6b00343feee0f29a1a4345f8bf93ca1c73ee922248a4237a4e50d6447604e910160405180910390a3505050565b336109197f02016836a56b71f0d02689e69e326f4f4c1b9057164ef592671cf0d37c8040c05490565b6001600160a01b031614610940576040516330cd747160e01b815260040160405180910390fd5b60005b818110156103f857600083838381811061095f5761095f611661565b905060200201602081019061097491906113fe565b90506001600160a01b0381166109bf576040516001600160a01b038616904780156108fc02916000818181858888f193505050501580156109b9573d6000803e3d6000fd5b50610a61565b6040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526000906001600160a01b038316906370a082319060240160206040518083038186803b158015610a1a57600080fd5b505afa158015610a2e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a52919061157d565b9050610a5f828783610c5a565b505b5080610a6c81611677565b915050610943565b610a7f833384610dd1565b8686604051610a8f9291906114fa565b60405180910390208c6001600160a01b03167f8875f9764f28fa82d3e7ff1b80bd5c8f665e1f42fcd8c2faebc7c400a4ba1bbd8d8d8d8d8b8b8b8b8b604051610ae0999897969594939291906116a0565b60405180910390a3505050505050505050505050565b33610b1f7f02016836a56b71f0d02689e69e326f4f4c1b9057164ef592671cf0d37c8040c05490565b6001600160a01b031614610b46576040516330cd747160e01b815260040160405180910390fd5b6001600160a01b038116610b86576040517f49e27cff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040516001600160a01b038216907f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc68616390600090a27f02016836a56b71f0d02689e69e326f4f4c1b9057164ef592671cf0d37c8040c055565b610be9833384610dd1565b8484604051610bf99291906114fa565b60405180910390208a6001600160a01b03167f99206760f0be19dd093729bd35e5924daff5e217bcedc5223ed067b60008cf8a8b8b8b8b898989604051610c469796959493929190611729565b60405180910390a350505050505050505050565b6040516001600160a01b0383811660248301526044820183905260009182918616907fa9059cbb00000000000000000000000000000000000000000000000000000000906064015b60408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909416939093179092529051610d0d91906115de565b6000604051808303816000865af19150503d8060008114610d4a576040519150601f19603f3d011682016040523d82523d6000602084013e610d4f565b606091505b50915091506000828015610d7b575081511580610d7b575081806020019051810190610d7b919061177d565b9050801580610d9257506001600160a01b0386163b155b15610dc9576040517f90b8ec1800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050505050565b6040516001600160a01b0383811660248301523060448301526064820183905260009182918616907f23b872dd0000000000000000000000000000000000000000000000000000000090608401610ca2565b6001600160a01b0381168114610e3857600080fd5b50565b8035610e4681610e23565b919050565b60008083601f840112610e5d57600080fd5b50813567ffffffffffffffff811115610e7557600080fd5b602083019150836020828501011115610e8d57600080fd5b9250929050565b60008060008060008060008060a0898b031215610eb057600080fd5b8835610ebb81610e23565b9750602089013567ffffffffffffffff80821115610ed857600080fd5b610ee48c838d01610e4b565b909950975060408b0135915080821115610efd57600080fd5b610f098c838d01610e4b565b909750955060608b0135915080821115610f2257600080fd5b50610f2f8b828c01610e4b565b9094509250506080890135610f4381610e23565b809150509295985092959890939650565b600080600060608486031215610f6957600080fd5b8335610f7481610e23565b92506020840135610f8481610e23565b929592945050506040919091013590565b60008060208385031215610fa857600080fd5b823567ffffffffffffffff811115610fbf57600080fd5b610fcb85828601610e4b565b90969095509350505050565b60008060008060608587031215610fed57600080fd5b8435610ff881610e23565b935060208501359250604085013567ffffffffffffffff81111561101b57600080fd5b61102787828801610e4b565b95989497509550505050565b600080600080600060a0868803121561104b57600080fd5b8535945060208601359350604086013561106481610e23565b925060608601359150608086013561107b81610e23565b809150509295509295909350565b600080600080600080600080600080600060e08c8e0312156110aa57600080fd5b6110b38c610e3b565b9a5067ffffffffffffffff8060208e013511156110cf57600080fd5b6110df8e60208f01358f01610e4b565b909b50995060408d01358110156110f557600080fd5b6111058e60408f01358f01610e4b565b909950975060608d013581101561111b57600080fd5b61112b8e60608f01358f01610e4b565b909750955060808d013581101561114157600080fd5b506111528d60808e01358e01610e4b565b909450925060a08c0135915061116a60c08d01610e3b565b90509295989b509295989b9093969950565b60008060006060848603121561119157600080fd5b833592506020840135915060408401356111aa81610e23565b809150509250925092565b6000806000604084860312156111ca57600080fd5b83356111d581610e23565b9250602084013567ffffffffffffffff808211156111f257600080fd5b818601915086601f83011261120657600080fd5b81358181111561121557600080fd5b8760208260051b850101111561122a57600080fd5b6020830194508093505050509250925092565b634e487b7160e01b600052604160045260246000fd5b600082601f83011261126457600080fd5b813567ffffffffffffffff8082111561127f5761127f61123d565b604051601f8301601f19908116603f011681019082821181831017156112a7576112a761123d565b816040528381528660208588010111156112c057600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000806000806000806000806000806000806101208d8f03121561130357600080fd5b61130c8d610e3b565b9b5067ffffffffffffffff60208e0135111561132757600080fd5b6113378e60208f01358f01610e4b565b909b50995067ffffffffffffffff60408e0135111561135557600080fd5b6113658e60408f01358f01610e4b565b909950975067ffffffffffffffff60608e0135111561138357600080fd5b6113938e60608f01358f01610e4b565b909750955067ffffffffffffffff60808e013511156113b157600080fd5b6113c18e60808f01358f01611253565b945060a08d013593506113d660c08e01610e3b565b925060e08d013591506113ec6101008e01610e3b565b90509295989b509295989b509295989b565b60006020828403121561141057600080fd5b813561141b81610e23565b9392505050565b60008060008060008060008060008060e08b8d03121561144157600080fd5b8a3561144c81610e23565b995060208b013567ffffffffffffffff8082111561146957600080fd5b6114758e838f01610e4b565b909b50995060408d013591508082111561148e57600080fd5b61149a8e838f01610e4b565b909950975060608d01359150808211156114b357600080fd5b506114c08d828e01610e4b565b90965094505060808b01356114d481610e23565b925060a08b013591506114e960c08c01610e3b565b90509295989b9194979a5092959850565b8183823760009101908152919050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b60808152600061154760808301888a61150a565b828103602084015261155a81878961150a565b9150508360408301526001600160a01b0383166060830152979650505050505050565b60006020828403121561158f57600080fd5b5051919050565b6020815260006115aa60208301848661150a565b949350505050565b60005b838110156115cd5781810151838201526020016115b5565b838111156103f85750506000910152565b600082516115f08184602087016115b2565b9190910192915050565b60c08152600061160e60c083018b8d61150a565b8281036020840152611621818a8c61150a565b9050828103604084015261163681888a61150a565b6060840196909652505060808101929092526001600160a01b031660a0909101529695505050505050565b634e487b7160e01b600052603260045260246000fd5b600060001982141561169957634e487b7160e01b600052601160045260246000fd5b5060010190565b60e0815260006116b460e083018b8d61150a565b82810360208401526116c7818a8c61150a565b9050828103604084015287518082526116e7816020840160208c016115b2565b60608401979097526001600160a01b03958616608084015260a083019490945250921660c0909201919091526020601f909201601f1916010195945050505050565b60a08152600061173d60a08301898b61150a565b828103602084015261175081888a61150a565b6001600160a01b039687166040850152606084019590955250509216608090920191909152949350505050565b60006020828403121561178f57600080fd5b8151801515811461141b57600080fdfea264697066735822122027baf5e769b3c7053eec4b907b998aaefddb11d5478b92501b995ce70c9c27f264736f6c63430008090033", - "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x17D5 DUP1 PUSH2 0x20 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0xDD JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0xAB1999BA GT PUSH2 0x7F JUMPI DUP1 PUSH4 0xDA854D75 GT PUSH2 0x59 JUMPI DUP1 PUSH4 0xDA854D75 EQ PUSH2 0x259 JUMPI DUP1 PUSH4 0xEDB6B3A5 EQ PUSH2 0x279 JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0x299 JUMPI DUP1 PUSH4 0xFD09E3BD EQ PUSH2 0x2B9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0xAB1999BA EQ PUSH2 0x213 JUMPI DUP1 PUSH4 0xC62C2002 EQ PUSH2 0x233 JUMPI DUP1 PUSH4 0xCD433ADA EQ PUSH2 0x246 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x82AD6F35 GT PUSH2 0xBB JUMPI DUP1 PUSH4 0x82AD6F35 EQ PUSH2 0x17F JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x19F JUMPI DUP1 PUSH4 0x9DED06DF EQ PUSH2 0x1D3 JUMPI DUP1 PUSH4 0xA3499C73 EQ PUSH2 0x1F3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0xC93E3BB EQ PUSH2 0xE2 JUMPI DUP1 PUSH4 0x5C60DA1B EQ PUSH2 0xF7 JUMPI DUP1 PUSH4 0x8291286C EQ PUSH2 0x144 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xF5 PUSH2 0xF0 CALLDATASIZE PUSH1 0x4 PUSH2 0xE94 JUMP JUMPDEST PUSH2 0x2D9 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x103 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH32 0x360894A13BA1A3210667C828492DB98DCA3E2076CC3735A920A3CA505D382BBC SLOAD JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x150 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH32 0xFAA2F015F2CE5AEE225904728DE2DEF86EB8837491EFD21F1A04FC20D8E923F6 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x13B JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x18B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xF5 PUSH2 0x19A CALLDATASIZE PUSH1 0x4 PUSH2 0xF54 JUMP JUMPDEST PUSH2 0x364 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1AB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH32 0x2016836A56B71F0D02689E69E326F4F4C1B9057164EF592671CF0D37C8040C0 SLOAD PUSH2 0x127 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1DF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xF5 PUSH2 0x1EE CALLDATASIZE PUSH1 0x4 PUSH2 0xF95 JUMP JUMPDEST PUSH2 0x40E JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1FF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xF5 PUSH2 0x20E CALLDATASIZE PUSH1 0x4 PUSH2 0xFD7 JUMP JUMPDEST PUSH2 0x47D JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x21F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xF5 PUSH2 0x22E CALLDATASIZE PUSH1 0x4 PUSH2 0x1033 JUMP JUMPDEST PUSH2 0x794 JUMP JUMPDEST PUSH2 0xF5 PUSH2 0x241 CALLDATASIZE PUSH1 0x4 PUSH2 0x1089 JUMP JUMPDEST PUSH2 0x7F4 JUMP JUMPDEST PUSH2 0xF5 PUSH2 0x254 CALLDATASIZE PUSH1 0x4 PUSH2 0x117C JUMP JUMPDEST PUSH2 0x888 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x265 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xF5 PUSH2 0x274 CALLDATASIZE PUSH1 0x4 PUSH2 0x11B5 JUMP JUMPDEST PUSH2 0x8F0 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x285 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xF5 PUSH2 0x294 CALLDATASIZE PUSH1 0x4 PUSH2 0x12E0 JUMP JUMPDEST PUSH2 0xA74 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2A5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xF5 PUSH2 0x2B4 CALLDATASIZE PUSH1 0x4 PUSH2 0x13FE JUMP JUMPDEST PUSH2 0xAF6 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2C5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xF5 PUSH2 0x2D4 CALLDATASIZE PUSH1 0x4 PUSH2 0x1422 JUMP JUMPDEST PUSH2 0xBDE JUMP JUMPDEST CALLVALUE PUSH2 0x2F7 JUMPI PUSH1 0x40 MLOAD PUSH4 0xB5C74A27 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP3 DUP3 PUSH1 0x40 MLOAD PUSH2 0x307 SWAP3 SWAP2 SWAP1 PUSH2 0x14FA JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 DUP9 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0x617332C1832058DF6EE45FCBDF471251474C9945A8E5D229287A21A5F67CCF0A DUP10 DUP10 DUP10 DUP10 CALLVALUE DUP9 PUSH1 0x40 MLOAD PUSH2 0x352 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x1533 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP POP POP POP POP POP JUMP JUMPDEST CALLER PUSH2 0x38D PUSH32 0x2016836A56B71F0D02689E69E326F4F4C1B9057164EF592671CF0D37C8040C0 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x3B4 JUMPI PUSH1 0x40 MLOAD PUSH4 0x30CD7471 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x3FE JUMPI PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND SWAP1 DUP3 ISZERO PUSH2 0x8FC MUL SWAP1 DUP4 SWAP1 PUSH1 0x0 DUP2 DUP2 DUP2 DUP6 DUP9 DUP9 CALL SWAP4 POP POP POP POP ISZERO DUP1 ISZERO PUSH2 0x3F8 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH2 0x409 DUP3 DUP5 DUP4 PUSH2 0xC5A JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x438 PUSH32 0x360894A13BA1A3210667C828492DB98DCA3E2076CC3735A920A3CA505D382BBC SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ ISZERO PUSH2 0x479 JUMPI PUSH1 0x40 MLOAD PUSH32 0xBF10DD3A00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP POP JUMP JUMPDEST CALLER PUSH2 0x4A6 PUSH32 0x2016836A56B71F0D02689E69E326F4F4C1B9057164EF592671CF0D37C8040C0 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x4CD JUMPI PUSH1 0x40 MLOAD PUSH4 0x30CD7471 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST ADDRESS PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x8291286C 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 0x506 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x51A JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x53E SWAP2 SWAP1 PUSH2 0x157D JUMP JUMPDEST DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x8291286C 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 0x577 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x58B JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x5AF SWAP2 SWAP1 PUSH2 0x157D JUMP JUMPDEST EQ PUSH2 0x5E6 JUMPI PUSH1 0x40 MLOAD PUSH32 0x68155F9A00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EXTCODEHASH DUP4 EQ PUSH2 0x629 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8F84FB2400000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x9DED06DF PUSH1 0xE0 SHL DUP5 DUP5 PUSH1 0x40 MLOAD PUSH1 0x24 ADD PUSH2 0x650 SWAP3 SWAP2 SWAP1 PUSH2 0x1596 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F NOT DUP2 DUP5 SUB ADD DUP2 MSTORE SWAP2 DUP2 MSTORE PUSH1 0x20 DUP3 ADD DUP1 MLOAD PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 SWAP1 SWAP5 AND SWAP4 SWAP1 SWAP4 OR SWAP1 SWAP3 MSTORE SWAP1 MLOAD PUSH2 0x6BB SWAP2 SWAP1 PUSH2 0x15DE JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 GAS DELEGATECALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x6F6 JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x6FB JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP POP SWAP1 POP DUP1 PUSH2 0x736 JUMPI PUSH1 0x40 MLOAD PUSH32 0x97905DFB00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND SWAP1 PUSH32 0xBC7CD75A20EE27FD9ADEBAB32041F755214DBC6BFFA90CC0225B39DA2E5C2D3B SWAP1 PUSH1 0x0 SWAP1 LOG2 DUP5 PUSH32 0x360894A13BA1A3210667C828492DB98DCA3E2076CC3735A920A3CA505D382BBC SSTORE POP POP POP POP POP JUMP JUMPDEST PUSH2 0x79F DUP4 CALLER DUP5 PUSH2 0xDD1 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 DUP2 AND DUP3 MSTORE PUSH1 0x20 DUP3 ADD DUP6 SWAP1 MSTORE DUP4 AND DUP2 DUP4 ADD MSTORE SWAP1 MLOAD DUP6 SWAP2 DUP8 SWAP2 PUSH32 0x2275E75614080F9782F72563C2C1688C901C5339C7F9F436D323F9386FED700A SWAP2 DUP2 SWAP1 SUB PUSH1 0x60 ADD SWAP1 LOG3 POP POP POP POP POP JUMP JUMPDEST CALLVALUE PUSH2 0x812 JUMPI PUSH1 0x40 MLOAD PUSH4 0xB5C74A27 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP6 DUP6 PUSH1 0x40 MLOAD PUSH2 0x822 SWAP3 SWAP2 SWAP1 PUSH2 0x14FA JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 DUP12 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0x999D431B58761213CF53AF96262B67A069CBD963499FD8EFFD1E21556217B841 DUP13 DUP13 DUP13 DUP13 DUP11 DUP11 DUP11 CALLVALUE DUP12 PUSH1 0x40 MLOAD PUSH2 0x873 SWAP10 SWAP9 SWAP8 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x15FA JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP POP POP POP POP POP POP POP POP JUMP JUMPDEST CALLVALUE PUSH2 0x8A6 JUMPI PUSH1 0x40 MLOAD PUSH4 0xB5C74A27 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x40 DUP1 MLOAD CALLVALUE DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x20 DUP3 ADD MSTORE DUP4 SWAP2 DUP6 SWAP2 PUSH32 0xFEB6B00343FEEE0F29A1A4345F8BF93CA1C73EE922248A4237A4E50D6447604E SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP JUMP JUMPDEST CALLER PUSH2 0x919 PUSH32 0x2016836A56B71F0D02689E69E326F4F4C1B9057164EF592671CF0D37C8040C0 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x940 JUMPI PUSH1 0x40 MLOAD PUSH4 0x30CD7471 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x3F8 JUMPI PUSH1 0x0 DUP4 DUP4 DUP4 DUP2 DUP2 LT PUSH2 0x95F JUMPI PUSH2 0x95F PUSH2 0x1661 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 MUL ADD PUSH1 0x20 DUP2 ADD SWAP1 PUSH2 0x974 SWAP2 SWAP1 PUSH2 0x13FE JUMP JUMPDEST SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x9BF JUMPI PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND SWAP1 SELFBALANCE DUP1 ISZERO PUSH2 0x8FC MUL SWAP2 PUSH1 0x0 DUP2 DUP2 DUP2 DUP6 DUP9 DUP9 CALL SWAP4 POP POP POP POP ISZERO DUP1 ISZERO PUSH2 0x9B9 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP PUSH2 0xA61 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH32 0x70A0823100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE ADDRESS PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x0 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 PUSH4 0x70A08231 SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xA1A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xA2E JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xA52 SWAP2 SWAP1 PUSH2 0x157D JUMP JUMPDEST SWAP1 POP PUSH2 0xA5F DUP3 DUP8 DUP4 PUSH2 0xC5A JUMP JUMPDEST POP JUMPDEST POP DUP1 PUSH2 0xA6C DUP2 PUSH2 0x1677 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x943 JUMP JUMPDEST PUSH2 0xA7F DUP4 CALLER DUP5 PUSH2 0xDD1 JUMP JUMPDEST DUP7 DUP7 PUSH1 0x40 MLOAD PUSH2 0xA8F SWAP3 SWAP2 SWAP1 PUSH2 0x14FA JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 DUP13 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0x8875F9764F28FA82D3E7FF1B80BD5C8F665E1F42FCD8C2FAEBC7C400A4BA1BBD DUP14 DUP14 DUP14 DUP14 DUP12 DUP12 DUP12 DUP12 DUP12 PUSH1 0x40 MLOAD PUSH2 0xAE0 SWAP10 SWAP9 SWAP8 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x16A0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP POP POP POP POP POP POP POP POP POP JUMP JUMPDEST CALLER PUSH2 0xB1F PUSH32 0x2016836A56B71F0D02689E69E326F4F4C1B9057164EF592671CF0D37C8040C0 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0xB46 JUMPI PUSH1 0x40 MLOAD PUSH4 0x30CD7471 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0xB86 JUMPI PUSH1 0x40 MLOAD PUSH32 0x49E27CFF00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND SWAP1 PUSH32 0x4DBA622D284ED0014EE4B9A6A68386BE1A4C08A4913AE272DE89199CC686163 SWAP1 PUSH1 0x0 SWAP1 LOG2 PUSH32 0x2016836A56B71F0D02689E69E326F4F4C1B9057164EF592671CF0D37C8040C0 SSTORE JUMP JUMPDEST PUSH2 0xBE9 DUP4 CALLER DUP5 PUSH2 0xDD1 JUMP JUMPDEST DUP5 DUP5 PUSH1 0x40 MLOAD PUSH2 0xBF9 SWAP3 SWAP2 SWAP1 PUSH2 0x14FA JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 DUP11 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0x99206760F0BE19DD093729BD35E5924DAFF5E217BCEDC5223ED067B60008CF8A DUP12 DUP12 DUP12 DUP12 DUP10 DUP10 DUP10 PUSH1 0x40 MLOAD PUSH2 0xC46 SWAP8 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x1729 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND PUSH1 0x24 DUP4 ADD MSTORE PUSH1 0x44 DUP3 ADD DUP4 SWAP1 MSTORE PUSH1 0x0 SWAP2 DUP3 SWAP2 DUP7 AND SWAP1 PUSH32 0xA9059CBB00000000000000000000000000000000000000000000000000000000 SWAP1 PUSH1 0x64 ADD JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F NOT DUP2 DUP5 SUB ADD DUP2 MSTORE SWAP2 DUP2 MSTORE PUSH1 0x20 DUP3 ADD DUP1 MLOAD PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 SWAP1 SWAP5 AND SWAP4 SWAP1 SWAP4 OR SWAP1 SWAP3 MSTORE SWAP1 MLOAD PUSH2 0xD0D SWAP2 SWAP1 PUSH2 0x15DE JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP7 GAS CALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0xD4A JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0xD4F JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP PUSH1 0x0 DUP3 DUP1 ISZERO PUSH2 0xD7B JUMPI POP DUP2 MLOAD ISZERO DUP1 PUSH2 0xD7B JUMPI POP DUP2 DUP1 PUSH1 0x20 ADD SWAP1 MLOAD DUP2 ADD SWAP1 PUSH2 0xD7B SWAP2 SWAP1 PUSH2 0x177D JUMP JUMPDEST SWAP1 POP DUP1 ISZERO DUP1 PUSH2 0xD92 JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND EXTCODESIZE ISZERO JUMPDEST ISZERO PUSH2 0xDC9 JUMPI PUSH1 0x40 MLOAD PUSH32 0x90B8EC1800000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND PUSH1 0x24 DUP4 ADD MSTORE ADDRESS PUSH1 0x44 DUP4 ADD MSTORE PUSH1 0x64 DUP3 ADD DUP4 SWAP1 MSTORE PUSH1 0x0 SWAP2 DUP3 SWAP2 DUP7 AND SWAP1 PUSH32 0x23B872DD00000000000000000000000000000000000000000000000000000000 SWAP1 PUSH1 0x84 ADD PUSH2 0xCA2 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0xE38 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST DUP1 CALLDATALOAD PUSH2 0xE46 DUP2 PUSH2 0xE23 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0xE5D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP DUP2 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xE75 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x20 DUP3 DUP6 ADD ADD GT ISZERO PUSH2 0xE8D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0xA0 DUP10 DUP12 SUB SLT ISZERO PUSH2 0xEB0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP9 CALLDATALOAD PUSH2 0xEBB DUP2 PUSH2 0xE23 JUMP JUMPDEST SWAP8 POP PUSH1 0x20 DUP10 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0xED8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xEE4 DUP13 DUP4 DUP14 ADD PUSH2 0xE4B JUMP JUMPDEST SWAP1 SWAP10 POP SWAP8 POP PUSH1 0x40 DUP12 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0xEFD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xF09 DUP13 DUP4 DUP14 ADD PUSH2 0xE4B JUMP JUMPDEST SWAP1 SWAP8 POP SWAP6 POP PUSH1 0x60 DUP12 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0xF22 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xF2F DUP12 DUP3 DUP13 ADD PUSH2 0xE4B JUMP JUMPDEST SWAP1 SWAP5 POP SWAP3 POP POP PUSH1 0x80 DUP10 ADD CALLDATALOAD PUSH2 0xF43 DUP2 PUSH2 0xE23 JUMP JUMPDEST DUP1 SWAP2 POP POP SWAP3 SWAP6 SWAP9 POP SWAP3 SWAP6 SWAP9 SWAP1 SWAP4 SWAP7 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0xF69 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 CALLDATALOAD PUSH2 0xF74 DUP2 PUSH2 0xE23 JUMP JUMPDEST SWAP3 POP PUSH1 0x20 DUP5 ADD CALLDATALOAD PUSH2 0xF84 DUP2 PUSH2 0xE23 JUMP JUMPDEST SWAP3 SWAP6 SWAP3 SWAP5 POP POP POP PUSH1 0x40 SWAP2 SWAP1 SWAP2 ADD CALLDATALOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x20 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xFA8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xFBF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xFCB DUP6 DUP3 DUP7 ADD PUSH2 0xE4B JUMP JUMPDEST SWAP1 SWAP7 SWAP1 SWAP6 POP SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x60 DUP6 DUP8 SUB SLT ISZERO PUSH2 0xFED JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP5 CALLDATALOAD PUSH2 0xFF8 DUP2 PUSH2 0xE23 JUMP JUMPDEST SWAP4 POP PUSH1 0x20 DUP6 ADD CALLDATALOAD SWAP3 POP PUSH1 0x40 DUP6 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x101B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1027 DUP8 DUP3 DUP9 ADD PUSH2 0xE4B JUMP JUMPDEST SWAP6 SWAP9 SWAP5 SWAP8 POP SWAP6 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xA0 DUP7 DUP9 SUB SLT ISZERO PUSH2 0x104B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP6 CALLDATALOAD SWAP5 POP PUSH1 0x20 DUP7 ADD CALLDATALOAD SWAP4 POP PUSH1 0x40 DUP7 ADD CALLDATALOAD PUSH2 0x1064 DUP2 PUSH2 0xE23 JUMP JUMPDEST SWAP3 POP PUSH1 0x60 DUP7 ADD CALLDATALOAD SWAP2 POP PUSH1 0x80 DUP7 ADD CALLDATALOAD PUSH2 0x107B DUP2 PUSH2 0xE23 JUMP JUMPDEST DUP1 SWAP2 POP POP SWAP3 SWAP6 POP SWAP3 SWAP6 SWAP1 SWAP4 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xE0 DUP13 DUP15 SUB SLT ISZERO PUSH2 0x10AA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x10B3 DUP13 PUSH2 0xE3B JUMP JUMPDEST SWAP11 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP1 PUSH1 0x20 DUP15 ADD CALLDATALOAD GT ISZERO PUSH2 0x10CF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x10DF DUP15 PUSH1 0x20 DUP16 ADD CALLDATALOAD DUP16 ADD PUSH2 0xE4B JUMP JUMPDEST SWAP1 SWAP12 POP SWAP10 POP PUSH1 0x40 DUP14 ADD CALLDATALOAD DUP2 LT ISZERO PUSH2 0x10F5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1105 DUP15 PUSH1 0x40 DUP16 ADD CALLDATALOAD DUP16 ADD PUSH2 0xE4B JUMP JUMPDEST SWAP1 SWAP10 POP SWAP8 POP PUSH1 0x60 DUP14 ADD CALLDATALOAD DUP2 LT ISZERO PUSH2 0x111B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x112B DUP15 PUSH1 0x60 DUP16 ADD CALLDATALOAD DUP16 ADD PUSH2 0xE4B JUMP JUMPDEST SWAP1 SWAP8 POP SWAP6 POP PUSH1 0x80 DUP14 ADD CALLDATALOAD DUP2 LT ISZERO PUSH2 0x1141 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1152 DUP14 PUSH1 0x80 DUP15 ADD CALLDATALOAD DUP15 ADD PUSH2 0xE4B JUMP JUMPDEST SWAP1 SWAP5 POP SWAP3 POP PUSH1 0xA0 DUP13 ADD CALLDATALOAD SWAP2 POP PUSH2 0x116A PUSH1 0xC0 DUP14 ADD PUSH2 0xE3B JUMP JUMPDEST SWAP1 POP SWAP3 SWAP6 SWAP9 SWAP12 POP SWAP3 SWAP6 SWAP9 SWAP12 SWAP1 SWAP4 SWAP7 SWAP10 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x1191 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 CALLDATALOAD SWAP3 POP PUSH1 0x20 DUP5 ADD CALLDATALOAD SWAP2 POP PUSH1 0x40 DUP5 ADD CALLDATALOAD PUSH2 0x11AA DUP2 PUSH2 0xE23 JUMP JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x40 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x11CA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 CALLDATALOAD PUSH2 0x11D5 DUP2 PUSH2 0xE23 JUMP JUMPDEST SWAP3 POP PUSH1 0x20 DUP5 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x11F2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP7 ADD SWAP2 POP DUP7 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x1206 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD DUP2 DUP2 GT ISZERO PUSH2 0x1215 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP8 PUSH1 0x20 DUP3 PUSH1 0x5 SHL DUP6 ADD ADD GT ISZERO PUSH2 0x122A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x20 DUP4 ADD SWAP5 POP DUP1 SWAP4 POP POP POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x1264 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x127F JUMPI PUSH2 0x127F PUSH2 0x123D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP4 ADD PUSH1 0x1F NOT SWAP1 DUP2 AND PUSH1 0x3F ADD AND DUP2 ADD SWAP1 DUP3 DUP3 GT DUP2 DUP4 LT OR ISZERO PUSH2 0x12A7 JUMPI PUSH2 0x12A7 PUSH2 0x123D JUMP JUMPDEST DUP2 PUSH1 0x40 MSTORE DUP4 DUP2 MSTORE DUP7 PUSH1 0x20 DUP6 DUP9 ADD ADD GT ISZERO PUSH2 0x12C0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 PUSH1 0x20 DUP8 ADD PUSH1 0x20 DUP4 ADD CALLDATACOPY PUSH1 0x0 PUSH1 0x20 DUP6 DUP4 ADD ADD MSTORE DUP1 SWAP5 POP POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH2 0x120 DUP14 DUP16 SUB SLT ISZERO PUSH2 0x1303 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x130C DUP14 PUSH2 0xE3B JUMP JUMPDEST SWAP12 POP PUSH8 0xFFFFFFFFFFFFFFFF PUSH1 0x20 DUP15 ADD CALLDATALOAD GT ISZERO PUSH2 0x1327 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1337 DUP15 PUSH1 0x20 DUP16 ADD CALLDATALOAD DUP16 ADD PUSH2 0xE4B JUMP JUMPDEST SWAP1 SWAP12 POP SWAP10 POP PUSH8 0xFFFFFFFFFFFFFFFF PUSH1 0x40 DUP15 ADD CALLDATALOAD GT ISZERO PUSH2 0x1355 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1365 DUP15 PUSH1 0x40 DUP16 ADD CALLDATALOAD DUP16 ADD PUSH2 0xE4B JUMP JUMPDEST SWAP1 SWAP10 POP SWAP8 POP PUSH8 0xFFFFFFFFFFFFFFFF PUSH1 0x60 DUP15 ADD CALLDATALOAD GT ISZERO PUSH2 0x1383 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1393 DUP15 PUSH1 0x60 DUP16 ADD CALLDATALOAD DUP16 ADD PUSH2 0xE4B JUMP JUMPDEST SWAP1 SWAP8 POP SWAP6 POP PUSH8 0xFFFFFFFFFFFFFFFF PUSH1 0x80 DUP15 ADD CALLDATALOAD GT ISZERO PUSH2 0x13B1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x13C1 DUP15 PUSH1 0x80 DUP16 ADD CALLDATALOAD DUP16 ADD PUSH2 0x1253 JUMP JUMPDEST SWAP5 POP PUSH1 0xA0 DUP14 ADD CALLDATALOAD SWAP4 POP PUSH2 0x13D6 PUSH1 0xC0 DUP15 ADD PUSH2 0xE3B JUMP JUMPDEST SWAP3 POP PUSH1 0xE0 DUP14 ADD CALLDATALOAD SWAP2 POP PUSH2 0x13EC PUSH2 0x100 DUP15 ADD PUSH2 0xE3B JUMP JUMPDEST SWAP1 POP SWAP3 SWAP6 SWAP9 SWAP12 POP SWAP3 SWAP6 SWAP9 SWAP12 POP SWAP3 SWAP6 SWAP9 SWAP12 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1410 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x141B DUP2 PUSH2 0xE23 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0xE0 DUP12 DUP14 SUB SLT ISZERO PUSH2 0x1441 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP11 CALLDATALOAD PUSH2 0x144C DUP2 PUSH2 0xE23 JUMP JUMPDEST SWAP10 POP PUSH1 0x20 DUP12 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x1469 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1475 DUP15 DUP4 DUP16 ADD PUSH2 0xE4B JUMP JUMPDEST SWAP1 SWAP12 POP SWAP10 POP PUSH1 0x40 DUP14 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x148E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x149A DUP15 DUP4 DUP16 ADD PUSH2 0xE4B JUMP JUMPDEST SWAP1 SWAP10 POP SWAP8 POP PUSH1 0x60 DUP14 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x14B3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x14C0 DUP14 DUP3 DUP15 ADD PUSH2 0xE4B JUMP JUMPDEST SWAP1 SWAP7 POP SWAP5 POP POP PUSH1 0x80 DUP12 ADD CALLDATALOAD PUSH2 0x14D4 DUP2 PUSH2 0xE23 JUMP JUMPDEST SWAP3 POP PUSH1 0xA0 DUP12 ADD CALLDATALOAD SWAP2 POP PUSH2 0x14E9 PUSH1 0xC0 DUP13 ADD PUSH2 0xE3B JUMP JUMPDEST SWAP1 POP SWAP3 SWAP6 SWAP9 SWAP12 SWAP2 SWAP5 SWAP8 SWAP11 POP SWAP3 SWAP6 SWAP9 POP JUMP JUMPDEST DUP2 DUP4 DUP3 CALLDATACOPY PUSH1 0x0 SWAP2 ADD SWAP1 DUP2 MSTORE SWAP2 SWAP1 POP JUMP JUMPDEST DUP2 DUP4 MSTORE DUP2 DUP2 PUSH1 0x20 DUP6 ADD CALLDATACOPY POP PUSH1 0x0 DUP3 DUP3 ADD PUSH1 0x20 SWAP1 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x1F SWAP1 SWAP2 ADD PUSH1 0x1F NOT AND SWAP1 SWAP2 ADD ADD SWAP1 JUMP JUMPDEST PUSH1 0x80 DUP2 MSTORE PUSH1 0x0 PUSH2 0x1547 PUSH1 0x80 DUP4 ADD DUP9 DUP11 PUSH2 0x150A JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x155A DUP2 DUP8 DUP10 PUSH2 0x150A JUMP JUMPDEST SWAP2 POP POP DUP4 PUSH1 0x40 DUP4 ADD MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x60 DUP4 ADD MSTORE SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x158F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0x15AA PUSH1 0x20 DUP4 ADD DUP5 DUP7 PUSH2 0x150A JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x15CD JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x15B5 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x3F8 JUMPI POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x0 DUP3 MLOAD PUSH2 0x15F0 DUP2 DUP5 PUSH1 0x20 DUP8 ADD PUSH2 0x15B2 JUMP JUMPDEST SWAP2 SWAP1 SWAP2 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0xC0 DUP2 MSTORE PUSH1 0x0 PUSH2 0x160E PUSH1 0xC0 DUP4 ADD DUP12 DUP14 PUSH2 0x150A JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x1621 DUP2 DUP11 DUP13 PUSH2 0x150A JUMP JUMPDEST SWAP1 POP DUP3 DUP2 SUB PUSH1 0x40 DUP5 ADD MSTORE PUSH2 0x1636 DUP2 DUP9 DUP11 PUSH2 0x150A JUMP JUMPDEST PUSH1 0x60 DUP5 ADD SWAP7 SWAP1 SWAP7 MSTORE POP POP PUSH1 0x80 DUP2 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0xA0 SWAP1 SWAP2 ADD MSTORE SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x0 NOT DUP3 EQ ISZERO PUSH2 0x1699 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST PUSH1 0xE0 DUP2 MSTORE PUSH1 0x0 PUSH2 0x16B4 PUSH1 0xE0 DUP4 ADD DUP12 DUP14 PUSH2 0x150A JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x16C7 DUP2 DUP11 DUP13 PUSH2 0x150A JUMP JUMPDEST SWAP1 POP DUP3 DUP2 SUB PUSH1 0x40 DUP5 ADD MSTORE DUP8 MLOAD DUP1 DUP3 MSTORE PUSH2 0x16E7 DUP2 PUSH1 0x20 DUP5 ADD PUSH1 0x20 DUP13 ADD PUSH2 0x15B2 JUMP JUMPDEST PUSH1 0x60 DUP5 ADD SWAP8 SWAP1 SWAP8 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP6 DUP7 AND PUSH1 0x80 DUP5 ADD MSTORE PUSH1 0xA0 DUP4 ADD SWAP5 SWAP1 SWAP5 MSTORE POP SWAP3 AND PUSH1 0xC0 SWAP1 SWAP3 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x20 PUSH1 0x1F SWAP1 SWAP3 ADD PUSH1 0x1F NOT AND ADD ADD SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0xA0 DUP2 MSTORE PUSH1 0x0 PUSH2 0x173D PUSH1 0xA0 DUP4 ADD DUP10 DUP12 PUSH2 0x150A JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x1750 DUP2 DUP9 DUP11 PUSH2 0x150A JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP7 DUP8 AND PUSH1 0x40 DUP6 ADD MSTORE PUSH1 0x60 DUP5 ADD SWAP6 SWAP1 SWAP6 MSTORE POP POP SWAP3 AND PUSH1 0x80 SWAP1 SWAP3 ADD SWAP2 SWAP1 SWAP2 MSTORE SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x178F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x141B JUMPI PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0x27 0xBA CREATE2 0xE7 PUSH10 0xB3C7053EEC4B907B998A 0xAE REVERT 0xDB GT 0xD5 SELFBALANCE DUP12 SWAP3 POP SHL SWAP10 0x5C 0xE7 0xC SWAP13 0x27 CALLCODE PUSH5 0x736F6C6343 STOP ADDMOD MULMOD STOP CALLER ", - "sourceMap": "283:5308:13:-:0;;;;;;;;;;;;;;;;;;;" - }, - "deployedBytecode": { - "functionDebugData": { - "@_safeTransferFrom_4927": { - "entryPoint": 3537, - "id": 4927, - "parameterSlots": 3, - "returnSlots": 0 - }, - "@_safeTransfer_4864": { - "entryPoint": 3162, - "id": 4864, - "parameterSlots": 3, - "returnSlots": 0 - }, - "@_setup_6201": { - "entryPoint": null, - "id": 6201, - "parameterSlots": 2, - "returnSlots": 0 - }, - "@addGas_4679": { - "entryPoint": 1940, - "id": 4679, - "parameterSlots": 5, - "returnSlots": 0 - }, - "@addNativeGas_4706": { - "entryPoint": 2184, - "id": 4706, - "parameterSlots": 3, - "returnSlots": 0 - }, - "@collectFees_4772": { - "entryPoint": 2288, - "id": 4772, - "parameterSlots": 3, - "returnSlots": 0 - }, - "@contractId_4937": { - "entryPoint": null, - "id": 4937, - "parameterSlots": 0, - "returnSlots": 1 - }, - "@implementation_6113": { - "entryPoint": null, - "id": 6113, - "parameterSlots": 0, - "returnSlots": 1 - }, - "@owner_6083": { - "entryPoint": null, - "id": 6083, - "parameterSlots": 0, - "returnSlots": 1 - }, - "@payGasForContractCallWithToken_4573": { - "entryPoint": 2676, - "id": 4573, - "parameterSlots": 12, - "returnSlots": 0 - }, - "@payGasForContractCall_4528": { - "entryPoint": 3038, - "id": 4528, - "parameterSlots": 10, - "returnSlots": 0 - }, - "@payNativeGasForContractCallWithToken_4649": { - "entryPoint": 2036, - "id": 4649, - "parameterSlots": 11, - "returnSlots": 0 - }, - "@payNativeGasForContractCall_4608": { - "entryPoint": 729, - "id": 4608, - "parameterSlots": 8, - "returnSlots": 0 - }, - "@refund_4805": { - "entryPoint": 868, - "id": 4805, - "parameterSlots": 3, - "returnSlots": 0 - }, - "@setup_6195": { - "entryPoint": 1038, - "id": 6195, - "parameterSlots": 2, - "returnSlots": 0 - }, - "@transferOwnership_6106": { - "entryPoint": 2806, - "id": 6106, - "parameterSlots": 1, - "returnSlots": 0 - }, - "@upgrade_6173": { - "entryPoint": 1149, - "id": 6173, - "parameterSlots": 4, - "returnSlots": 0 - }, - "abi_decode_address": { - "entryPoint": 3643, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "abi_decode_string": { - "entryPoint": 4691, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_decode_string_calldata": { - "entryPoint": 3659, - "id": null, - "parameterSlots": 2, - "returnSlots": 2 - }, - "abi_decode_tuple_t_address": { - "entryPoint": 5118, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_decode_tuple_t_address_payablet_addresst_uint256": { - "entryPoint": 3924, - "id": null, - "parameterSlots": 2, - "returnSlots": 3 - }, - "abi_decode_tuple_t_address_payablet_array$_t_address_$dyn_calldata_ptr": { - "entryPoint": 4533, - "id": null, - "parameterSlots": 2, - "returnSlots": 3 - }, - "abi_decode_tuple_t_addresst_bytes32t_bytes_calldata_ptr": { - "entryPoint": 4055, - "id": null, - "parameterSlots": 2, - "returnSlots": 4 - }, - "abi_decode_tuple_t_addresst_string_calldata_ptrt_string_calldata_ptrt_bytes_calldata_ptrt_address": { - "entryPoint": 3732, - "id": null, - "parameterSlots": 2, - "returnSlots": 8 - }, - "abi_decode_tuple_t_addresst_string_calldata_ptrt_string_calldata_ptrt_bytes_calldata_ptrt_addresst_uint256t_address": { - "entryPoint": 5154, - "id": null, - "parameterSlots": 2, - "returnSlots": 10 - }, - "abi_decode_tuple_t_addresst_string_calldata_ptrt_string_calldata_ptrt_bytes_calldata_ptrt_string_calldata_ptrt_uint256t_address": { - "entryPoint": 4233, - "id": null, - "parameterSlots": 2, - "returnSlots": 11 - }, - "abi_decode_tuple_t_addresst_string_calldata_ptrt_string_calldata_ptrt_bytes_calldata_ptrt_string_memory_ptrt_uint256t_addresst_uint256t_address": { - "entryPoint": 4832, - "id": null, - "parameterSlots": 2, - "returnSlots": 12 - }, - "abi_decode_tuple_t_bool_fromMemory": { - "entryPoint": 6013, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_decode_tuple_t_bytes32_fromMemory": { - "entryPoint": 5501, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_decode_tuple_t_bytes32t_uint256t_address": { - "entryPoint": 4476, - "id": null, - "parameterSlots": 2, - "returnSlots": 3 - }, - "abi_decode_tuple_t_bytes32t_uint256t_addresst_uint256t_address": { - "entryPoint": 4147, - "id": null, - "parameterSlots": 2, - "returnSlots": 5 - }, - "abi_decode_tuple_t_bytes_calldata_ptr": { - "entryPoint": 3989, - "id": null, - "parameterSlots": 2, - "returnSlots": 2 - }, - "abi_decode_tuple_t_uint256_fromMemory": { - "entryPoint": null, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_encode_string_calldata": { - "entryPoint": 5386, - "id": null, - "parameterSlots": 3, - "returnSlots": 1 - }, - "abi_encode_tuple_packed_t_bytes_calldata_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed": { - "entryPoint": 5370, - "id": null, - "parameterSlots": 3, - "returnSlots": 1 - }, - "abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed": { - "entryPoint": 5598, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_encode_tuple_t_address__to_t_address__fromStack_reversed": { - "entryPoint": null, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_encode_tuple_t_address_t_address_t_uint256__to_t_address_t_address_t_uint256__fromStack_reversed": { - "entryPoint": null, - "id": null, - "parameterSlots": 4, - "returnSlots": 1 - }, - "abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed": { - "entryPoint": null, - "id": null, - "parameterSlots": 3, - "returnSlots": 1 - }, - "abi_encode_tuple_t_address_t_uint256_t_address__to_t_address_t_uint256_t_address__fromStack_reversed": { - "entryPoint": null, - "id": null, - "parameterSlots": 4, - "returnSlots": 1 - }, - "abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed": { - "entryPoint": null, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_encode_tuple_t_bytes_calldata_ptr__to_t_bytes_memory_ptr__fromStack_reversed": { - "entryPoint": 5526, - "id": null, - "parameterSlots": 3, - "returnSlots": 1 - }, - "abi_encode_tuple_t_string_calldata_ptr_t_string_calldata_ptr_t_address_t_uint256_t_address__to_t_string_memory_ptr_t_string_memory_ptr_t_address_t_uint256_t_address__fromStack_reversed": { - "entryPoint": 5929, - "id": null, - "parameterSlots": 8, - "returnSlots": 1 - }, - "abi_encode_tuple_t_string_calldata_ptr_t_string_calldata_ptr_t_string_calldata_ptr_t_uint256_t_uint256_t_address__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_uint256_t_uint256_t_address__fromStack_reversed": { - "entryPoint": 5626, - "id": null, - "parameterSlots": 10, - "returnSlots": 1 - }, - "abi_encode_tuple_t_string_calldata_ptr_t_string_calldata_ptr_t_string_memory_ptr_t_uint256_t_address_t_uint256_t_address__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_uint256_t_address_t_uint256_t_address__fromStack_reversed": { - "entryPoint": 5792, - "id": null, - "parameterSlots": 10, - "returnSlots": 1 - }, - "abi_encode_tuple_t_string_calldata_ptr_t_string_calldata_ptr_t_uint256_t_address__to_t_string_memory_ptr_t_string_memory_ptr_t_uint256_t_address__fromStack_reversed": { - "entryPoint": 5427, - "id": null, - "parameterSlots": 7, - "returnSlots": 1 - }, - "abi_encode_tuple_t_uint256_t_address__to_t_uint256_t_address__fromStack_reversed": { - "entryPoint": null, - "id": null, - "parameterSlots": 3, - "returnSlots": 1 - }, - "copy_memory_to_memory": { - "entryPoint": 5554, - "id": null, - "parameterSlots": 3, - "returnSlots": 0 - }, - "increment_t_uint256": { - "entryPoint": 5751, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "panic_error_0x32": { - "entryPoint": 5729, - "id": null, - "parameterSlots": 0, - "returnSlots": 0 - }, - "panic_error_0x41": { - "entryPoint": 4669, - "id": null, - "parameterSlots": 0, - "returnSlots": 0 - }, - "validator_revert_address": { - "entryPoint": 3619, - "id": null, - "parameterSlots": 1, - "returnSlots": 0 - } - }, - "generatedSources": [ - { - "ast": { - "nodeType": "YulBlock", - "src": "0:18589:34", - "statements": [ - { - "nodeType": "YulBlock", - "src": "6:3:34", - "statements": [] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "59:109:34", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "146:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "155:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "158:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "148:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "148:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "148:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "82:5:34" - }, - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "93:5:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "100:42:34", - "type": "", - "value": "0xffffffffffffffffffffffffffffffffffffffff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "89:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "89:54:34" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "79:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "79:65:34" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "72:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "72:73:34" - }, - "nodeType": "YulIf", - "src": "69:93:34" - } - ] - }, - "name": "validator_revert_address", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "48:5:34", - "type": "" - } - ], - "src": "14:154:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "222:85:34", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "232:29:34", - "value": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "254:6:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "241:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "241:20:34" - }, - "variableNames": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "232:5:34" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "295:5:34" - } - ], - "functionName": { - "name": "validator_revert_address", - "nodeType": "YulIdentifier", - "src": "270:24:34" - }, - "nodeType": "YulFunctionCall", - "src": "270:31:34" - }, - "nodeType": "YulExpressionStatement", - "src": "270:31:34" - } - ] - }, - "name": "abi_decode_address", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "201:6:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "212:5:34", - "type": "" - } - ], - "src": "173:134:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "385:275:34", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "434:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "443:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "446:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "436:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "436:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "436:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "413:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "421:4:34", - "type": "", - "value": "0x1f" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "409:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "409:17:34" - }, - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "428:3:34" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "405:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "405:27:34" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "398:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "398:35:34" - }, - "nodeType": "YulIf", - "src": "395:55:34" - }, - { - "nodeType": "YulAssignment", - "src": "459:30:34", - "value": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "482:6:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "469:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "469:20:34" - }, - "variableNames": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "459:6:34" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "532:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "541:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "544:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "534:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "534:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "534:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "504:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "512:18:34", - "type": "", - "value": "0xffffffffffffffff" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "501:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "501:30:34" - }, - "nodeType": "YulIf", - "src": "498:50:34" - }, - { - "nodeType": "YulAssignment", - "src": "557:29:34", - "value": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "573:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "581:4:34", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "569:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "569:17:34" - }, - "variableNames": [ - { - "name": "arrayPos", - "nodeType": "YulIdentifier", - "src": "557:8:34" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "638:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "647:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "650:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "640:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "640:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "640:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "609:6:34" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "617:6:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "605:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "605:19:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "626:4:34", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "601:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "601:30:34" - }, - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "633:3:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "598:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "598:39:34" - }, - "nodeType": "YulIf", - "src": "595:59:34" - } - ] - }, - "name": "abi_decode_string_calldata", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "348:6:34", - "type": "" - }, - { - "name": "end", - "nodeType": "YulTypedName", - "src": "356:3:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "arrayPos", - "nodeType": "YulTypedName", - "src": "364:8:34", - "type": "" - }, - { - "name": "length", - "nodeType": "YulTypedName", - "src": "374:6:34", - "type": "" - } - ], - "src": "312:348:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "862:1090:34", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "909:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "918:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "921:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "911:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "911:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "911:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "883:7:34" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "892:9:34" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "879:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "879:23:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "904:3:34", - "type": "", - "value": "160" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "875:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "875:33:34" - }, - "nodeType": "YulIf", - "src": "872:53:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "934:36:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "960:9:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "947:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "947:23:34" - }, - "variables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "938:5:34", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "1004:5:34" - } - ], - "functionName": { - "name": "validator_revert_address", - "nodeType": "YulIdentifier", - "src": "979:24:34" - }, - "nodeType": "YulFunctionCall", - "src": "979:31:34" - }, - "nodeType": "YulExpressionStatement", - "src": "979:31:34" - }, - { - "nodeType": "YulAssignment", - "src": "1019:15:34", - "value": { - "name": "value", - "nodeType": "YulIdentifier", - "src": "1029:5:34" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1019:6:34" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1043:46:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1074:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1085:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1070:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1070:18:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "1057:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "1057:32:34" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "1047:6:34", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1098:28:34", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1108:18:34", - "type": "", - "value": "0xffffffffffffffff" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "1102:2:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1153:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1162:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1165:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "1155:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "1155:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "1155:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "1141:6:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "1149:2:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "1138:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "1138:14:34" - }, - "nodeType": "YulIf", - "src": "1135:34:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1178:85:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1235:9:34" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "1246:6:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1231:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1231:22:34" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "1255:7:34" - } - ], - "functionName": { - "name": "abi_decode_string_calldata", - "nodeType": "YulIdentifier", - "src": "1204:26:34" - }, - "nodeType": "YulFunctionCall", - "src": "1204:59:34" - }, - "variables": [ - { - "name": "value1_1", - "nodeType": "YulTypedName", - "src": "1182:8:34", - "type": "" - }, - { - "name": "value2_1", - "nodeType": "YulTypedName", - "src": "1192:8:34", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "1272:18:34", - "value": { - "name": "value1_1", - "nodeType": "YulIdentifier", - "src": "1282:8:34" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "1272:6:34" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "1299:18:34", - "value": { - "name": "value2_1", - "nodeType": "YulIdentifier", - "src": "1309:8:34" - }, - "variableNames": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "1299:6:34" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1326:48:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1359:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1370:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1355:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1355:18:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "1342:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "1342:32:34" - }, - "variables": [ - { - "name": "offset_1", - "nodeType": "YulTypedName", - "src": "1330:8:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1403:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1412:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1415:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "1405:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "1405:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "1405:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset_1", - "nodeType": "YulIdentifier", - "src": "1389:8:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "1399:2:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "1386:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "1386:16:34" - }, - "nodeType": "YulIf", - "src": "1383:36:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1428:87:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1485:9:34" - }, - { - "name": "offset_1", - "nodeType": "YulIdentifier", - "src": "1496:8:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1481:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1481:24:34" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "1507:7:34" - } - ], - "functionName": { - "name": "abi_decode_string_calldata", - "nodeType": "YulIdentifier", - "src": "1454:26:34" - }, - "nodeType": "YulFunctionCall", - "src": "1454:61:34" - }, - "variables": [ - { - "name": "value3_1", - "nodeType": "YulTypedName", - "src": "1432:8:34", - "type": "" - }, - { - "name": "value4_1", - "nodeType": "YulTypedName", - "src": "1442:8:34", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "1524:18:34", - "value": { - "name": "value3_1", - "nodeType": "YulIdentifier", - "src": "1534:8:34" - }, - "variableNames": [ - { - "name": "value3", - "nodeType": "YulIdentifier", - "src": "1524:6:34" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "1551:18:34", - "value": { - "name": "value4_1", - "nodeType": "YulIdentifier", - "src": "1561:8:34" - }, - "variableNames": [ - { - "name": "value4", - "nodeType": "YulIdentifier", - "src": "1551:6:34" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1578:48:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1611:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1622:2:34", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1607:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1607:18:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "1594:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "1594:32:34" - }, - "variables": [ - { - "name": "offset_2", - "nodeType": "YulTypedName", - "src": "1582:8:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1655:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1664:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1667:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "1657:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "1657:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "1657:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset_2", - "nodeType": "YulIdentifier", - "src": "1641:8:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "1651:2:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "1638:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "1638:16:34" - }, - "nodeType": "YulIf", - "src": "1635:36:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1680:87:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1737:9:34" - }, - { - "name": "offset_2", - "nodeType": "YulIdentifier", - "src": "1748:8:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1733:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1733:24:34" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "1759:7:34" - } - ], - "functionName": { - "name": "abi_decode_string_calldata", - "nodeType": "YulIdentifier", - "src": "1706:26:34" - }, - "nodeType": "YulFunctionCall", - "src": "1706:61:34" - }, - "variables": [ - { - "name": "value5_1", - "nodeType": "YulTypedName", - "src": "1684:8:34", - "type": "" - }, - { - "name": "value6_1", - "nodeType": "YulTypedName", - "src": "1694:8:34", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "1776:18:34", - "value": { - "name": "value5_1", - "nodeType": "YulIdentifier", - "src": "1786:8:34" - }, - "variableNames": [ - { - "name": "value5", - "nodeType": "YulIdentifier", - "src": "1776:6:34" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "1803:18:34", - "value": { - "name": "value6_1", - "nodeType": "YulIdentifier", - "src": "1813:8:34" - }, - "variableNames": [ - { - "name": "value6", - "nodeType": "YulIdentifier", - "src": "1803:6:34" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1830:48:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1862:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1873:3:34", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1858:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1858:19:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "1845:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "1845:33:34" - }, - "variables": [ - { - "name": "value_1", - "nodeType": "YulTypedName", - "src": "1834:7:34", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "value_1", - "nodeType": "YulIdentifier", - "src": "1912:7:34" - } - ], - "functionName": { - "name": "validator_revert_address", - "nodeType": "YulIdentifier", - "src": "1887:24:34" - }, - "nodeType": "YulFunctionCall", - "src": "1887:33:34" - }, - "nodeType": "YulExpressionStatement", - "src": "1887:33:34" - }, - { - "nodeType": "YulAssignment", - "src": "1929:17:34", - "value": { - "name": "value_1", - "nodeType": "YulIdentifier", - "src": "1939:7:34" - }, - "variableNames": [ - { - "name": "value7", - "nodeType": "YulIdentifier", - "src": "1929:6:34" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_addresst_string_calldata_ptrt_string_calldata_ptrt_bytes_calldata_ptrt_address", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "772:9:34", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "783:7:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "795:6:34", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "803:6:34", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "811:6:34", - "type": "" - }, - { - "name": "value3", - "nodeType": "YulTypedName", - "src": "819:6:34", - "type": "" - }, - { - "name": "value4", - "nodeType": "YulTypedName", - "src": "827:6:34", - "type": "" - }, - { - "name": "value5", - "nodeType": "YulTypedName", - "src": "835:6:34", - "type": "" - }, - { - "name": "value6", - "nodeType": "YulTypedName", - "src": "843:6:34", - "type": "" - }, - { - "name": "value7", - "nodeType": "YulTypedName", - "src": "851:6:34", - "type": "" - } - ], - "src": "665:1287:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2058:125:34", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "2068:26:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2080:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2091:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2076:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "2076:18:34" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "2068:4:34" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2110:9:34" - }, - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "2125:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2133:42:34", - "type": "", - "value": "0xffffffffffffffffffffffffffffffffffffffff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "2121:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "2121:55:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2103:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "2103:74:34" - }, - "nodeType": "YulExpressionStatement", - "src": "2103:74:34" - } - ] - }, - "name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "2027:9:34", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "2038:6:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "2049:4:34", - "type": "" - } - ], - "src": "1957:226:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2289:76:34", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "2299:26:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2311:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2322:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2307:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "2307:18:34" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "2299:4:34" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2341:9:34" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "2352:6:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2334:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "2334:25:34" - }, - "nodeType": "YulExpressionStatement", - "src": "2334:25:34" - } - ] - }, - "name": "abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "2258:9:34", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "2269:6:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "2280:4:34", - "type": "" - } - ], - "src": "2188:177:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2482:352:34", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "2528:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2537:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2540:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "2530:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "2530:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "2530:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "2503:7:34" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2512:9:34" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "2499:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "2499:23:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2524:2:34", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "2495:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "2495:32:34" - }, - "nodeType": "YulIf", - "src": "2492:52:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "2553:36:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2579:9:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "2566:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "2566:23:34" - }, - "variables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "2557:5:34", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "2623:5:34" - } - ], - "functionName": { - "name": "validator_revert_address", - "nodeType": "YulIdentifier", - "src": "2598:24:34" - }, - "nodeType": "YulFunctionCall", - "src": "2598:31:34" - }, - "nodeType": "YulExpressionStatement", - "src": "2598:31:34" - }, - { - "nodeType": "YulAssignment", - "src": "2638:15:34", - "value": { - "name": "value", - "nodeType": "YulIdentifier", - "src": "2648:5:34" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "2638:6:34" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "2662:47:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2694:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2705:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2690:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "2690:18:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "2677:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "2677:32:34" - }, - "variables": [ - { - "name": "value_1", - "nodeType": "YulTypedName", - "src": "2666:7:34", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "value_1", - "nodeType": "YulIdentifier", - "src": "2743:7:34" - } - ], - "functionName": { - "name": "validator_revert_address", - "nodeType": "YulIdentifier", - "src": "2718:24:34" - }, - "nodeType": "YulFunctionCall", - "src": "2718:33:34" - }, - "nodeType": "YulExpressionStatement", - "src": "2718:33:34" - }, - { - "nodeType": "YulAssignment", - "src": "2760:17:34", - "value": { - "name": "value_1", - "nodeType": "YulIdentifier", - "src": "2770:7:34" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "2760:6:34" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "2786:42:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2813:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2824:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2809:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "2809:18:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "2796:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "2796:32:34" - }, - "variableNames": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "2786:6:34" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_address_payablet_addresst_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "2432:9:34", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "2443:7:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "2455:6:34", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "2463:6:34", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "2471:6:34", - "type": "" - } - ], - "src": "2370:464:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2928:321:34", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "2974:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2983:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2986:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "2976:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "2976:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "2976:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "2949:7:34" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2958:9:34" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "2945:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "2945:23:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2970:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "2941:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "2941:32:34" - }, - "nodeType": "YulIf", - "src": "2938:52:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "2999:37:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3026:9:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "3013:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "3013:23:34" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "3003:6:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3079:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3088:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3091:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "3081:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "3081:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "3081:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "3051:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3059:18:34", - "type": "", - "value": "0xffffffffffffffff" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "3048:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "3048:30:34" - }, - "nodeType": "YulIf", - "src": "3045:50:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "3104:85:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3161:9:34" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "3172:6:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3157:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "3157:22:34" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "3181:7:34" - } - ], - "functionName": { - "name": "abi_decode_string_calldata", - "nodeType": "YulIdentifier", - "src": "3130:26:34" - }, - "nodeType": "YulFunctionCall", - "src": "3130:59:34" - }, - "variables": [ - { - "name": "value0_1", - "nodeType": "YulTypedName", - "src": "3108:8:34", - "type": "" - }, - { - "name": "value1_1", - "nodeType": "YulTypedName", - "src": "3118:8:34", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "3198:18:34", - "value": { - "name": "value0_1", - "nodeType": "YulIdentifier", - "src": "3208:8:34" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "3198:6:34" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "3225:18:34", - "value": { - "name": "value1_1", - "nodeType": "YulIdentifier", - "src": "3235:8:34" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "3225:6:34" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_bytes_calldata_ptr", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "2886:9:34", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "2897:7:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "2909:6:34", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "2917:6:34", - "type": "" - } - ], - "src": "2839:410:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3377:490:34", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "3423:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3432:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3435:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "3425:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "3425:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "3425:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "3398:7:34" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3407:9:34" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "3394:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "3394:23:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3419:2:34", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "3390:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "3390:32:34" - }, - "nodeType": "YulIf", - "src": "3387:52:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "3448:36:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3474:9:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "3461:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "3461:23:34" - }, - "variables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "3452:5:34", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "3518:5:34" - } - ], - "functionName": { - "name": "validator_revert_address", - "nodeType": "YulIdentifier", - "src": "3493:24:34" - }, - "nodeType": "YulFunctionCall", - "src": "3493:31:34" - }, - "nodeType": "YulExpressionStatement", - "src": "3493:31:34" - }, - { - "nodeType": "YulAssignment", - "src": "3533:15:34", - "value": { - "name": "value", - "nodeType": "YulIdentifier", - "src": "3543:5:34" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "3533:6:34" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "3557:42:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3584:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3595:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3580:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "3580:18:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "3567:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "3567:32:34" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "3557:6:34" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "3608:46:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3639:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3650:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3635:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "3635:18:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "3622:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "3622:32:34" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "3612:6:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3697:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3706:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3709:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "3699:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "3699:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "3699:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "3669:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3677:18:34", - "type": "", - "value": "0xffffffffffffffff" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "3666:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "3666:30:34" - }, - "nodeType": "YulIf", - "src": "3663:50:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "3722:85:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3779:9:34" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "3790:6:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3775:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "3775:22:34" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "3799:7:34" - } - ], - "functionName": { - "name": "abi_decode_string_calldata", - "nodeType": "YulIdentifier", - "src": "3748:26:34" - }, - "nodeType": "YulFunctionCall", - "src": "3748:59:34" - }, - "variables": [ - { - "name": "value2_1", - "nodeType": "YulTypedName", - "src": "3726:8:34", - "type": "" - }, - { - "name": "value3_1", - "nodeType": "YulTypedName", - "src": "3736:8:34", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "3816:18:34", - "value": { - "name": "value2_1", - "nodeType": "YulIdentifier", - "src": "3826:8:34" - }, - "variableNames": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "3816:6:34" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "3843:18:34", - "value": { - "name": "value3_1", - "nodeType": "YulIdentifier", - "src": "3853:8:34" - }, - "variableNames": [ - { - "name": "value3", - "nodeType": "YulIdentifier", - "src": "3843:6:34" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_addresst_bytes32t_bytes_calldata_ptr", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "3319:9:34", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "3330:7:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "3342:6:34", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "3350:6:34", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "3358:6:34", - "type": "" - }, - { - "name": "value3", - "nodeType": "YulTypedName", - "src": "3366:6:34", - "type": "" - } - ], - "src": "3254:613:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4010:456:34", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "4057:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4066:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4069:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "4059:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "4059:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "4059:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "4031:7:34" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4040:9:34" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "4027:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "4027:23:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4052:3:34", - "type": "", - "value": "160" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "4023:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "4023:33:34" - }, - "nodeType": "YulIf", - "src": "4020:53:34" - }, - { - "nodeType": "YulAssignment", - "src": "4082:33:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4105:9:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "4092:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "4092:23:34" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "4082:6:34" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "4124:42:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4151:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4162:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4147:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "4147:18:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "4134:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "4134:32:34" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "4124:6:34" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "4175:45:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4205:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4216:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4201:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "4201:18:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "4188:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "4188:32:34" - }, - "variables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "4179:5:34", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "4254:5:34" - } - ], - "functionName": { - "name": "validator_revert_address", - "nodeType": "YulIdentifier", - "src": "4229:24:34" - }, - "nodeType": "YulFunctionCall", - "src": "4229:31:34" - }, - "nodeType": "YulExpressionStatement", - "src": "4229:31:34" - }, - { - "nodeType": "YulAssignment", - "src": "4269:15:34", - "value": { - "name": "value", - "nodeType": "YulIdentifier", - "src": "4279:5:34" - }, - "variableNames": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "4269:6:34" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "4293:42:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4320:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4331:2:34", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4316:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "4316:18:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "4303:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "4303:32:34" - }, - "variableNames": [ - { - "name": "value3", - "nodeType": "YulIdentifier", - "src": "4293:6:34" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "4344:48:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4376:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4387:3:34", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4372:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "4372:19:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "4359:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "4359:33:34" - }, - "variables": [ - { - "name": "value_1", - "nodeType": "YulTypedName", - "src": "4348:7:34", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "value_1", - "nodeType": "YulIdentifier", - "src": "4426:7:34" - } - ], - "functionName": { - "name": "validator_revert_address", - "nodeType": "YulIdentifier", - "src": "4401:24:34" - }, - "nodeType": "YulFunctionCall", - "src": "4401:33:34" - }, - "nodeType": "YulExpressionStatement", - "src": "4401:33:34" - }, - { - "nodeType": "YulAssignment", - "src": "4443:17:34", - "value": { - "name": "value_1", - "nodeType": "YulIdentifier", - "src": "4453:7:34" - }, - "variableNames": [ - { - "name": "value4", - "nodeType": "YulIdentifier", - "src": "4443:6:34" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_bytes32t_uint256t_addresst_uint256t_address", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "3944:9:34", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "3955:7:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "3967:6:34", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "3975:6:34", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "3983:6:34", - "type": "" - }, - { - "name": "value3", - "nodeType": "YulTypedName", - "src": "3991:6:34", - "type": "" - }, - { - "name": "value4", - "nodeType": "YulTypedName", - "src": "3999:6:34", - "type": "" - } - ], - "src": "3872:594:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4723:1239:34", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "4770:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4779:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4782:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "4772:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "4772:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "4772:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "4744:7:34" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4753:9:34" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "4740:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "4740:23:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4765:3:34", - "type": "", - "value": "224" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "4736:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "4736:33:34" - }, - "nodeType": "YulIf", - "src": "4733:53:34" - }, - { - "nodeType": "YulAssignment", - "src": "4795:39:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4824:9:34" - } - ], - "functionName": { - "name": "abi_decode_address", - "nodeType": "YulIdentifier", - "src": "4805:18:34" - }, - "nodeType": "YulFunctionCall", - "src": "4805:29:34" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "4795:6:34" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "4843:28:34", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4853:18:34", - "type": "", - "value": "0xffffffffffffffff" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "4847:2:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4924:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4933:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4936:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "4926:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "4926:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "4926:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4903:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4914:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4899:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "4899:18:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "4886:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "4886:32:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "4920:2:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "4883:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "4883:40:34" - }, - "nodeType": "YulIf", - "src": "4880:60:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "4949:111:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5006:9:34" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5034:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5045:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5030:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "5030:18:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "5017:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "5017:32:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5002:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "5002:48:34" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "5052:7:34" - } - ], - "functionName": { - "name": "abi_decode_string_calldata", - "nodeType": "YulIdentifier", - "src": "4975:26:34" - }, - "nodeType": "YulFunctionCall", - "src": "4975:85:34" - }, - "variables": [ - { - "name": "value1_1", - "nodeType": "YulTypedName", - "src": "4953:8:34", - "type": "" - }, - { - "name": "value2_1", - "nodeType": "YulTypedName", - "src": "4963:8:34", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "5069:18:34", - "value": { - "name": "value1_1", - "nodeType": "YulIdentifier", - "src": "5079:8:34" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "5069:6:34" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "5096:18:34", - "value": { - "name": "value2_1", - "nodeType": "YulIdentifier", - "src": "5106:8:34" - }, - "variableNames": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "5096:6:34" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5167:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5176:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5179:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "5169:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "5169:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "5169:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5146:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5157:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5142:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "5142:18:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "5129:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "5129:32:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "5163:2:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "5126:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "5126:40:34" - }, - "nodeType": "YulIf", - "src": "5123:60:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "5192:111:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5249:9:34" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5277:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5288:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5273:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "5273:18:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "5260:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "5260:32:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5245:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "5245:48:34" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "5295:7:34" - } - ], - "functionName": { - "name": "abi_decode_string_calldata", - "nodeType": "YulIdentifier", - "src": "5218:26:34" - }, - "nodeType": "YulFunctionCall", - "src": "5218:85:34" - }, - "variables": [ - { - "name": "value3_1", - "nodeType": "YulTypedName", - "src": "5196:8:34", - "type": "" - }, - { - "name": "value4_1", - "nodeType": "YulTypedName", - "src": "5206:8:34", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "5312:18:34", - "value": { - "name": "value3_1", - "nodeType": "YulIdentifier", - "src": "5322:8:34" - }, - "variableNames": [ - { - "name": "value3", - "nodeType": "YulIdentifier", - "src": "5312:6:34" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "5339:18:34", - "value": { - "name": "value4_1", - "nodeType": "YulIdentifier", - "src": "5349:8:34" - }, - "variableNames": [ - { - "name": "value4", - "nodeType": "YulIdentifier", - "src": "5339:6:34" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5410:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5419:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5422:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "5412:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "5412:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "5412:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5389:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5400:2:34", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5385:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "5385:18:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "5372:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "5372:32:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "5406:2:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "5369:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "5369:40:34" - }, - "nodeType": "YulIf", - "src": "5366:60:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "5435:111:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5492:9:34" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5520:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5531:2:34", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5516:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "5516:18:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "5503:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "5503:32:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5488:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "5488:48:34" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "5538:7:34" - } - ], - "functionName": { - "name": "abi_decode_string_calldata", - "nodeType": "YulIdentifier", - "src": "5461:26:34" - }, - "nodeType": "YulFunctionCall", - "src": "5461:85:34" - }, - "variables": [ - { - "name": "value5_1", - "nodeType": "YulTypedName", - "src": "5439:8:34", - "type": "" - }, - { - "name": "value6_1", - "nodeType": "YulTypedName", - "src": "5449:8:34", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "5555:18:34", - "value": { - "name": "value5_1", - "nodeType": "YulIdentifier", - "src": "5565:8:34" - }, - "variableNames": [ - { - "name": "value5", - "nodeType": "YulIdentifier", - "src": "5555:6:34" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "5582:18:34", - "value": { - "name": "value6_1", - "nodeType": "YulIdentifier", - "src": "5592:8:34" - }, - "variableNames": [ - { - "name": "value6", - "nodeType": "YulIdentifier", - "src": "5582:6:34" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5654:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5663:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5666:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "5656:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "5656:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "5656:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5632:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5643:3:34", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5628:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "5628:19:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "5615:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "5615:33:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "5650:2:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "5612:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "5612:41:34" - }, - "nodeType": "YulIf", - "src": "5609:61:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "5679:112:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5736:9:34" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5764:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5775:3:34", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5760:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "5760:19:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "5747:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "5747:33:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5732:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "5732:49:34" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "5783:7:34" - } - ], - "functionName": { - "name": "abi_decode_string_calldata", - "nodeType": "YulIdentifier", - "src": "5705:26:34" - }, - "nodeType": "YulFunctionCall", - "src": "5705:86:34" - }, - "variables": [ - { - "name": "value7_1", - "nodeType": "YulTypedName", - "src": "5683:8:34", - "type": "" - }, - { - "name": "value8_1", - "nodeType": "YulTypedName", - "src": "5693:8:34", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "5800:18:34", - "value": { - "name": "value7_1", - "nodeType": "YulIdentifier", - "src": "5810:8:34" - }, - "variableNames": [ - { - "name": "value7", - "nodeType": "YulIdentifier", - "src": "5800:6:34" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "5827:18:34", - "value": { - "name": "value8_1", - "nodeType": "YulIdentifier", - "src": "5837:8:34" - }, - "variableNames": [ - { - "name": "value8", - "nodeType": "YulIdentifier", - "src": "5827:6:34" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "5854:43:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5881:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5892:3:34", - "type": "", - "value": "160" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5877:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "5877:19:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "5864:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "5864:33:34" - }, - "variableNames": [ - { - "name": "value9", - "nodeType": "YulIdentifier", - "src": "5854:6:34" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "5906:50:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "5940:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5951:3:34", - "type": "", - "value": "192" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5936:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "5936:19:34" - } - ], - "functionName": { - "name": "abi_decode_address", - "nodeType": "YulIdentifier", - "src": "5917:18:34" - }, - "nodeType": "YulFunctionCall", - "src": "5917:39:34" - }, - "variableNames": [ - { - "name": "value10", - "nodeType": "YulIdentifier", - "src": "5906:7:34" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_addresst_string_calldata_ptrt_string_calldata_ptrt_bytes_calldata_ptrt_string_calldata_ptrt_uint256t_address", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "4608:9:34", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "4619:7:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "4631:6:34", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "4639:6:34", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "4647:6:34", - "type": "" - }, - { - "name": "value3", - "nodeType": "YulTypedName", - "src": "4655:6:34", - "type": "" - }, - { - "name": "value4", - "nodeType": "YulTypedName", - "src": "4663:6:34", - "type": "" - }, - { - "name": "value5", - "nodeType": "YulTypedName", - "src": "4671:6:34", - "type": "" - }, - { - "name": "value6", - "nodeType": "YulTypedName", - "src": "4679:6:34", - "type": "" - }, - { - "name": "value7", - "nodeType": "YulTypedName", - "src": "4687:6:34", - "type": "" - }, - { - "name": "value8", - "nodeType": "YulTypedName", - "src": "4695:6:34", - "type": "" - }, - { - "name": "value9", - "nodeType": "YulTypedName", - "src": "4703:6:34", - "type": "" - }, - { - "name": "value10", - "nodeType": "YulTypedName", - "src": "4711:7:34", - "type": "" - } - ], - "src": "4471:1491:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "6071:279:34", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "6117:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6126:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6129:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "6119:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "6119:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "6119:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "6092:7:34" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6101:9:34" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "6088:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "6088:23:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6113:2:34", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "6084:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "6084:32:34" - }, - "nodeType": "YulIf", - "src": "6081:52:34" - }, - { - "nodeType": "YulAssignment", - "src": "6142:33:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6165:9:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "6152:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "6152:23:34" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "6142:6:34" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "6184:42:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6211:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6222:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6207:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "6207:18:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "6194:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "6194:32:34" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "6184:6:34" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "6235:45:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6265:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6276:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6261:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "6261:18:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "6248:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "6248:32:34" - }, - "variables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "6239:5:34", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "6314:5:34" - } - ], - "functionName": { - "name": "validator_revert_address", - "nodeType": "YulIdentifier", - "src": "6289:24:34" - }, - "nodeType": "YulFunctionCall", - "src": "6289:31:34" - }, - "nodeType": "YulExpressionStatement", - "src": "6289:31:34" - }, - { - "nodeType": "YulAssignment", - "src": "6329:15:34", - "value": { - "name": "value", - "nodeType": "YulIdentifier", - "src": "6339:5:34" - }, - "variableNames": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "6329:6:34" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_bytes32t_uint256t_address", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "6021:9:34", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "6032:7:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "6044:6:34", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "6052:6:34", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "6060:6:34", - "type": "" - } - ], - "src": "5967:383:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "6485:628:34", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "6531:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6540:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6543:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "6533:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "6533:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "6533:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "6506:7:34" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6515:9:34" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "6502:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "6502:23:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6527:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "6498:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "6498:32:34" - }, - "nodeType": "YulIf", - "src": "6495:52:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "6556:36:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6582:9:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "6569:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "6569:23:34" - }, - "variables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "6560:5:34", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "6626:5:34" - } - ], - "functionName": { - "name": "validator_revert_address", - "nodeType": "YulIdentifier", - "src": "6601:24:34" - }, - "nodeType": "YulFunctionCall", - "src": "6601:31:34" - }, - "nodeType": "YulExpressionStatement", - "src": "6601:31:34" - }, - { - "nodeType": "YulAssignment", - "src": "6641:15:34", - "value": { - "name": "value", - "nodeType": "YulIdentifier", - "src": "6651:5:34" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "6641:6:34" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "6665:46:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6696:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6707:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6692:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "6692:18:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "6679:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "6679:32:34" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "6669:6:34", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "6720:28:34", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6730:18:34", - "type": "", - "value": "0xffffffffffffffff" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "6724:2:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "6775:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6784:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6787:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "6777:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "6777:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "6777:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "6763:6:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "6771:2:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "6760:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "6760:14:34" - }, - "nodeType": "YulIf", - "src": "6757:34:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "6800:32:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6814:9:34" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "6825:6:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6810:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "6810:22:34" - }, - "variables": [ - { - "name": "_2", - "nodeType": "YulTypedName", - "src": "6804:2:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "6880:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6889:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6892:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "6882:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "6882:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "6882:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "6859:2:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6863:4:34", - "type": "", - "value": "0x1f" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6855:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "6855:13:34" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "6870:7:34" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "6851:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "6851:27:34" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "6844:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "6844:35:34" - }, - "nodeType": "YulIf", - "src": "6841:55:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "6905:30:34", - "value": { - "arguments": [ - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "6932:2:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "6919:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "6919:16:34" - }, - "variables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "6909:6:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "6962:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6971:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6974:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "6964:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "6964:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "6964:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "6950:6:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "6958:2:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "6947:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "6947:14:34" - }, - "nodeType": "YulIf", - "src": "6944:34:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "7036:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7045:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7048:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "7038:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "7038:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "7038:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "7001:2:34" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7009:1:34", - "type": "", - "value": "5" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "7012:6:34" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "7005:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "7005:14:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6997:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "6997:23:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7022:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6993:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "6993:32:34" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "7027:7:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "6990:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "6990:45:34" - }, - "nodeType": "YulIf", - "src": "6987:65:34" - }, - { - "nodeType": "YulAssignment", - "src": "7061:21:34", - "value": { - "arguments": [ - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "7075:2:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7079:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7071:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "7071:11:34" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "7061:6:34" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "7091:16:34", - "value": { - "name": "length", - "nodeType": "YulIdentifier", - "src": "7101:6:34" - }, - "variableNames": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "7091:6:34" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_address_payablet_array$_t_address_$dyn_calldata_ptr", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "6435:9:34", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "6446:7:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "6458:6:34", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "6466:6:34", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "6474:6:34", - "type": "" - } - ], - "src": "6355:758:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "7150:152:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7167:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7170:77:34", - "type": "", - "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "7160:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "7160:88:34" - }, - "nodeType": "YulExpressionStatement", - "src": "7160:88:34" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7264:1:34", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7267:4:34", - "type": "", - "value": "0x41" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "7257:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "7257:15:34" - }, - "nodeType": "YulExpressionStatement", - "src": "7257:15:34" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7288:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7291:4:34", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "7281:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "7281:15:34" - }, - "nodeType": "YulExpressionStatement", - "src": "7281:15:34" - } - ] - }, - "name": "panic_error_0x41", - "nodeType": "YulFunctionDefinition", - "src": "7118:184:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "7360:666:34", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "7409:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7418:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7421:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "7411:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "7411:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "7411:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "7388:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7396:4:34", - "type": "", - "value": "0x1f" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7384:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "7384:17:34" - }, - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "7403:3:34" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "7380:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "7380:27:34" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "7373:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "7373:35:34" - }, - "nodeType": "YulIf", - "src": "7370:55:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "7434:30:34", - "value": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "7457:6:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "7444:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "7444:20:34" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "7438:2:34", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "7473:28:34", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7483:18:34", - "type": "", - "value": "0xffffffffffffffff" - }, - "variables": [ - { - "name": "_2", - "nodeType": "YulTypedName", - "src": "7477:2:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "7524:22:34", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x41", - "nodeType": "YulIdentifier", - "src": "7526:16:34" - }, - "nodeType": "YulFunctionCall", - "src": "7526:18:34" - }, - "nodeType": "YulExpressionStatement", - "src": "7526:18:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "7516:2:34" - }, - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "7520:2:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "7513:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "7513:10:34" - }, - "nodeType": "YulIf", - "src": "7510:36:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "7555:17:34", - "value": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7569:2:34", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "7565:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "7565:7:34" - }, - "variables": [ - { - "name": "_3", - "nodeType": "YulTypedName", - "src": "7559:2:34", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "7581:23:34", - "value": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7601:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "7595:5:34" - }, - "nodeType": "YulFunctionCall", - "src": "7595:9:34" - }, - "variables": [ - { - "name": "memPtr", - "nodeType": "YulTypedName", - "src": "7585:6:34", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "7613:71:34", - "value": { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "7635:6:34" - }, - { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "7659:2:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7663:4:34", - "type": "", - "value": "0x1f" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7655:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "7655:13:34" - }, - { - "name": "_3", - "nodeType": "YulIdentifier", - "src": "7670:2:34" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "7651:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "7651:22:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7675:2:34", - "type": "", - "value": "63" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7647:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "7647:31:34" - }, - { - "name": "_3", - "nodeType": "YulIdentifier", - "src": "7680:2:34" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "7643:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "7643:40:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7631:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "7631:53:34" - }, - "variables": [ - { - "name": "newFreePtr", - "nodeType": "YulTypedName", - "src": "7617:10:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "7743:22:34", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x41", - "nodeType": "YulIdentifier", - "src": "7745:16:34" - }, - "nodeType": "YulFunctionCall", - "src": "7745:18:34" - }, - "nodeType": "YulExpressionStatement", - "src": "7745:18:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "newFreePtr", - "nodeType": "YulIdentifier", - "src": "7702:10:34" - }, - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "7714:2:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "7699:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "7699:18:34" - }, - { - "arguments": [ - { - "name": "newFreePtr", - "nodeType": "YulIdentifier", - "src": "7722:10:34" - }, - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "7734:6:34" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "7719:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "7719:22:34" - } - ], - "functionName": { - "name": "or", - "nodeType": "YulIdentifier", - "src": "7696:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "7696:46:34" - }, - "nodeType": "YulIf", - "src": "7693:72:34" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7781:2:34", - "type": "", - "value": "64" - }, - { - "name": "newFreePtr", - "nodeType": "YulIdentifier", - "src": "7785:10:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "7774:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "7774:22:34" - }, - "nodeType": "YulExpressionStatement", - "src": "7774:22:34" - }, - { - "expression": { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "7812:6:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "7820:2:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "7805:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "7805:18:34" - }, - "nodeType": "YulExpressionStatement", - "src": "7805:18:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "7871:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7880:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7883:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "7873:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "7873:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "7873:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "7846:6:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "7854:2:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7842:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "7842:15:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7859:4:34", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7838:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "7838:26:34" - }, - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "7866:3:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "7835:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "7835:35:34" - }, - "nodeType": "YulIf", - "src": "7832:55:34" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "7913:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7921:4:34", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7909:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "7909:17:34" - }, - { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "7932:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7940:4:34", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7928:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "7928:17:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "7947:2:34" - } - ], - "functionName": { - "name": "calldatacopy", - "nodeType": "YulIdentifier", - "src": "7896:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "7896:54:34" - }, - "nodeType": "YulExpressionStatement", - "src": "7896:54:34" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "7974:6:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "7982:2:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7970:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "7970:15:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7987:4:34", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7966:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "7966:26:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7994:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "7959:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "7959:37:34" - }, - "nodeType": "YulExpressionStatement", - "src": "7959:37:34" - }, - { - "nodeType": "YulAssignment", - "src": "8005:15:34", - "value": { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "8014:6:34" - }, - "variableNames": [ - { - "name": "array", - "nodeType": "YulIdentifier", - "src": "8005:5:34" - } - ] - } - ] - }, - "name": "abi_decode_string", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "7334:6:34", - "type": "" - }, - { - "name": "end", - "nodeType": "YulTypedName", - "src": "7342:3:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "array", - "nodeType": "YulTypedName", - "src": "7350:5:34", - "type": "" - } - ], - "src": "7307:719:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "8308:1298:34", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "8355:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8364:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8367:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "8357:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "8357:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "8357:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "8329:7:34" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "8338:9:34" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "8325:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "8325:23:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8350:3:34", - "type": "", - "value": "288" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "8321:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "8321:33:34" - }, - "nodeType": "YulIf", - "src": "8318:53:34" - }, - { - "nodeType": "YulAssignment", - "src": "8380:39:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "8409:9:34" - } - ], - "functionName": { - "name": "abi_decode_address", - "nodeType": "YulIdentifier", - "src": "8390:18:34" - }, - "nodeType": "YulFunctionCall", - "src": "8390:29:34" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "8380:6:34" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "8488:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8497:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8500:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "8490:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "8490:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "8490:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "8451:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8462:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8447:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "8447:18:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "8434:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "8434:32:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8468:18:34", - "type": "", - "value": "0xffffffffffffffff" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "8431:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "8431:56:34" - }, - "nodeType": "YulIf", - "src": "8428:76:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "8513:111:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "8570:9:34" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "8598:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8609:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8594:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "8594:18:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "8581:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "8581:32:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8566:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "8566:48:34" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "8616:7:34" - } - ], - "functionName": { - "name": "abi_decode_string_calldata", - "nodeType": "YulIdentifier", - "src": "8539:26:34" - }, - "nodeType": "YulFunctionCall", - "src": "8539:85:34" - }, - "variables": [ - { - "name": "value1_1", - "nodeType": "YulTypedName", - "src": "8517:8:34", - "type": "" - }, - { - "name": "value2_1", - "nodeType": "YulTypedName", - "src": "8527:8:34", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "8633:18:34", - "value": { - "name": "value1_1", - "nodeType": "YulIdentifier", - "src": "8643:8:34" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "8633:6:34" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "8660:18:34", - "value": { - "name": "value2_1", - "nodeType": "YulIdentifier", - "src": "8670:8:34" - }, - "variableNames": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "8660:6:34" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "8747:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8756:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8759:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "8749:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "8749:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "8749:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "8710:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8721:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8706:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "8706:18:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "8693:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "8693:32:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8727:18:34", - "type": "", - "value": "0xffffffffffffffff" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "8690:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "8690:56:34" - }, - "nodeType": "YulIf", - "src": "8687:76:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "8772:111:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "8829:9:34" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "8857:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8868:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8853:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "8853:18:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "8840:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "8840:32:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8825:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "8825:48:34" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "8875:7:34" - } - ], - "functionName": { - "name": "abi_decode_string_calldata", - "nodeType": "YulIdentifier", - "src": "8798:26:34" - }, - "nodeType": "YulFunctionCall", - "src": "8798:85:34" - }, - "variables": [ - { - "name": "value3_1", - "nodeType": "YulTypedName", - "src": "8776:8:34", - "type": "" - }, - { - "name": "value4_1", - "nodeType": "YulTypedName", - "src": "8786:8:34", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "8892:18:34", - "value": { - "name": "value3_1", - "nodeType": "YulIdentifier", - "src": "8902:8:34" - }, - "variableNames": [ - { - "name": "value3", - "nodeType": "YulIdentifier", - "src": "8892:6:34" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "8919:18:34", - "value": { - "name": "value4_1", - "nodeType": "YulIdentifier", - "src": "8929:8:34" - }, - "variableNames": [ - { - "name": "value4", - "nodeType": "YulIdentifier", - "src": "8919:6:34" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "9006:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9015:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9018:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "9008:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "9008:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "9008:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "8969:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8980:2:34", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8965:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "8965:18:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "8952:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "8952:32:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8986:18:34", - "type": "", - "value": "0xffffffffffffffff" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "8949:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "8949:56:34" - }, - "nodeType": "YulIf", - "src": "8946:76:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "9031:111:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9088:9:34" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9116:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9127:2:34", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9112:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "9112:18:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "9099:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "9099:32:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9084:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "9084:48:34" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "9134:7:34" - } - ], - "functionName": { - "name": "abi_decode_string_calldata", - "nodeType": "YulIdentifier", - "src": "9057:26:34" - }, - "nodeType": "YulFunctionCall", - "src": "9057:85:34" - }, - "variables": [ - { - "name": "value5_1", - "nodeType": "YulTypedName", - "src": "9035:8:34", - "type": "" - }, - { - "name": "value6_1", - "nodeType": "YulTypedName", - "src": "9045:8:34", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "9151:18:34", - "value": { - "name": "value5_1", - "nodeType": "YulIdentifier", - "src": "9161:8:34" - }, - "variableNames": [ - { - "name": "value5", - "nodeType": "YulIdentifier", - "src": "9151:6:34" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "9178:18:34", - "value": { - "name": "value6_1", - "nodeType": "YulIdentifier", - "src": "9188:8:34" - }, - "variableNames": [ - { - "name": "value6", - "nodeType": "YulIdentifier", - "src": "9178:6:34" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "9266:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9275:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9278:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "9268:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "9268:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "9268:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9228:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9239:3:34", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9224:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "9224:19:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "9211:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "9211:33:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9246:18:34", - "type": "", - "value": "0xffffffffffffffff" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "9208:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "9208:57:34" - }, - "nodeType": "YulIf", - "src": "9205:77:34" - }, - { - "nodeType": "YulAssignment", - "src": "9291:87:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9323:9:34" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9351:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9362:3:34", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9347:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "9347:19:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "9334:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "9334:33:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9319:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "9319:49:34" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "9370:7:34" - } - ], - "functionName": { - "name": "abi_decode_string", - "nodeType": "YulIdentifier", - "src": "9301:17:34" - }, - "nodeType": "YulFunctionCall", - "src": "9301:77:34" - }, - "variableNames": [ - { - "name": "value7", - "nodeType": "YulIdentifier", - "src": "9291:6:34" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "9387:43:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9414:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9425:3:34", - "type": "", - "value": "160" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9410:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "9410:19:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "9397:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "9397:33:34" - }, - "variableNames": [ - { - "name": "value8", - "nodeType": "YulIdentifier", - "src": "9387:6:34" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "9439:49:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9472:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9483:3:34", - "type": "", - "value": "192" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9468:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "9468:19:34" - } - ], - "functionName": { - "name": "abi_decode_address", - "nodeType": "YulIdentifier", - "src": "9449:18:34" - }, - "nodeType": "YulFunctionCall", - "src": "9449:39:34" - }, - "variableNames": [ - { - "name": "value9", - "nodeType": "YulIdentifier", - "src": "9439:6:34" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "9497:44:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9525:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9536:3:34", - "type": "", - "value": "224" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9521:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "9521:19:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "9508:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "9508:33:34" - }, - "variableNames": [ - { - "name": "value10", - "nodeType": "YulIdentifier", - "src": "9497:7:34" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "9550:50:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9584:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9595:3:34", - "type": "", - "value": "256" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9580:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "9580:19:34" - } - ], - "functionName": { - "name": "abi_decode_address", - "nodeType": "YulIdentifier", - "src": "9561:18:34" - }, - "nodeType": "YulFunctionCall", - "src": "9561:39:34" - }, - "variableNames": [ - { - "name": "value11", - "nodeType": "YulIdentifier", - "src": "9550:7:34" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_addresst_string_calldata_ptrt_string_calldata_ptrt_bytes_calldata_ptrt_string_memory_ptrt_uint256t_addresst_uint256t_address", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "8184:9:34", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "8195:7:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "8207:6:34", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "8215:6:34", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "8223:6:34", - "type": "" - }, - { - "name": "value3", - "nodeType": "YulTypedName", - "src": "8231:6:34", - "type": "" - }, - { - "name": "value4", - "nodeType": "YulTypedName", - "src": "8239:6:34", - "type": "" - }, - { - "name": "value5", - "nodeType": "YulTypedName", - "src": "8247:6:34", - "type": "" - }, - { - "name": "value6", - "nodeType": "YulTypedName", - "src": "8255:6:34", - "type": "" - }, - { - "name": "value7", - "nodeType": "YulTypedName", - "src": "8263:6:34", - "type": "" - }, - { - "name": "value8", - "nodeType": "YulTypedName", - "src": "8271:6:34", - "type": "" - }, - { - "name": "value9", - "nodeType": "YulTypedName", - "src": "8279:6:34", - "type": "" - }, - { - "name": "value10", - "nodeType": "YulTypedName", - "src": "8287:7:34", - "type": "" - }, - { - "name": "value11", - "nodeType": "YulTypedName", - "src": "8296:7:34", - "type": "" - } - ], - "src": "8031:1575:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "9681:177:34", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "9727:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9736:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9739:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "9729:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "9729:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "9729:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "9702:7:34" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9711:9:34" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "9698:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "9698:23:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9723:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "9694:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "9694:32:34" - }, - "nodeType": "YulIf", - "src": "9691:52:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "9752:36:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9778:9:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "9765:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "9765:23:34" - }, - "variables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "9756:5:34", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "9822:5:34" - } - ], - "functionName": { - "name": "validator_revert_address", - "nodeType": "YulIdentifier", - "src": "9797:24:34" - }, - "nodeType": "YulFunctionCall", - "src": "9797:31:34" - }, - "nodeType": "YulExpressionStatement", - "src": "9797:31:34" - }, - { - "nodeType": "YulAssignment", - "src": "9837:15:34", - "value": { - "name": "value", - "nodeType": "YulIdentifier", - "src": "9847:5:34" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "9837:6:34" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_address", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "9647:9:34", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "9658:7:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "9670:6:34", - "type": "" - } - ], - "src": "9611:247:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "10094:1200:34", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "10141:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10150:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10153:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "10143:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "10143:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "10143:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "10115:7:34" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "10124:9:34" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "10111:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "10111:23:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10136:3:34", - "type": "", - "value": "224" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "10107:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "10107:33:34" - }, - "nodeType": "YulIf", - "src": "10104:53:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "10166:36:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "10192:9:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "10179:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "10179:23:34" - }, - "variables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "10170:5:34", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "10236:5:34" - } - ], - "functionName": { - "name": "validator_revert_address", - "nodeType": "YulIdentifier", - "src": "10211:24:34" - }, - "nodeType": "YulFunctionCall", - "src": "10211:31:34" - }, - "nodeType": "YulExpressionStatement", - "src": "10211:31:34" - }, - { - "nodeType": "YulAssignment", - "src": "10251:15:34", - "value": { - "name": "value", - "nodeType": "YulIdentifier", - "src": "10261:5:34" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "10251:6:34" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "10275:46:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "10306:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10317:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "10302:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "10302:18:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "10289:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "10289:32:34" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "10279:6:34", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "10330:28:34", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10340:18:34", - "type": "", - "value": "0xffffffffffffffff" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "10334:2:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "10385:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10394:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10397:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "10387:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "10387:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "10387:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "10373:6:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "10381:2:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "10370:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "10370:14:34" - }, - "nodeType": "YulIf", - "src": "10367:34:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "10410:85:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "10467:9:34" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "10478:6:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "10463:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "10463:22:34" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "10487:7:34" - } - ], - "functionName": { - "name": "abi_decode_string_calldata", - "nodeType": "YulIdentifier", - "src": "10436:26:34" - }, - "nodeType": "YulFunctionCall", - "src": "10436:59:34" - }, - "variables": [ - { - "name": "value1_1", - "nodeType": "YulTypedName", - "src": "10414:8:34", - "type": "" - }, - { - "name": "value2_1", - "nodeType": "YulTypedName", - "src": "10424:8:34", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "10504:18:34", - "value": { - "name": "value1_1", - "nodeType": "YulIdentifier", - "src": "10514:8:34" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "10504:6:34" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "10531:18:34", - "value": { - "name": "value2_1", - "nodeType": "YulIdentifier", - "src": "10541:8:34" - }, - "variableNames": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "10531:6:34" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "10558:48:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "10591:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10602:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "10587:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "10587:18:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "10574:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "10574:32:34" - }, - "variables": [ - { - "name": "offset_1", - "nodeType": "YulTypedName", - "src": "10562:8:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "10635:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10644:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10647:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "10637:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "10637:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "10637:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset_1", - "nodeType": "YulIdentifier", - "src": "10621:8:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "10631:2:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "10618:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "10618:16:34" - }, - "nodeType": "YulIf", - "src": "10615:36:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "10660:87:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "10717:9:34" - }, - { - "name": "offset_1", - "nodeType": "YulIdentifier", - "src": "10728:8:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "10713:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "10713:24:34" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "10739:7:34" - } - ], - "functionName": { - "name": "abi_decode_string_calldata", - "nodeType": "YulIdentifier", - "src": "10686:26:34" - }, - "nodeType": "YulFunctionCall", - "src": "10686:61:34" - }, - "variables": [ - { - "name": "value3_1", - "nodeType": "YulTypedName", - "src": "10664:8:34", - "type": "" - }, - { - "name": "value4_1", - "nodeType": "YulTypedName", - "src": "10674:8:34", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "10756:18:34", - "value": { - "name": "value3_1", - "nodeType": "YulIdentifier", - "src": "10766:8:34" - }, - "variableNames": [ - { - "name": "value3", - "nodeType": "YulIdentifier", - "src": "10756:6:34" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "10783:18:34", - "value": { - "name": "value4_1", - "nodeType": "YulIdentifier", - "src": "10793:8:34" - }, - "variableNames": [ - { - "name": "value4", - "nodeType": "YulIdentifier", - "src": "10783:6:34" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "10810:48:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "10843:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10854:2:34", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "10839:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "10839:18:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "10826:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "10826:32:34" - }, - "variables": [ - { - "name": "offset_2", - "nodeType": "YulTypedName", - "src": "10814:8:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "10887:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10896:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10899:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "10889:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "10889:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "10889:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset_2", - "nodeType": "YulIdentifier", - "src": "10873:8:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "10883:2:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "10870:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "10870:16:34" - }, - "nodeType": "YulIf", - "src": "10867:36:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "10912:87:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "10969:9:34" - }, - { - "name": "offset_2", - "nodeType": "YulIdentifier", - "src": "10980:8:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "10965:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "10965:24:34" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "10991:7:34" - } - ], - "functionName": { - "name": "abi_decode_string_calldata", - "nodeType": "YulIdentifier", - "src": "10938:26:34" - }, - "nodeType": "YulFunctionCall", - "src": "10938:61:34" - }, - "variables": [ - { - "name": "value5_1", - "nodeType": "YulTypedName", - "src": "10916:8:34", - "type": "" - }, - { - "name": "value6_1", - "nodeType": "YulTypedName", - "src": "10926:8:34", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "11008:18:34", - "value": { - "name": "value5_1", - "nodeType": "YulIdentifier", - "src": "11018:8:34" - }, - "variableNames": [ - { - "name": "value5", - "nodeType": "YulIdentifier", - "src": "11008:6:34" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "11035:18:34", - "value": { - "name": "value6_1", - "nodeType": "YulIdentifier", - "src": "11045:8:34" - }, - "variableNames": [ - { - "name": "value6", - "nodeType": "YulIdentifier", - "src": "11035:6:34" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "11062:48:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "11094:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11105:3:34", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "11090:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "11090:19:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "11077:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "11077:33:34" - }, - "variables": [ - { - "name": "value_1", - "nodeType": "YulTypedName", - "src": "11066:7:34", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "value_1", - "nodeType": "YulIdentifier", - "src": "11144:7:34" - } - ], - "functionName": { - "name": "validator_revert_address", - "nodeType": "YulIdentifier", - "src": "11119:24:34" - }, - "nodeType": "YulFunctionCall", - "src": "11119:33:34" - }, - "nodeType": "YulExpressionStatement", - "src": "11119:33:34" - }, - { - "nodeType": "YulAssignment", - "src": "11161:17:34", - "value": { - "name": "value_1", - "nodeType": "YulIdentifier", - "src": "11171:7:34" - }, - "variableNames": [ - { - "name": "value7", - "nodeType": "YulIdentifier", - "src": "11161:6:34" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "11187:43:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "11214:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11225:3:34", - "type": "", - "value": "160" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "11210:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "11210:19:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "11197:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "11197:33:34" - }, - "variableNames": [ - { - "name": "value8", - "nodeType": "YulIdentifier", - "src": "11187:6:34" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "11239:49:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "11272:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11283:3:34", - "type": "", - "value": "192" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "11268:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "11268:19:34" - } - ], - "functionName": { - "name": "abi_decode_address", - "nodeType": "YulIdentifier", - "src": "11249:18:34" - }, - "nodeType": "YulFunctionCall", - "src": "11249:39:34" - }, - "variableNames": [ - { - "name": "value9", - "nodeType": "YulIdentifier", - "src": "11239:6:34" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_addresst_string_calldata_ptrt_string_calldata_ptrt_bytes_calldata_ptrt_addresst_uint256t_address", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "9988:9:34", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "9999:7:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "10011:6:34", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "10019:6:34", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "10027:6:34", - "type": "" - }, - { - "name": "value3", - "nodeType": "YulTypedName", - "src": "10035:6:34", - "type": "" - }, - { - "name": "value4", - "nodeType": "YulTypedName", - "src": "10043:6:34", - "type": "" - }, - { - "name": "value5", - "nodeType": "YulTypedName", - "src": "10051:6:34", - "type": "" - }, - { - "name": "value6", - "nodeType": "YulTypedName", - "src": "10059:6:34", - "type": "" - }, - { - "name": "value7", - "nodeType": "YulTypedName", - "src": "10067:6:34", - "type": "" - }, - { - "name": "value8", - "nodeType": "YulTypedName", - "src": "10075:6:34", - "type": "" - }, - { - "name": "value9", - "nodeType": "YulTypedName", - "src": "10083:6:34", - "type": "" - } - ], - "src": "9863:1431:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "11446:124:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "11469:3:34" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "11474:6:34" - }, - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "11482:6:34" - } - ], - "functionName": { - "name": "calldatacopy", - "nodeType": "YulIdentifier", - "src": "11456:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "11456:33:34" - }, - "nodeType": "YulExpressionStatement", - "src": "11456:33:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "11498:26:34", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "11512:3:34" - }, - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "11517:6:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "11508:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "11508:16:34" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "11502:2:34", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "11540:2:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11544:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "11533:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "11533:13:34" - }, - "nodeType": "YulExpressionStatement", - "src": "11533:13:34" - }, - { - "nodeType": "YulAssignment", - "src": "11555:9:34", - "value": { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "11562:2:34" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "11555:3:34" - } - ] - } - ] - }, - "name": "abi_encode_tuple_packed_t_bytes_calldata_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "11414:3:34", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "11419:6:34", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "11427:6:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "11438:3:34", - "type": "" - } - ], - "src": "11299:271:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "11642:200:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "11659:3:34" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "11664:6:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "11652:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "11652:19:34" - }, - "nodeType": "YulExpressionStatement", - "src": "11652:19:34" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "11697:3:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11702:4:34", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "11693:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "11693:14:34" - }, - { - "name": "start", - "nodeType": "YulIdentifier", - "src": "11709:5:34" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "11716:6:34" - } - ], - "functionName": { - "name": "calldatacopy", - "nodeType": "YulIdentifier", - "src": "11680:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "11680:43:34" - }, - "nodeType": "YulExpressionStatement", - "src": "11680:43:34" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "11747:3:34" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "11752:6:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "11743:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "11743:16:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11761:4:34", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "11739:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "11739:27:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11768:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "11732:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "11732:38:34" - }, - "nodeType": "YulExpressionStatement", - "src": "11732:38:34" - }, - { - "nodeType": "YulAssignment", - "src": "11779:57:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "11794:3:34" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "11807:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11815:2:34", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "11803:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "11803:15:34" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11824:2:34", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "11820:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "11820:7:34" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "11799:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "11799:29:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "11790:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "11790:39:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11831:4:34", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "11786:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "11786:50:34" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "11779:3:34" - } - ] - } - ] - }, - "name": "abi_encode_string_calldata", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "start", - "nodeType": "YulTypedName", - "src": "11611:5:34", - "type": "" - }, - { - "name": "length", - "nodeType": "YulTypedName", - "src": "11618:6:34", - "type": "" - }, - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "11626:3:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "11634:3:34", - "type": "" - } - ], - "src": "11575:267:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "12092:385:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "12109:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12120:3:34", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "12102:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "12102:22:34" - }, - "nodeType": "YulExpressionStatement", - "src": "12102:22:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "12133:77:34", - "value": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "12174:6:34" - }, - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "12182:6:34" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "12194:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12205:3:34", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "12190:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "12190:19:34" - } - ], - "functionName": { - "name": "abi_encode_string_calldata", - "nodeType": "YulIdentifier", - "src": "12147:26:34" - }, - "nodeType": "YulFunctionCall", - "src": "12147:63:34" - }, - "variables": [ - { - "name": "tail_1", - "nodeType": "YulTypedName", - "src": "12137:6:34", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "12230:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12241:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "12226:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "12226:18:34" - }, - { - "arguments": [ - { - "name": "tail_1", - "nodeType": "YulIdentifier", - "src": "12250:6:34" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "12258:9:34" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "12246:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "12246:22:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "12219:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "12219:50:34" - }, - "nodeType": "YulExpressionStatement", - "src": "12219:50:34" - }, - { - "nodeType": "YulAssignment", - "src": "12278:58:34", - "value": { - "arguments": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "12313:6:34" - }, - { - "name": "value3", - "nodeType": "YulIdentifier", - "src": "12321:6:34" - }, - { - "name": "tail_1", - "nodeType": "YulIdentifier", - "src": "12329:6:34" - } - ], - "functionName": { - "name": "abi_encode_string_calldata", - "nodeType": "YulIdentifier", - "src": "12286:26:34" - }, - "nodeType": "YulFunctionCall", - "src": "12286:50:34" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "12278:4:34" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "12356:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12367:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "12352:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "12352:18:34" - }, - { - "name": "value4", - "nodeType": "YulIdentifier", - "src": "12372:6:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "12345:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "12345:34:34" - }, - "nodeType": "YulExpressionStatement", - "src": "12345:34:34" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "12399:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12410:2:34", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "12395:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "12395:18:34" - }, - { - "arguments": [ - { - "name": "value5", - "nodeType": "YulIdentifier", - "src": "12419:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12427:42:34", - "type": "", - "value": "0xffffffffffffffffffffffffffffffffffffffff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "12415:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "12415:55:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "12388:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "12388:83:34" - }, - "nodeType": "YulExpressionStatement", - "src": "12388:83:34" - } - ] - }, - "name": "abi_encode_tuple_t_string_calldata_ptr_t_string_calldata_ptr_t_uint256_t_address__to_t_string_memory_ptr_t_string_memory_ptr_t_uint256_t_address__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "12021:9:34", - "type": "" - }, - { - "name": "value5", - "nodeType": "YulTypedName", - "src": "12032:6:34", - "type": "" - }, - { - "name": "value4", - "nodeType": "YulTypedName", - "src": "12040:6:34", - "type": "" - }, - { - "name": "value3", - "nodeType": "YulTypedName", - "src": "12048:6:34", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "12056:6:34", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "12064:6:34", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "12072:6:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "12083:4:34", - "type": "" - } - ], - "src": "11847:630:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "12563:103:34", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "12609:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12618:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12621:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "12611:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "12611:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "12611:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "12584:7:34" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "12593:9:34" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "12580:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "12580:23:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12605:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "12576:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "12576:32:34" - }, - "nodeType": "YulIf", - "src": "12573:52:34" - }, - { - "nodeType": "YulAssignment", - "src": "12634:26:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "12650:9:34" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "12644:5:34" - }, - "nodeType": "YulFunctionCall", - "src": "12644:16:34" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "12634:6:34" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_bytes32_fromMemory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "12529:9:34", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "12540:7:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "12552:6:34", - "type": "" - } - ], - "src": "12482:184:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "12800:116:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "12817:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12828:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "12810:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "12810:21:34" - }, - "nodeType": "YulExpressionStatement", - "src": "12810:21:34" - }, - { - "nodeType": "YulAssignment", - "src": "12840:70:34", - "value": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "12875:6:34" - }, - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "12883:6:34" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "12895:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12906:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "12891:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "12891:18:34" - } - ], - "functionName": { - "name": "abi_encode_string_calldata", - "nodeType": "YulIdentifier", - "src": "12848:26:34" - }, - "nodeType": "YulFunctionCall", - "src": "12848:62:34" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "12840:4:34" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_bytes_calldata_ptr__to_t_bytes_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "12761:9:34", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "12772:6:34", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "12780:6:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "12791:4:34", - "type": "" - } - ], - "src": "12671:245:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "12974:205:34", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "12984:10:34", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12993:1:34", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "i", - "nodeType": "YulTypedName", - "src": "12988:1:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "13053:63:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "13078:3:34" - }, - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "13083:1:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "13074:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "13074:11:34" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "13097:3:34" - }, - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "13102:1:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "13093:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "13093:11:34" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "13087:5:34" - }, - "nodeType": "YulFunctionCall", - "src": "13087:18:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "13067:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "13067:39:34" - }, - "nodeType": "YulExpressionStatement", - "src": "13067:39:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "13014:1:34" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "13017:6:34" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "13011:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "13011:13:34" - }, - "nodeType": "YulForLoop", - "post": { - "nodeType": "YulBlock", - "src": "13025:19:34", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "13027:15:34", - "value": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "13036:1:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13039:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "13032:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "13032:10:34" - }, - "variableNames": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "13027:1:34" - } - ] - } - ] - }, - "pre": { - "nodeType": "YulBlock", - "src": "13007:3:34", - "statements": [] - }, - "src": "13003:113:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "13142:31:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "13155:3:34" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "13160:6:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "13151:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "13151:16:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13169:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "13144:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "13144:27:34" - }, - "nodeType": "YulExpressionStatement", - "src": "13144:27:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "13131:1:34" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "13134:6:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "13128:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "13128:13:34" - }, - "nodeType": "YulIf", - "src": "13125:48:34" - } - ] - }, - "name": "copy_memory_to_memory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "src", - "nodeType": "YulTypedName", - "src": "12952:3:34", - "type": "" - }, - { - "name": "dst", - "nodeType": "YulTypedName", - "src": "12957:3:34", - "type": "" - }, - { - "name": "length", - "nodeType": "YulTypedName", - "src": "12962:6:34", - "type": "" - } - ], - "src": "12921:258:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "13321:137:34", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "13331:27:34", - "value": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "13351:6:34" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "13345:5:34" - }, - "nodeType": "YulFunctionCall", - "src": "13345:13:34" - }, - "variables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "13335:6:34", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "13393:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13401:4:34", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "13389:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "13389:17:34" - }, - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "13408:3:34" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "13413:6:34" - } - ], - "functionName": { - "name": "copy_memory_to_memory", - "nodeType": "YulIdentifier", - "src": "13367:21:34" - }, - "nodeType": "YulFunctionCall", - "src": "13367:53:34" - }, - "nodeType": "YulExpressionStatement", - "src": "13367:53:34" - }, - { - "nodeType": "YulAssignment", - "src": "13429:23:34", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "13440:3:34" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "13445:6:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "13436:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "13436:16:34" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "13429:3:34" - } - ] - } - ] - }, - "name": "abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "13297:3:34", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "13302:6:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "13313:3:34", - "type": "" - } - ], - "src": "13184:274:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "13620:241:34", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "13630:26:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "13642:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13653:2:34", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "13638:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "13638:18:34" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "13630:4:34" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "13665:52:34", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13675:42:34", - "type": "", - "value": "0xffffffffffffffffffffffffffffffffffffffff" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "13669:2:34", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "13733:9:34" - }, - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "13748:6:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "13756:2:34" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "13744:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "13744:15:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "13726:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "13726:34:34" - }, - "nodeType": "YulExpressionStatement", - "src": "13726:34:34" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "13780:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13791:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "13776:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "13776:18:34" - }, - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "13796:6:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "13769:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "13769:34:34" - }, - "nodeType": "YulExpressionStatement", - "src": "13769:34:34" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "13823:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13834:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "13819:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "13819:18:34" - }, - { - "arguments": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "13843:6:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "13851:2:34" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "13839:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "13839:15:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "13812:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "13812:43:34" - }, - "nodeType": "YulExpressionStatement", - "src": "13812:43:34" - } - ] - }, - "name": "abi_encode_tuple_t_address_t_uint256_t_address__to_t_address_t_uint256_t_address__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "13573:9:34", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "13584:6:34", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "13592:6:34", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "13600:6:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "13611:4:34", - "type": "" - } - ], - "src": "13463:398:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "14197:562:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "14214:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14225:3:34", - "type": "", - "value": "192" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "14207:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "14207:22:34" - }, - "nodeType": "YulExpressionStatement", - "src": "14207:22:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "14238:77:34", - "value": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "14279:6:34" - }, - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "14287:6:34" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "14299:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14310:3:34", - "type": "", - "value": "192" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "14295:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "14295:19:34" - } - ], - "functionName": { - "name": "abi_encode_string_calldata", - "nodeType": "YulIdentifier", - "src": "14252:26:34" - }, - "nodeType": "YulFunctionCall", - "src": "14252:63:34" - }, - "variables": [ - { - "name": "tail_1", - "nodeType": "YulTypedName", - "src": "14242:6:34", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "14335:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14346:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "14331:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "14331:18:34" - }, - { - "arguments": [ - { - "name": "tail_1", - "nodeType": "YulIdentifier", - "src": "14355:6:34" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "14363:9:34" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "14351:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "14351:22:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "14324:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "14324:50:34" - }, - "nodeType": "YulExpressionStatement", - "src": "14324:50:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "14383:64:34", - "value": { - "arguments": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "14424:6:34" - }, - { - "name": "value3", - "nodeType": "YulIdentifier", - "src": "14432:6:34" - }, - { - "name": "tail_1", - "nodeType": "YulIdentifier", - "src": "14440:6:34" - } - ], - "functionName": { - "name": "abi_encode_string_calldata", - "nodeType": "YulIdentifier", - "src": "14397:26:34" - }, - "nodeType": "YulFunctionCall", - "src": "14397:50:34" - }, - "variables": [ - { - "name": "tail_2", - "nodeType": "YulTypedName", - "src": "14387:6:34", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "14467:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14478:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "14463:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "14463:18:34" - }, - { - "arguments": [ - { - "name": "tail_2", - "nodeType": "YulIdentifier", - "src": "14487:6:34" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "14495:9:34" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "14483:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "14483:22:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "14456:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "14456:50:34" - }, - "nodeType": "YulExpressionStatement", - "src": "14456:50:34" - }, - { - "nodeType": "YulAssignment", - "src": "14515:58:34", - "value": { - "arguments": [ - { - "name": "value4", - "nodeType": "YulIdentifier", - "src": "14550:6:34" - }, - { - "name": "value5", - "nodeType": "YulIdentifier", - "src": "14558:6:34" - }, - { - "name": "tail_2", - "nodeType": "YulIdentifier", - "src": "14566:6:34" - } - ], - "functionName": { - "name": "abi_encode_string_calldata", - "nodeType": "YulIdentifier", - "src": "14523:26:34" - }, - "nodeType": "YulFunctionCall", - "src": "14523:50:34" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "14515:4:34" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "14593:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14604:2:34", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "14589:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "14589:18:34" - }, - { - "name": "value6", - "nodeType": "YulIdentifier", - "src": "14609:6:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "14582:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "14582:34:34" - }, - "nodeType": "YulExpressionStatement", - "src": "14582:34:34" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "14636:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14647:3:34", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "14632:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "14632:19:34" - }, - { - "name": "value7", - "nodeType": "YulIdentifier", - "src": "14653:6:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "14625:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "14625:35:34" - }, - "nodeType": "YulExpressionStatement", - "src": "14625:35:34" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "14680:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14691:3:34", - "type": "", - "value": "160" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "14676:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "14676:19:34" - }, - { - "arguments": [ - { - "name": "value8", - "nodeType": "YulIdentifier", - "src": "14701:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14709:42:34", - "type": "", - "value": "0xffffffffffffffffffffffffffffffffffffffff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "14697:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "14697:55:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "14669:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "14669:84:34" - }, - "nodeType": "YulExpressionStatement", - "src": "14669:84:34" - } - ] - }, - "name": "abi_encode_tuple_t_string_calldata_ptr_t_string_calldata_ptr_t_string_calldata_ptr_t_uint256_t_uint256_t_address__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_uint256_t_uint256_t_address__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "14102:9:34", - "type": "" - }, - { - "name": "value8", - "nodeType": "YulTypedName", - "src": "14113:6:34", - "type": "" - }, - { - "name": "value7", - "nodeType": "YulTypedName", - "src": "14121:6:34", - "type": "" - }, - { - "name": "value6", - "nodeType": "YulTypedName", - "src": "14129:6:34", - "type": "" - }, - { - "name": "value5", - "nodeType": "YulTypedName", - "src": "14137:6:34", - "type": "" - }, - { - "name": "value4", - "nodeType": "YulTypedName", - "src": "14145:6:34", - "type": "" - }, - { - "name": "value3", - "nodeType": "YulTypedName", - "src": "14153:6:34", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "14161:6:34", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "14169:6:34", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "14177:6:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "14188:4:34", - "type": "" - } - ], - "src": "13866:893:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "14893:168:34", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "14903:26:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "14915:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14926:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "14911:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "14911:18:34" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "14903:4:34" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "14945:9:34" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "14956:6:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "14938:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "14938:25:34" - }, - "nodeType": "YulExpressionStatement", - "src": "14938:25:34" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "14983:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14994:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "14979:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "14979:18:34" - }, - { - "arguments": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "15003:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15011:42:34", - "type": "", - "value": "0xffffffffffffffffffffffffffffffffffffffff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "14999:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "14999:55:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "14972:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "14972:83:34" - }, - "nodeType": "YulExpressionStatement", - "src": "14972:83:34" - } - ] - }, - "name": "abi_encode_tuple_t_uint256_t_address__to_t_uint256_t_address__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "14854:9:34", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "14865:6:34", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "14873:6:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "14884:4:34", - "type": "" - } - ], - "src": "14764:297:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "15098:152:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15115:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15118:77:34", - "type": "", - "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "15108:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "15108:88:34" - }, - "nodeType": "YulExpressionStatement", - "src": "15108:88:34" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15212:1:34", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15215:4:34", - "type": "", - "value": "0x32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "15205:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "15205:15:34" - }, - "nodeType": "YulExpressionStatement", - "src": "15205:15:34" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15236:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15239:4:34", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "15229:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "15229:15:34" - }, - "nodeType": "YulExpressionStatement", - "src": "15229:15:34" - } - ] - }, - "name": "panic_error_0x32", - "nodeType": "YulFunctionDefinition", - "src": "15066:184:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "15336:103:34", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "15382:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15391:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15394:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "15384:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "15384:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "15384:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "15357:7:34" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "15366:9:34" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "15353:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "15353:23:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15378:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "15349:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "15349:32:34" - }, - "nodeType": "YulIf", - "src": "15346:52:34" - }, - { - "nodeType": "YulAssignment", - "src": "15407:26:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "15423:9:34" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "15417:5:34" - }, - "nodeType": "YulFunctionCall", - "src": "15417:16:34" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "15407:6:34" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_uint256_fromMemory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "15302:9:34", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "15313:7:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "15325:6:34", - "type": "" - } - ], - "src": "15255:184:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "15491:242:34", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "15530:168:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15551:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15554:77:34", - "type": "", - "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "15544:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "15544:88:34" - }, - "nodeType": "YulExpressionStatement", - "src": "15544:88:34" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15652:1:34", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15655:4:34", - "type": "", - "value": "0x11" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "15645:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "15645:15:34" - }, - "nodeType": "YulExpressionStatement", - "src": "15645:15:34" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15680:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15683:4:34", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "15673:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "15673:15:34" - }, - "nodeType": "YulExpressionStatement", - "src": "15673:15:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "15507:5:34" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15518:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "15514:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "15514:6:34" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "15504:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "15504:17:34" - }, - "nodeType": "YulIf", - "src": "15501:197:34" - }, - { - "nodeType": "YulAssignment", - "src": "15707:20:34", - "value": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "15718:5:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15725:1:34", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "15714:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "15714:13:34" - }, - "variableNames": [ - { - "name": "ret", - "nodeType": "YulIdentifier", - "src": "15707:3:34" - } - ] - } - ] - }, - "name": "increment_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "15473:5:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "ret", - "nodeType": "YulTypedName", - "src": "15483:3:34", - "type": "" - } - ], - "src": "15444:289:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "16087:776:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "16104:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16115:3:34", - "type": "", - "value": "224" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "16097:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "16097:22:34" - }, - "nodeType": "YulExpressionStatement", - "src": "16097:22:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "16128:77:34", - "value": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "16169:6:34" - }, - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "16177:6:34" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "16189:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16200:3:34", - "type": "", - "value": "224" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "16185:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "16185:19:34" - } - ], - "functionName": { - "name": "abi_encode_string_calldata", - "nodeType": "YulIdentifier", - "src": "16142:26:34" - }, - "nodeType": "YulFunctionCall", - "src": "16142:63:34" - }, - "variables": [ - { - "name": "tail_1", - "nodeType": "YulTypedName", - "src": "16132:6:34", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "16225:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16236:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "16221:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "16221:18:34" - }, - { - "arguments": [ - { - "name": "tail_1", - "nodeType": "YulIdentifier", - "src": "16245:6:34" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "16253:9:34" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "16241:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "16241:22:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "16214:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "16214:50:34" - }, - "nodeType": "YulExpressionStatement", - "src": "16214:50:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "16273:64:34", - "value": { - "arguments": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "16314:6:34" - }, - { - "name": "value3", - "nodeType": "YulIdentifier", - "src": "16322:6:34" - }, - { - "name": "tail_1", - "nodeType": "YulIdentifier", - "src": "16330:6:34" - } - ], - "functionName": { - "name": "abi_encode_string_calldata", - "nodeType": "YulIdentifier", - "src": "16287:26:34" - }, - "nodeType": "YulFunctionCall", - "src": "16287:50:34" - }, - "variables": [ - { - "name": "tail_2", - "nodeType": "YulTypedName", - "src": "16277:6:34", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "16357:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16368:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "16353:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "16353:18:34" - }, - { - "arguments": [ - { - "name": "tail_2", - "nodeType": "YulIdentifier", - "src": "16377:6:34" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "16385:9:34" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "16373:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "16373:22:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "16346:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "16346:50:34" - }, - "nodeType": "YulExpressionStatement", - "src": "16346:50:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "16405:27:34", - "value": { - "arguments": [ - { - "name": "value4", - "nodeType": "YulIdentifier", - "src": "16425:6:34" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "16419:5:34" - }, - "nodeType": "YulFunctionCall", - "src": "16419:13:34" - }, - "variables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "16409:6:34", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "tail_2", - "nodeType": "YulIdentifier", - "src": "16448:6:34" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "16456:6:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "16441:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "16441:22:34" - }, - "nodeType": "YulExpressionStatement", - "src": "16441:22:34" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "value4", - "nodeType": "YulIdentifier", - "src": "16498:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16506:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "16494:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "16494:15:34" - }, - { - "arguments": [ - { - "name": "tail_2", - "nodeType": "YulIdentifier", - "src": "16515:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16523:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "16511:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "16511:15:34" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "16528:6:34" - } - ], - "functionName": { - "name": "copy_memory_to_memory", - "nodeType": "YulIdentifier", - "src": "16472:21:34" - }, - "nodeType": "YulFunctionCall", - "src": "16472:63:34" - }, - "nodeType": "YulExpressionStatement", - "src": "16472:63:34" - }, - { - "nodeType": "YulAssignment", - "src": "16544:59:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "tail_2", - "nodeType": "YulIdentifier", - "src": "16560:6:34" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "16576:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16584:2:34", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "16572:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "16572:15:34" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16593:2:34", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "16589:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "16589:7:34" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "16568:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "16568:29:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "16556:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "16556:42:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16600:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "16552:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "16552:51:34" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "16544:4:34" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "16623:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16634:2:34", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "16619:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "16619:18:34" - }, - { - "name": "value5", - "nodeType": "YulIdentifier", - "src": "16639:6:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "16612:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "16612:34:34" - }, - "nodeType": "YulExpressionStatement", - "src": "16612:34:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "16655:52:34", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16665:42:34", - "type": "", - "value": "0xffffffffffffffffffffffffffffffffffffffff" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "16659:2:34", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "16727:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16738:3:34", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "16723:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "16723:19:34" - }, - { - "arguments": [ - { - "name": "value6", - "nodeType": "YulIdentifier", - "src": "16748:6:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "16756:2:34" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "16744:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "16744:15:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "16716:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "16716:44:34" - }, - "nodeType": "YulExpressionStatement", - "src": "16716:44:34" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "16780:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16791:3:34", - "type": "", - "value": "160" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "16776:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "16776:19:34" - }, - { - "name": "value7", - "nodeType": "YulIdentifier", - "src": "16797:6:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "16769:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "16769:35:34" - }, - "nodeType": "YulExpressionStatement", - "src": "16769:35:34" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "16824:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16835:3:34", - "type": "", - "value": "192" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "16820:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "16820:19:34" - }, - { - "arguments": [ - { - "name": "value8", - "nodeType": "YulIdentifier", - "src": "16845:6:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "16853:2:34" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "16841:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "16841:15:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "16813:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "16813:44:34" - }, - "nodeType": "YulExpressionStatement", - "src": "16813:44:34" - } - ] - }, - "name": "abi_encode_tuple_t_string_calldata_ptr_t_string_calldata_ptr_t_string_memory_ptr_t_uint256_t_address_t_uint256_t_address__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_uint256_t_address_t_uint256_t_address__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "15992:9:34", - "type": "" - }, - { - "name": "value8", - "nodeType": "YulTypedName", - "src": "16003:6:34", - "type": "" - }, - { - "name": "value7", - "nodeType": "YulTypedName", - "src": "16011:6:34", - "type": "" - }, - { - "name": "value6", - "nodeType": "YulTypedName", - "src": "16019:6:34", - "type": "" - }, - { - "name": "value5", - "nodeType": "YulTypedName", - "src": "16027:6:34", - "type": "" - }, - { - "name": "value4", - "nodeType": "YulTypedName", - "src": "16035:6:34", - "type": "" - }, - { - "name": "value3", - "nodeType": "YulTypedName", - "src": "16043:6:34", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "16051:6:34", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "16059:6:34", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "16067:6:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "16078:4:34", - "type": "" - } - ], - "src": "15738:1125:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "17141:459:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "17158:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "17169:3:34", - "type": "", - "value": "160" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "17151:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "17151:22:34" - }, - "nodeType": "YulExpressionStatement", - "src": "17151:22:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "17182:77:34", - "value": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "17223:6:34" - }, - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "17231:6:34" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "17243:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "17254:3:34", - "type": "", - "value": "160" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "17239:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "17239:19:34" - } - ], - "functionName": { - "name": "abi_encode_string_calldata", - "nodeType": "YulIdentifier", - "src": "17196:26:34" - }, - "nodeType": "YulFunctionCall", - "src": "17196:63:34" - }, - "variables": [ - { - "name": "tail_1", - "nodeType": "YulTypedName", - "src": "17186:6:34", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "17279:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "17290:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "17275:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "17275:18:34" - }, - { - "arguments": [ - { - "name": "tail_1", - "nodeType": "YulIdentifier", - "src": "17299:6:34" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "17307:9:34" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "17295:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "17295:22:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "17268:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "17268:50:34" - }, - "nodeType": "YulExpressionStatement", - "src": "17268:50:34" - }, - { - "nodeType": "YulAssignment", - "src": "17327:58:34", - "value": { - "arguments": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "17362:6:34" - }, - { - "name": "value3", - "nodeType": "YulIdentifier", - "src": "17370:6:34" - }, - { - "name": "tail_1", - "nodeType": "YulIdentifier", - "src": "17378:6:34" - } - ], - "functionName": { - "name": "abi_encode_string_calldata", - "nodeType": "YulIdentifier", - "src": "17335:26:34" - }, - "nodeType": "YulFunctionCall", - "src": "17335:50:34" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "17327:4:34" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "17394:52:34", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "17404:42:34", - "type": "", - "value": "0xffffffffffffffffffffffffffffffffffffffff" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "17398:2:34", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "17466:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "17477:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "17462:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "17462:18:34" - }, - { - "arguments": [ - { - "name": "value4", - "nodeType": "YulIdentifier", - "src": "17486:6:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "17494:2:34" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "17482:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "17482:15:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "17455:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "17455:43:34" - }, - "nodeType": "YulExpressionStatement", - "src": "17455:43:34" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "17518:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "17529:2:34", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "17514:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "17514:18:34" - }, - { - "name": "value5", - "nodeType": "YulIdentifier", - "src": "17534:6:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "17507:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "17507:34:34" - }, - "nodeType": "YulExpressionStatement", - "src": "17507:34:34" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "17561:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "17572:3:34", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "17557:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "17557:19:34" - }, - { - "arguments": [ - { - "name": "value6", - "nodeType": "YulIdentifier", - "src": "17582:6:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "17590:2:34" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "17578:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "17578:15:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "17550:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "17550:44:34" - }, - "nodeType": "YulExpressionStatement", - "src": "17550:44:34" - } - ] - }, - "name": "abi_encode_tuple_t_string_calldata_ptr_t_string_calldata_ptr_t_address_t_uint256_t_address__to_t_string_memory_ptr_t_string_memory_ptr_t_address_t_uint256_t_address__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "17062:9:34", - "type": "" - }, - { - "name": "value6", - "nodeType": "YulTypedName", - "src": "17073:6:34", - "type": "" - }, - { - "name": "value5", - "nodeType": "YulTypedName", - "src": "17081:6:34", - "type": "" - }, - { - "name": "value4", - "nodeType": "YulTypedName", - "src": "17089:6:34", - "type": "" - }, - { - "name": "value3", - "nodeType": "YulTypedName", - "src": "17097:6:34", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "17105:6:34", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "17113:6:34", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "17121:6:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "17132:4:34", - "type": "" - } - ], - "src": "16868:732:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "17734:168:34", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "17744:26:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "17756:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "17767:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "17752:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "17752:18:34" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "17744:4:34" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "17786:9:34" - }, - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "17801:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "17809:42:34", - "type": "", - "value": "0xffffffffffffffffffffffffffffffffffffffff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "17797:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "17797:55:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "17779:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "17779:74:34" - }, - "nodeType": "YulExpressionStatement", - "src": "17779:74:34" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "17873:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "17884:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "17869:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "17869:18:34" - }, - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "17889:6:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "17862:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "17862:34:34" - }, - "nodeType": "YulExpressionStatement", - "src": "17862:34:34" - } - ] - }, - "name": "abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "17695:9:34", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "17706:6:34", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "17714:6:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "17725:4:34", - "type": "" - } - ], - "src": "17605:297:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "17985:199:34", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "18031:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "18040:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "18043:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "18033:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "18033:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "18033:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "18006:7:34" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "18015:9:34" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "18002:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "18002:23:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "18027:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "17998:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "17998:32:34" - }, - "nodeType": "YulIf", - "src": "17995:52:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "18056:29:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "18075:9:34" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "18069:5:34" - }, - "nodeType": "YulFunctionCall", - "src": "18069:16:34" - }, - "variables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "18060:5:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "18138:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "18147:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "18150:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "18140:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "18140:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "18140:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "18107:5:34" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "18128:5:34" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "18121:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "18121:13:34" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "18114:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "18114:21:34" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "18104:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "18104:32:34" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "18097:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "18097:40:34" - }, - "nodeType": "YulIf", - "src": "18094:60:34" - }, - { - "nodeType": "YulAssignment", - "src": "18163:15:34", - "value": { - "name": "value", - "nodeType": "YulIdentifier", - "src": "18173:5:34" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "18163:6:34" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_bool_fromMemory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "17951:9:34", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "17962:7:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "17974:6:34", - "type": "" - } - ], - "src": "17907:277:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "18346:241:34", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "18356:26:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "18368:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "18379:2:34", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "18364:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "18364:18:34" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "18356:4:34" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "18391:52:34", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "18401:42:34", - "type": "", - "value": "0xffffffffffffffffffffffffffffffffffffffff" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "18395:2:34", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "18459:9:34" - }, - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "18474:6:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "18482:2:34" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "18470:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "18470:15:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "18452:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "18452:34:34" - }, - "nodeType": "YulExpressionStatement", - "src": "18452:34:34" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "18506:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "18517:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "18502:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "18502:18:34" - }, - { - "arguments": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "18526:6:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "18534:2:34" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "18522:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "18522:15:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "18495:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "18495:43:34" - }, - "nodeType": "YulExpressionStatement", - "src": "18495:43:34" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "18558:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "18569:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "18554:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "18554:18:34" - }, - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "18574:6:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "18547:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "18547:34:34" - }, - "nodeType": "YulExpressionStatement", - "src": "18547:34:34" - } - ] - }, - "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": "18299:9:34", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "18310:6:34", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "18318:6:34", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "18326:6:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "18337:4:34", - "type": "" - } - ], - "src": "18189:398:34" - } - ] - }, - "contents": "{\n { }\n function validator_revert_address(value)\n {\n if iszero(eq(value, and(value, 0xffffffffffffffffffffffffffffffffffffffff))) { revert(0, 0) }\n }\n function abi_decode_address(offset) -> value\n {\n value := calldataload(offset)\n validator_revert_address(value)\n }\n function abi_decode_string_calldata(offset, end) -> arrayPos, length\n {\n if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n length := calldataload(offset)\n if gt(length, 0xffffffffffffffff) { revert(0, 0) }\n arrayPos := add(offset, 0x20)\n if gt(add(add(offset, length), 0x20), end) { revert(0, 0) }\n }\n function abi_decode_tuple_t_addresst_string_calldata_ptrt_string_calldata_ptrt_bytes_calldata_ptrt_address(headStart, dataEnd) -> value0, value1, value2, value3, value4, value5, value6, value7\n {\n if slt(sub(dataEnd, headStart), 160) { revert(0, 0) }\n let value := calldataload(headStart)\n validator_revert_address(value)\n value0 := value\n let offset := calldataload(add(headStart, 32))\n let _1 := 0xffffffffffffffff\n if gt(offset, _1) { revert(0, 0) }\n let value1_1, value2_1 := abi_decode_string_calldata(add(headStart, offset), dataEnd)\n value1 := value1_1\n value2 := value2_1\n let offset_1 := calldataload(add(headStart, 64))\n if gt(offset_1, _1) { revert(0, 0) }\n let value3_1, value4_1 := abi_decode_string_calldata(add(headStart, offset_1), dataEnd)\n value3 := value3_1\n value4 := value4_1\n let offset_2 := calldataload(add(headStart, 96))\n if gt(offset_2, _1) { revert(0, 0) }\n let value5_1, value6_1 := abi_decode_string_calldata(add(headStart, offset_2), dataEnd)\n value5 := value5_1\n value6 := value6_1\n let value_1 := calldataload(add(headStart, 128))\n validator_revert_address(value_1)\n value7 := value_1\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_decode_tuple_t_address_payablet_addresst_uint256(headStart, dataEnd) -> value0, value1, value2\n {\n if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n let value := calldataload(headStart)\n validator_revert_address(value)\n value0 := value\n let value_1 := calldataload(add(headStart, 32))\n validator_revert_address(value_1)\n value1 := value_1\n value2 := calldataload(add(headStart, 64))\n }\n function abi_decode_tuple_t_bytes_calldata_ptr(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let offset := calldataload(headStart)\n if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n let value0_1, value1_1 := abi_decode_string_calldata(add(headStart, offset), dataEnd)\n value0 := value0_1\n value1 := value1_1\n }\n function abi_decode_tuple_t_addresst_bytes32t_bytes_calldata_ptr(headStart, dataEnd) -> value0, value1, value2, value3\n {\n if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n let value := calldataload(headStart)\n validator_revert_address(value)\n value0 := value\n value1 := calldataload(add(headStart, 32))\n let offset := calldataload(add(headStart, 64))\n if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n let value2_1, value3_1 := abi_decode_string_calldata(add(headStart, offset), dataEnd)\n value2 := value2_1\n value3 := value3_1\n }\n function abi_decode_tuple_t_bytes32t_uint256t_addresst_uint256t_address(headStart, dataEnd) -> value0, value1, value2, value3, value4\n {\n if slt(sub(dataEnd, headStart), 160) { revert(0, 0) }\n value0 := calldataload(headStart)\n value1 := calldataload(add(headStart, 32))\n let value := calldataload(add(headStart, 64))\n validator_revert_address(value)\n value2 := value\n value3 := calldataload(add(headStart, 96))\n let value_1 := calldataload(add(headStart, 128))\n validator_revert_address(value_1)\n value4 := value_1\n }\n function abi_decode_tuple_t_addresst_string_calldata_ptrt_string_calldata_ptrt_bytes_calldata_ptrt_string_calldata_ptrt_uint256t_address(headStart, dataEnd) -> value0, value1, value2, value3, value4, value5, value6, value7, value8, value9, value10\n {\n if slt(sub(dataEnd, headStart), 224) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n let _1 := 0xffffffffffffffff\n if gt(calldataload(add(headStart, 32)), _1) { revert(0, 0) }\n let value1_1, value2_1 := abi_decode_string_calldata(add(headStart, calldataload(add(headStart, 32))), dataEnd)\n value1 := value1_1\n value2 := value2_1\n if gt(calldataload(add(headStart, 64)), _1) { revert(0, 0) }\n let value3_1, value4_1 := abi_decode_string_calldata(add(headStart, calldataload(add(headStart, 64))), dataEnd)\n value3 := value3_1\n value4 := value4_1\n if gt(calldataload(add(headStart, 96)), _1) { revert(0, 0) }\n let value5_1, value6_1 := abi_decode_string_calldata(add(headStart, calldataload(add(headStart, 96))), dataEnd)\n value5 := value5_1\n value6 := value6_1\n if gt(calldataload(add(headStart, 128)), _1) { revert(0, 0) }\n let value7_1, value8_1 := abi_decode_string_calldata(add(headStart, calldataload(add(headStart, 128))), dataEnd)\n value7 := value7_1\n value8 := value8_1\n value9 := calldataload(add(headStart, 160))\n value10 := abi_decode_address(add(headStart, 192))\n }\n function abi_decode_tuple_t_bytes32t_uint256t_address(headStart, dataEnd) -> value0, value1, value2\n {\n if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n value0 := calldataload(headStart)\n value1 := calldataload(add(headStart, 32))\n let value := calldataload(add(headStart, 64))\n validator_revert_address(value)\n value2 := value\n }\n function abi_decode_tuple_t_address_payablet_array$_t_address_$dyn_calldata_ptr(headStart, dataEnd) -> value0, value1, value2\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n let value := calldataload(headStart)\n validator_revert_address(value)\n value0 := value\n let offset := calldataload(add(headStart, 32))\n let _1 := 0xffffffffffffffff\n if gt(offset, _1) { revert(0, 0) }\n let _2 := add(headStart, offset)\n if iszero(slt(add(_2, 0x1f), dataEnd)) { revert(0, 0) }\n let length := calldataload(_2)\n if gt(length, _1) { revert(0, 0) }\n if gt(add(add(_2, shl(5, length)), 32), dataEnd) { revert(0, 0) }\n value1 := add(_2, 32)\n value2 := length\n }\n function panic_error_0x41()\n {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n function abi_decode_string(offset, end) -> array\n {\n if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n let _1 := calldataload(offset)\n let _2 := 0xffffffffffffffff\n if gt(_1, _2) { panic_error_0x41() }\n let _3 := not(31)\n let memPtr := mload(64)\n let newFreePtr := add(memPtr, and(add(and(add(_1, 0x1f), _3), 63), _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), 0x20), end) { revert(0, 0) }\n calldatacopy(add(memPtr, 0x20), add(offset, 0x20), _1)\n mstore(add(add(memPtr, _1), 0x20), 0)\n array := memPtr\n }\n function abi_decode_tuple_t_addresst_string_calldata_ptrt_string_calldata_ptrt_bytes_calldata_ptrt_string_memory_ptrt_uint256t_addresst_uint256t_address(headStart, dataEnd) -> value0, value1, value2, value3, value4, value5, value6, value7, value8, value9, value10, value11\n {\n if slt(sub(dataEnd, headStart), 288) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n if gt(calldataload(add(headStart, 32)), 0xffffffffffffffff) { revert(0, 0) }\n let value1_1, value2_1 := abi_decode_string_calldata(add(headStart, calldataload(add(headStart, 32))), dataEnd)\n value1 := value1_1\n value2 := value2_1\n if gt(calldataload(add(headStart, 64)), 0xffffffffffffffff) { revert(0, 0) }\n let value3_1, value4_1 := abi_decode_string_calldata(add(headStart, calldataload(add(headStart, 64))), dataEnd)\n value3 := value3_1\n value4 := value4_1\n if gt(calldataload(add(headStart, 96)), 0xffffffffffffffff) { revert(0, 0) }\n let value5_1, value6_1 := abi_decode_string_calldata(add(headStart, calldataload(add(headStart, 96))), dataEnd)\n value5 := value5_1\n value6 := value6_1\n if gt(calldataload(add(headStart, 128)), 0xffffffffffffffff) { revert(0, 0) }\n value7 := abi_decode_string(add(headStart, calldataload(add(headStart, 128))), dataEnd)\n value8 := calldataload(add(headStart, 160))\n value9 := abi_decode_address(add(headStart, 192))\n value10 := calldataload(add(headStart, 224))\n value11 := abi_decode_address(add(headStart, 256))\n }\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let value := calldataload(headStart)\n validator_revert_address(value)\n value0 := value\n }\n function abi_decode_tuple_t_addresst_string_calldata_ptrt_string_calldata_ptrt_bytes_calldata_ptrt_addresst_uint256t_address(headStart, dataEnd) -> value0, value1, value2, value3, value4, value5, value6, value7, value8, value9\n {\n if slt(sub(dataEnd, headStart), 224) { revert(0, 0) }\n let value := calldataload(headStart)\n validator_revert_address(value)\n value0 := value\n let offset := calldataload(add(headStart, 32))\n let _1 := 0xffffffffffffffff\n if gt(offset, _1) { revert(0, 0) }\n let value1_1, value2_1 := abi_decode_string_calldata(add(headStart, offset), dataEnd)\n value1 := value1_1\n value2 := value2_1\n let offset_1 := calldataload(add(headStart, 64))\n if gt(offset_1, _1) { revert(0, 0) }\n let value3_1, value4_1 := abi_decode_string_calldata(add(headStart, offset_1), dataEnd)\n value3 := value3_1\n value4 := value4_1\n let offset_2 := calldataload(add(headStart, 96))\n if gt(offset_2, _1) { revert(0, 0) }\n let value5_1, value6_1 := abi_decode_string_calldata(add(headStart, offset_2), dataEnd)\n value5 := value5_1\n value6 := value6_1\n let value_1 := calldataload(add(headStart, 128))\n validator_revert_address(value_1)\n value7 := value_1\n value8 := calldataload(add(headStart, 160))\n value9 := abi_decode_address(add(headStart, 192))\n }\n function abi_encode_tuple_packed_t_bytes_calldata_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value1, value0) -> end\n {\n calldatacopy(pos, value0, value1)\n let _1 := add(pos, value1)\n mstore(_1, 0)\n end := _1\n }\n function abi_encode_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), 0)\n end := add(add(pos, and(add(length, 31), not(31))), 0x20)\n }\n function abi_encode_tuple_t_string_calldata_ptr_t_string_calldata_ptr_t_uint256_t_address__to_t_string_memory_ptr_t_string_memory_ptr_t_uint256_t_address__fromStack_reversed(headStart, value5, value4, value3, value2, value1, value0) -> tail\n {\n mstore(headStart, 128)\n let tail_1 := abi_encode_string_calldata(value0, value1, add(headStart, 128))\n mstore(add(headStart, 32), sub(tail_1, headStart))\n tail := abi_encode_string_calldata(value2, value3, tail_1)\n mstore(add(headStart, 64), value4)\n mstore(add(headStart, 96), and(value5, 0xffffffffffffffffffffffffffffffffffffffff))\n }\n function abi_decode_tuple_t_bytes32_fromMemory(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n value0 := mload(headStart)\n }\n function abi_encode_tuple_t_bytes_calldata_ptr__to_t_bytes_memory_ptr__fromStack_reversed(headStart, value1, value0) -> tail\n {\n mstore(headStart, 32)\n tail := abi_encode_string_calldata(value0, value1, add(headStart, 32))\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 abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value0) -> end\n {\n let length := mload(value0)\n copy_memory_to_memory(add(value0, 0x20), pos, length)\n end := add(pos, length)\n }\n function abi_encode_tuple_t_address_t_uint256_t_address__to_t_address_t_uint256_t_address__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), value1)\n mstore(add(headStart, 64), and(value2, _1))\n }\n function abi_encode_tuple_t_string_calldata_ptr_t_string_calldata_ptr_t_string_calldata_ptr_t_uint256_t_uint256_t_address__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_uint256_t_uint256_t_address__fromStack_reversed(headStart, value8, value7, value6, value5, value4, value3, value2, value1, value0) -> tail\n {\n mstore(headStart, 192)\n let tail_1 := abi_encode_string_calldata(value0, value1, add(headStart, 192))\n mstore(add(headStart, 32), sub(tail_1, headStart))\n let tail_2 := abi_encode_string_calldata(value2, value3, tail_1)\n mstore(add(headStart, 64), sub(tail_2, headStart))\n tail := abi_encode_string_calldata(value4, value5, tail_2)\n mstore(add(headStart, 96), value6)\n mstore(add(headStart, 128), value7)\n mstore(add(headStart, 160), and(value8, 0xffffffffffffffffffffffffffffffffffffffff))\n }\n function abi_encode_tuple_t_uint256_t_address__to_t_uint256_t_address__fromStack_reversed(headStart, value1, value0) -> tail\n {\n tail := add(headStart, 64)\n mstore(headStart, value0)\n mstore(add(headStart, 32), and(value1, 0xffffffffffffffffffffffffffffffffffffffff))\n }\n function panic_error_0x32()\n {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x32)\n revert(0, 0x24)\n }\n function abi_decode_tuple_t_uint256_fromMemory(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n value0 := mload(headStart)\n }\n function increment_t_uint256(value) -> ret\n {\n if eq(value, not(0))\n {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n ret := add(value, 1)\n }\n function abi_encode_tuple_t_string_calldata_ptr_t_string_calldata_ptr_t_string_memory_ptr_t_uint256_t_address_t_uint256_t_address__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_uint256_t_address_t_uint256_t_address__fromStack_reversed(headStart, value8, value7, value6, value5, value4, value3, value2, value1, value0) -> tail\n {\n mstore(headStart, 224)\n let tail_1 := abi_encode_string_calldata(value0, value1, add(headStart, 224))\n mstore(add(headStart, 32), sub(tail_1, headStart))\n let tail_2 := abi_encode_string_calldata(value2, value3, tail_1)\n mstore(add(headStart, 64), sub(tail_2, headStart))\n let length := mload(value4)\n mstore(tail_2, length)\n copy_memory_to_memory(add(value4, 32), add(tail_2, 32), length)\n tail := add(add(tail_2, and(add(length, 31), not(31))), 32)\n mstore(add(headStart, 96), value5)\n let _1 := 0xffffffffffffffffffffffffffffffffffffffff\n mstore(add(headStart, 128), and(value6, _1))\n mstore(add(headStart, 160), value7)\n mstore(add(headStart, 192), and(value8, _1))\n }\n function abi_encode_tuple_t_string_calldata_ptr_t_string_calldata_ptr_t_address_t_uint256_t_address__to_t_string_memory_ptr_t_string_memory_ptr_t_address_t_uint256_t_address__fromStack_reversed(headStart, value6, value5, value4, value3, value2, value1, value0) -> tail\n {\n mstore(headStart, 160)\n let tail_1 := abi_encode_string_calldata(value0, value1, add(headStart, 160))\n mstore(add(headStart, 32), sub(tail_1, headStart))\n tail := abi_encode_string_calldata(value2, value3, tail_1)\n let _1 := 0xffffffffffffffffffffffffffffffffffffffff\n mstore(add(headStart, 64), and(value4, _1))\n mstore(add(headStart, 96), value5)\n mstore(add(headStart, 128), and(value6, _1))\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_decode_tuple_t_bool_fromMemory(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let value := mload(headStart)\n if iszero(eq(value, iszero(iszero(value)))) { revert(0, 0) }\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}", - "id": 34, - "language": "Yul", - "name": "#utility.yul" - } - ], - "immutableReferences": {}, - "linkReferences": {}, - "object": "6080604052600436106100dd5760003560e01c8063ab1999ba1161007f578063da854d7511610059578063da854d7514610259578063edb6b3a514610279578063f2fde38b14610299578063fd09e3bd146102b957600080fd5b8063ab1999ba14610213578063c62c200214610233578063cd433ada1461024657600080fd5b806382ad6f35116100bb57806382ad6f351461017f5780638da5cb5b1461019f5780639ded06df146101d3578063a3499c73146101f357600080fd5b80630c93e3bb146100e25780635c60da1b146100f75780638291286c14610144575b600080fd5b6100f56100f0366004610e94565b6102d9565b005b34801561010357600080fd5b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc545b6040516001600160a01b0390911681526020015b60405180910390f35b34801561015057600080fd5b506040517ffaa2f015f2ce5aee225904728de2def86eb8837491efd21f1a04fc20d8e923f6815260200161013b565b34801561018b57600080fd5b506100f561019a366004610f54565b610364565b3480156101ab57600080fd5b507f02016836a56b71f0d02689e69e326f4f4c1b9057164ef592671cf0d37c8040c054610127565b3480156101df57600080fd5b506100f56101ee366004610f95565b61040e565b3480156101ff57600080fd5b506100f561020e366004610fd7565b61047d565b34801561021f57600080fd5b506100f561022e366004611033565b610794565b6100f5610241366004611089565b6107f4565b6100f561025436600461117c565b610888565b34801561026557600080fd5b506100f56102743660046111b5565b6108f0565b34801561028557600080fd5b506100f56102943660046112e0565b610a74565b3480156102a557600080fd5b506100f56102b43660046113fe565b610af6565b3480156102c557600080fd5b506100f56102d4366004611422565b610bde565b346102f75760405163b5c74a2760e01b815260040160405180910390fd5b82826040516103079291906114fa565b6040518091039020886001600160a01b03167f617332c1832058df6ee45fcbdf471251474c9945a8e5d229287a21a5f67ccf0a89898989348860405161035296959493929190611533565b60405180910390a35050505050505050565b3361038d7f02016836a56b71f0d02689e69e326f4f4c1b9057164ef592671cf0d37c8040c05490565b6001600160a01b0316146103b4576040516330cd747160e01b815260040160405180910390fd5b6001600160a01b0382166103fe576040516001600160a01b0384169082156108fc029083906000818181858888f193505050501580156103f8573d6000803e3d6000fd5b50505050565b610409828483610c5a565b505050565b60006104387f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b03161415610479576040517fbf10dd3a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b336104a67f02016836a56b71f0d02689e69e326f4f4c1b9057164ef592671cf0d37c8040c05490565b6001600160a01b0316146104cd576040516330cd747160e01b815260040160405180910390fd5b306001600160a01b0316638291286c6040518163ffffffff1660e01b815260040160206040518083038186803b15801561050657600080fd5b505afa15801561051a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061053e919061157d565b846001600160a01b0316638291286c6040518163ffffffff1660e01b815260040160206040518083038186803b15801561057757600080fd5b505afa15801561058b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105af919061157d565b146105e6576040517f68155f9a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b836001600160a01b03163f8314610629576040517f8f84fb2400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000846001600160a01b0316639ded06df60e01b8484604051602401610650929190611596565b60408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009094169390931790925290516106bb91906115de565b600060405180830381855af49150503d80600081146106f6576040519150601f19603f3d011682016040523d82523d6000602084013e6106fb565b606091505b5050905080610736576040517f97905dfb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040516001600160a01b038616907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a2847f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc555050505050565b61079f833384610dd1565b604080516001600160a01b038581168252602082018590528316818301529051859187917f2275e75614080f9782f72563c2c1688c901c5339c7f9f436d323f9386fed700a9181900360600190a35050505050565b346108125760405163b5c74a2760e01b815260040160405180910390fd5b85856040516108229291906114fa565b60405180910390208b6001600160a01b03167f999d431b58761213cf53af96262b67a069cbd963499fd8effd1e21556217b8418c8c8c8c8a8a8a348b604051610873999897969594939291906115fa565b60405180910390a35050505050505050505050565b346108a65760405163b5c74a2760e01b815260040160405180910390fd5b604080513481526001600160a01b0383166020820152839185917ffeb6b00343feee0f29a1a4345f8bf93ca1c73ee922248a4237a4e50d6447604e910160405180910390a3505050565b336109197f02016836a56b71f0d02689e69e326f4f4c1b9057164ef592671cf0d37c8040c05490565b6001600160a01b031614610940576040516330cd747160e01b815260040160405180910390fd5b60005b818110156103f857600083838381811061095f5761095f611661565b905060200201602081019061097491906113fe565b90506001600160a01b0381166109bf576040516001600160a01b038616904780156108fc02916000818181858888f193505050501580156109b9573d6000803e3d6000fd5b50610a61565b6040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526000906001600160a01b038316906370a082319060240160206040518083038186803b158015610a1a57600080fd5b505afa158015610a2e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a52919061157d565b9050610a5f828783610c5a565b505b5080610a6c81611677565b915050610943565b610a7f833384610dd1565b8686604051610a8f9291906114fa565b60405180910390208c6001600160a01b03167f8875f9764f28fa82d3e7ff1b80bd5c8f665e1f42fcd8c2faebc7c400a4ba1bbd8d8d8d8d8b8b8b8b8b604051610ae0999897969594939291906116a0565b60405180910390a3505050505050505050505050565b33610b1f7f02016836a56b71f0d02689e69e326f4f4c1b9057164ef592671cf0d37c8040c05490565b6001600160a01b031614610b46576040516330cd747160e01b815260040160405180910390fd5b6001600160a01b038116610b86576040517f49e27cff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040516001600160a01b038216907f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc68616390600090a27f02016836a56b71f0d02689e69e326f4f4c1b9057164ef592671cf0d37c8040c055565b610be9833384610dd1565b8484604051610bf99291906114fa565b60405180910390208a6001600160a01b03167f99206760f0be19dd093729bd35e5924daff5e217bcedc5223ed067b60008cf8a8b8b8b8b898989604051610c469796959493929190611729565b60405180910390a350505050505050505050565b6040516001600160a01b0383811660248301526044820183905260009182918616907fa9059cbb00000000000000000000000000000000000000000000000000000000906064015b60408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909416939093179092529051610d0d91906115de565b6000604051808303816000865af19150503d8060008114610d4a576040519150601f19603f3d011682016040523d82523d6000602084013e610d4f565b606091505b50915091506000828015610d7b575081511580610d7b575081806020019051810190610d7b919061177d565b9050801580610d9257506001600160a01b0386163b155b15610dc9576040517f90b8ec1800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050505050565b6040516001600160a01b0383811660248301523060448301526064820183905260009182918616907f23b872dd0000000000000000000000000000000000000000000000000000000090608401610ca2565b6001600160a01b0381168114610e3857600080fd5b50565b8035610e4681610e23565b919050565b60008083601f840112610e5d57600080fd5b50813567ffffffffffffffff811115610e7557600080fd5b602083019150836020828501011115610e8d57600080fd5b9250929050565b60008060008060008060008060a0898b031215610eb057600080fd5b8835610ebb81610e23565b9750602089013567ffffffffffffffff80821115610ed857600080fd5b610ee48c838d01610e4b565b909950975060408b0135915080821115610efd57600080fd5b610f098c838d01610e4b565b909750955060608b0135915080821115610f2257600080fd5b50610f2f8b828c01610e4b565b9094509250506080890135610f4381610e23565b809150509295985092959890939650565b600080600060608486031215610f6957600080fd5b8335610f7481610e23565b92506020840135610f8481610e23565b929592945050506040919091013590565b60008060208385031215610fa857600080fd5b823567ffffffffffffffff811115610fbf57600080fd5b610fcb85828601610e4b565b90969095509350505050565b60008060008060608587031215610fed57600080fd5b8435610ff881610e23565b935060208501359250604085013567ffffffffffffffff81111561101b57600080fd5b61102787828801610e4b565b95989497509550505050565b600080600080600060a0868803121561104b57600080fd5b8535945060208601359350604086013561106481610e23565b925060608601359150608086013561107b81610e23565b809150509295509295909350565b600080600080600080600080600080600060e08c8e0312156110aa57600080fd5b6110b38c610e3b565b9a5067ffffffffffffffff8060208e013511156110cf57600080fd5b6110df8e60208f01358f01610e4b565b909b50995060408d01358110156110f557600080fd5b6111058e60408f01358f01610e4b565b909950975060608d013581101561111b57600080fd5b61112b8e60608f01358f01610e4b565b909750955060808d013581101561114157600080fd5b506111528d60808e01358e01610e4b565b909450925060a08c0135915061116a60c08d01610e3b565b90509295989b509295989b9093969950565b60008060006060848603121561119157600080fd5b833592506020840135915060408401356111aa81610e23565b809150509250925092565b6000806000604084860312156111ca57600080fd5b83356111d581610e23565b9250602084013567ffffffffffffffff808211156111f257600080fd5b818601915086601f83011261120657600080fd5b81358181111561121557600080fd5b8760208260051b850101111561122a57600080fd5b6020830194508093505050509250925092565b634e487b7160e01b600052604160045260246000fd5b600082601f83011261126457600080fd5b813567ffffffffffffffff8082111561127f5761127f61123d565b604051601f8301601f19908116603f011681019082821181831017156112a7576112a761123d565b816040528381528660208588010111156112c057600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000806000806000806000806000806000806101208d8f03121561130357600080fd5b61130c8d610e3b565b9b5067ffffffffffffffff60208e0135111561132757600080fd5b6113378e60208f01358f01610e4b565b909b50995067ffffffffffffffff60408e0135111561135557600080fd5b6113658e60408f01358f01610e4b565b909950975067ffffffffffffffff60608e0135111561138357600080fd5b6113938e60608f01358f01610e4b565b909750955067ffffffffffffffff60808e013511156113b157600080fd5b6113c18e60808f01358f01611253565b945060a08d013593506113d660c08e01610e3b565b925060e08d013591506113ec6101008e01610e3b565b90509295989b509295989b509295989b565b60006020828403121561141057600080fd5b813561141b81610e23565b9392505050565b60008060008060008060008060008060e08b8d03121561144157600080fd5b8a3561144c81610e23565b995060208b013567ffffffffffffffff8082111561146957600080fd5b6114758e838f01610e4b565b909b50995060408d013591508082111561148e57600080fd5b61149a8e838f01610e4b565b909950975060608d01359150808211156114b357600080fd5b506114c08d828e01610e4b565b90965094505060808b01356114d481610e23565b925060a08b013591506114e960c08c01610e3b565b90509295989b9194979a5092959850565b8183823760009101908152919050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b60808152600061154760808301888a61150a565b828103602084015261155a81878961150a565b9150508360408301526001600160a01b0383166060830152979650505050505050565b60006020828403121561158f57600080fd5b5051919050565b6020815260006115aa60208301848661150a565b949350505050565b60005b838110156115cd5781810151838201526020016115b5565b838111156103f85750506000910152565b600082516115f08184602087016115b2565b9190910192915050565b60c08152600061160e60c083018b8d61150a565b8281036020840152611621818a8c61150a565b9050828103604084015261163681888a61150a565b6060840196909652505060808101929092526001600160a01b031660a0909101529695505050505050565b634e487b7160e01b600052603260045260246000fd5b600060001982141561169957634e487b7160e01b600052601160045260246000fd5b5060010190565b60e0815260006116b460e083018b8d61150a565b82810360208401526116c7818a8c61150a565b9050828103604084015287518082526116e7816020840160208c016115b2565b60608401979097526001600160a01b03958616608084015260a083019490945250921660c0909201919091526020601f909201601f1916010195945050505050565b60a08152600061173d60a08301898b61150a565b828103602084015261175081888a61150a565b6001600160a01b039687166040850152606084019590955250509216608090920191909152949350505050565b60006020828403121561178f57600080fd5b8151801515811461141b57600080fdfea264697066735822122027baf5e769b3c7053eec4b907b998aaefddb11d5478b92501b995ce70c9c27f264736f6c63430008090033", - "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0xDD JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0xAB1999BA GT PUSH2 0x7F JUMPI DUP1 PUSH4 0xDA854D75 GT PUSH2 0x59 JUMPI DUP1 PUSH4 0xDA854D75 EQ PUSH2 0x259 JUMPI DUP1 PUSH4 0xEDB6B3A5 EQ PUSH2 0x279 JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0x299 JUMPI DUP1 PUSH4 0xFD09E3BD EQ PUSH2 0x2B9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0xAB1999BA EQ PUSH2 0x213 JUMPI DUP1 PUSH4 0xC62C2002 EQ PUSH2 0x233 JUMPI DUP1 PUSH4 0xCD433ADA EQ PUSH2 0x246 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x82AD6F35 GT PUSH2 0xBB JUMPI DUP1 PUSH4 0x82AD6F35 EQ PUSH2 0x17F JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x19F JUMPI DUP1 PUSH4 0x9DED06DF EQ PUSH2 0x1D3 JUMPI DUP1 PUSH4 0xA3499C73 EQ PUSH2 0x1F3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0xC93E3BB EQ PUSH2 0xE2 JUMPI DUP1 PUSH4 0x5C60DA1B EQ PUSH2 0xF7 JUMPI DUP1 PUSH4 0x8291286C EQ PUSH2 0x144 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xF5 PUSH2 0xF0 CALLDATASIZE PUSH1 0x4 PUSH2 0xE94 JUMP JUMPDEST PUSH2 0x2D9 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x103 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH32 0x360894A13BA1A3210667C828492DB98DCA3E2076CC3735A920A3CA505D382BBC SLOAD JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x150 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH32 0xFAA2F015F2CE5AEE225904728DE2DEF86EB8837491EFD21F1A04FC20D8E923F6 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x13B JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x18B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xF5 PUSH2 0x19A CALLDATASIZE PUSH1 0x4 PUSH2 0xF54 JUMP JUMPDEST PUSH2 0x364 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1AB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH32 0x2016836A56B71F0D02689E69E326F4F4C1B9057164EF592671CF0D37C8040C0 SLOAD PUSH2 0x127 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1DF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xF5 PUSH2 0x1EE CALLDATASIZE PUSH1 0x4 PUSH2 0xF95 JUMP JUMPDEST PUSH2 0x40E JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1FF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xF5 PUSH2 0x20E CALLDATASIZE PUSH1 0x4 PUSH2 0xFD7 JUMP JUMPDEST PUSH2 0x47D JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x21F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xF5 PUSH2 0x22E CALLDATASIZE PUSH1 0x4 PUSH2 0x1033 JUMP JUMPDEST PUSH2 0x794 JUMP JUMPDEST PUSH2 0xF5 PUSH2 0x241 CALLDATASIZE PUSH1 0x4 PUSH2 0x1089 JUMP JUMPDEST PUSH2 0x7F4 JUMP JUMPDEST PUSH2 0xF5 PUSH2 0x254 CALLDATASIZE PUSH1 0x4 PUSH2 0x117C JUMP JUMPDEST PUSH2 0x888 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x265 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xF5 PUSH2 0x274 CALLDATASIZE PUSH1 0x4 PUSH2 0x11B5 JUMP JUMPDEST PUSH2 0x8F0 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x285 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xF5 PUSH2 0x294 CALLDATASIZE PUSH1 0x4 PUSH2 0x12E0 JUMP JUMPDEST PUSH2 0xA74 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2A5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xF5 PUSH2 0x2B4 CALLDATASIZE PUSH1 0x4 PUSH2 0x13FE JUMP JUMPDEST PUSH2 0xAF6 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2C5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xF5 PUSH2 0x2D4 CALLDATASIZE PUSH1 0x4 PUSH2 0x1422 JUMP JUMPDEST PUSH2 0xBDE JUMP JUMPDEST CALLVALUE PUSH2 0x2F7 JUMPI PUSH1 0x40 MLOAD PUSH4 0xB5C74A27 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP3 DUP3 PUSH1 0x40 MLOAD PUSH2 0x307 SWAP3 SWAP2 SWAP1 PUSH2 0x14FA JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 DUP9 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0x617332C1832058DF6EE45FCBDF471251474C9945A8E5D229287A21A5F67CCF0A DUP10 DUP10 DUP10 DUP10 CALLVALUE DUP9 PUSH1 0x40 MLOAD PUSH2 0x352 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x1533 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP POP POP POP POP POP JUMP JUMPDEST CALLER PUSH2 0x38D PUSH32 0x2016836A56B71F0D02689E69E326F4F4C1B9057164EF592671CF0D37C8040C0 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x3B4 JUMPI PUSH1 0x40 MLOAD PUSH4 0x30CD7471 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x3FE JUMPI PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND SWAP1 DUP3 ISZERO PUSH2 0x8FC MUL SWAP1 DUP4 SWAP1 PUSH1 0x0 DUP2 DUP2 DUP2 DUP6 DUP9 DUP9 CALL SWAP4 POP POP POP POP ISZERO DUP1 ISZERO PUSH2 0x3F8 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH2 0x409 DUP3 DUP5 DUP4 PUSH2 0xC5A JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x438 PUSH32 0x360894A13BA1A3210667C828492DB98DCA3E2076CC3735A920A3CA505D382BBC SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ ISZERO PUSH2 0x479 JUMPI PUSH1 0x40 MLOAD PUSH32 0xBF10DD3A00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP POP JUMP JUMPDEST CALLER PUSH2 0x4A6 PUSH32 0x2016836A56B71F0D02689E69E326F4F4C1B9057164EF592671CF0D37C8040C0 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x4CD JUMPI PUSH1 0x40 MLOAD PUSH4 0x30CD7471 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST ADDRESS PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x8291286C 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 0x506 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x51A JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x53E SWAP2 SWAP1 PUSH2 0x157D JUMP JUMPDEST DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x8291286C 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 0x577 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x58B JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x5AF SWAP2 SWAP1 PUSH2 0x157D JUMP JUMPDEST EQ PUSH2 0x5E6 JUMPI PUSH1 0x40 MLOAD PUSH32 0x68155F9A00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EXTCODEHASH DUP4 EQ PUSH2 0x629 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8F84FB2400000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x9DED06DF PUSH1 0xE0 SHL DUP5 DUP5 PUSH1 0x40 MLOAD PUSH1 0x24 ADD PUSH2 0x650 SWAP3 SWAP2 SWAP1 PUSH2 0x1596 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F NOT DUP2 DUP5 SUB ADD DUP2 MSTORE SWAP2 DUP2 MSTORE PUSH1 0x20 DUP3 ADD DUP1 MLOAD PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 SWAP1 SWAP5 AND SWAP4 SWAP1 SWAP4 OR SWAP1 SWAP3 MSTORE SWAP1 MLOAD PUSH2 0x6BB SWAP2 SWAP1 PUSH2 0x15DE JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 GAS DELEGATECALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x6F6 JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x6FB JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP POP SWAP1 POP DUP1 PUSH2 0x736 JUMPI PUSH1 0x40 MLOAD PUSH32 0x97905DFB00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND SWAP1 PUSH32 0xBC7CD75A20EE27FD9ADEBAB32041F755214DBC6BFFA90CC0225B39DA2E5C2D3B SWAP1 PUSH1 0x0 SWAP1 LOG2 DUP5 PUSH32 0x360894A13BA1A3210667C828492DB98DCA3E2076CC3735A920A3CA505D382BBC SSTORE POP POP POP POP POP JUMP JUMPDEST PUSH2 0x79F DUP4 CALLER DUP5 PUSH2 0xDD1 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 DUP2 AND DUP3 MSTORE PUSH1 0x20 DUP3 ADD DUP6 SWAP1 MSTORE DUP4 AND DUP2 DUP4 ADD MSTORE SWAP1 MLOAD DUP6 SWAP2 DUP8 SWAP2 PUSH32 0x2275E75614080F9782F72563C2C1688C901C5339C7F9F436D323F9386FED700A SWAP2 DUP2 SWAP1 SUB PUSH1 0x60 ADD SWAP1 LOG3 POP POP POP POP POP JUMP JUMPDEST CALLVALUE PUSH2 0x812 JUMPI PUSH1 0x40 MLOAD PUSH4 0xB5C74A27 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP6 DUP6 PUSH1 0x40 MLOAD PUSH2 0x822 SWAP3 SWAP2 SWAP1 PUSH2 0x14FA JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 DUP12 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0x999D431B58761213CF53AF96262B67A069CBD963499FD8EFFD1E21556217B841 DUP13 DUP13 DUP13 DUP13 DUP11 DUP11 DUP11 CALLVALUE DUP12 PUSH1 0x40 MLOAD PUSH2 0x873 SWAP10 SWAP9 SWAP8 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x15FA JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP POP POP POP POP POP POP POP POP JUMP JUMPDEST CALLVALUE PUSH2 0x8A6 JUMPI PUSH1 0x40 MLOAD PUSH4 0xB5C74A27 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x40 DUP1 MLOAD CALLVALUE DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x20 DUP3 ADD MSTORE DUP4 SWAP2 DUP6 SWAP2 PUSH32 0xFEB6B00343FEEE0F29A1A4345F8BF93CA1C73EE922248A4237A4E50D6447604E SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP JUMP JUMPDEST CALLER PUSH2 0x919 PUSH32 0x2016836A56B71F0D02689E69E326F4F4C1B9057164EF592671CF0D37C8040C0 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x940 JUMPI PUSH1 0x40 MLOAD PUSH4 0x30CD7471 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x3F8 JUMPI PUSH1 0x0 DUP4 DUP4 DUP4 DUP2 DUP2 LT PUSH2 0x95F JUMPI PUSH2 0x95F PUSH2 0x1661 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 MUL ADD PUSH1 0x20 DUP2 ADD SWAP1 PUSH2 0x974 SWAP2 SWAP1 PUSH2 0x13FE JUMP JUMPDEST SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x9BF JUMPI PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND SWAP1 SELFBALANCE DUP1 ISZERO PUSH2 0x8FC MUL SWAP2 PUSH1 0x0 DUP2 DUP2 DUP2 DUP6 DUP9 DUP9 CALL SWAP4 POP POP POP POP ISZERO DUP1 ISZERO PUSH2 0x9B9 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP PUSH2 0xA61 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH32 0x70A0823100000000000000000000000000000000000000000000000000000000 DUP2 MSTORE ADDRESS PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x0 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 PUSH4 0x70A08231 SWAP1 PUSH1 0x24 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xA1A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xA2E JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xA52 SWAP2 SWAP1 PUSH2 0x157D JUMP JUMPDEST SWAP1 POP PUSH2 0xA5F DUP3 DUP8 DUP4 PUSH2 0xC5A JUMP JUMPDEST POP JUMPDEST POP DUP1 PUSH2 0xA6C DUP2 PUSH2 0x1677 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x943 JUMP JUMPDEST PUSH2 0xA7F DUP4 CALLER DUP5 PUSH2 0xDD1 JUMP JUMPDEST DUP7 DUP7 PUSH1 0x40 MLOAD PUSH2 0xA8F SWAP3 SWAP2 SWAP1 PUSH2 0x14FA JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 DUP13 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0x8875F9764F28FA82D3E7FF1B80BD5C8F665E1F42FCD8C2FAEBC7C400A4BA1BBD DUP14 DUP14 DUP14 DUP14 DUP12 DUP12 DUP12 DUP12 DUP12 PUSH1 0x40 MLOAD PUSH2 0xAE0 SWAP10 SWAP9 SWAP8 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x16A0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP POP POP POP POP POP POP POP POP POP JUMP JUMPDEST CALLER PUSH2 0xB1F PUSH32 0x2016836A56B71F0D02689E69E326F4F4C1B9057164EF592671CF0D37C8040C0 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0xB46 JUMPI PUSH1 0x40 MLOAD PUSH4 0x30CD7471 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0xB86 JUMPI PUSH1 0x40 MLOAD PUSH32 0x49E27CFF00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND SWAP1 PUSH32 0x4DBA622D284ED0014EE4B9A6A68386BE1A4C08A4913AE272DE89199CC686163 SWAP1 PUSH1 0x0 SWAP1 LOG2 PUSH32 0x2016836A56B71F0D02689E69E326F4F4C1B9057164EF592671CF0D37C8040C0 SSTORE JUMP JUMPDEST PUSH2 0xBE9 DUP4 CALLER DUP5 PUSH2 0xDD1 JUMP JUMPDEST DUP5 DUP5 PUSH1 0x40 MLOAD PUSH2 0xBF9 SWAP3 SWAP2 SWAP1 PUSH2 0x14FA JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 DUP11 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0x99206760F0BE19DD093729BD35E5924DAFF5E217BCEDC5223ED067B60008CF8A DUP12 DUP12 DUP12 DUP12 DUP10 DUP10 DUP10 PUSH1 0x40 MLOAD PUSH2 0xC46 SWAP8 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x1729 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND PUSH1 0x24 DUP4 ADD MSTORE PUSH1 0x44 DUP3 ADD DUP4 SWAP1 MSTORE PUSH1 0x0 SWAP2 DUP3 SWAP2 DUP7 AND SWAP1 PUSH32 0xA9059CBB00000000000000000000000000000000000000000000000000000000 SWAP1 PUSH1 0x64 ADD JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F NOT DUP2 DUP5 SUB ADD DUP2 MSTORE SWAP2 DUP2 MSTORE PUSH1 0x20 DUP3 ADD DUP1 MLOAD PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 SWAP1 SWAP5 AND SWAP4 SWAP1 SWAP4 OR SWAP1 SWAP3 MSTORE SWAP1 MLOAD PUSH2 0xD0D SWAP2 SWAP1 PUSH2 0x15DE JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP7 GAS CALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0xD4A JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0xD4F JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP PUSH1 0x0 DUP3 DUP1 ISZERO PUSH2 0xD7B JUMPI POP DUP2 MLOAD ISZERO DUP1 PUSH2 0xD7B JUMPI POP DUP2 DUP1 PUSH1 0x20 ADD SWAP1 MLOAD DUP2 ADD SWAP1 PUSH2 0xD7B SWAP2 SWAP1 PUSH2 0x177D JUMP JUMPDEST SWAP1 POP DUP1 ISZERO DUP1 PUSH2 0xD92 JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND EXTCODESIZE ISZERO JUMPDEST ISZERO PUSH2 0xDC9 JUMPI PUSH1 0x40 MLOAD PUSH32 0x90B8EC1800000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND PUSH1 0x24 DUP4 ADD MSTORE ADDRESS PUSH1 0x44 DUP4 ADD MSTORE PUSH1 0x64 DUP3 ADD DUP4 SWAP1 MSTORE PUSH1 0x0 SWAP2 DUP3 SWAP2 DUP7 AND SWAP1 PUSH32 0x23B872DD00000000000000000000000000000000000000000000000000000000 SWAP1 PUSH1 0x84 ADD PUSH2 0xCA2 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0xE38 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST DUP1 CALLDATALOAD PUSH2 0xE46 DUP2 PUSH2 0xE23 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0xE5D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP DUP2 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xE75 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x20 DUP3 DUP6 ADD ADD GT ISZERO PUSH2 0xE8D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0xA0 DUP10 DUP12 SUB SLT ISZERO PUSH2 0xEB0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP9 CALLDATALOAD PUSH2 0xEBB DUP2 PUSH2 0xE23 JUMP JUMPDEST SWAP8 POP PUSH1 0x20 DUP10 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0xED8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xEE4 DUP13 DUP4 DUP14 ADD PUSH2 0xE4B JUMP JUMPDEST SWAP1 SWAP10 POP SWAP8 POP PUSH1 0x40 DUP12 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0xEFD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xF09 DUP13 DUP4 DUP14 ADD PUSH2 0xE4B JUMP JUMPDEST SWAP1 SWAP8 POP SWAP6 POP PUSH1 0x60 DUP12 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0xF22 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xF2F DUP12 DUP3 DUP13 ADD PUSH2 0xE4B JUMP JUMPDEST SWAP1 SWAP5 POP SWAP3 POP POP PUSH1 0x80 DUP10 ADD CALLDATALOAD PUSH2 0xF43 DUP2 PUSH2 0xE23 JUMP JUMPDEST DUP1 SWAP2 POP POP SWAP3 SWAP6 SWAP9 POP SWAP3 SWAP6 SWAP9 SWAP1 SWAP4 SWAP7 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0xF69 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 CALLDATALOAD PUSH2 0xF74 DUP2 PUSH2 0xE23 JUMP JUMPDEST SWAP3 POP PUSH1 0x20 DUP5 ADD CALLDATALOAD PUSH2 0xF84 DUP2 PUSH2 0xE23 JUMP JUMPDEST SWAP3 SWAP6 SWAP3 SWAP5 POP POP POP PUSH1 0x40 SWAP2 SWAP1 SWAP2 ADD CALLDATALOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x20 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xFA8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xFBF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xFCB DUP6 DUP3 DUP7 ADD PUSH2 0xE4B JUMP JUMPDEST SWAP1 SWAP7 SWAP1 SWAP6 POP SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x60 DUP6 DUP8 SUB SLT ISZERO PUSH2 0xFED JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP5 CALLDATALOAD PUSH2 0xFF8 DUP2 PUSH2 0xE23 JUMP JUMPDEST SWAP4 POP PUSH1 0x20 DUP6 ADD CALLDATALOAD SWAP3 POP PUSH1 0x40 DUP6 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x101B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1027 DUP8 DUP3 DUP9 ADD PUSH2 0xE4B JUMP JUMPDEST SWAP6 SWAP9 SWAP5 SWAP8 POP SWAP6 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xA0 DUP7 DUP9 SUB SLT ISZERO PUSH2 0x104B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP6 CALLDATALOAD SWAP5 POP PUSH1 0x20 DUP7 ADD CALLDATALOAD SWAP4 POP PUSH1 0x40 DUP7 ADD CALLDATALOAD PUSH2 0x1064 DUP2 PUSH2 0xE23 JUMP JUMPDEST SWAP3 POP PUSH1 0x60 DUP7 ADD CALLDATALOAD SWAP2 POP PUSH1 0x80 DUP7 ADD CALLDATALOAD PUSH2 0x107B DUP2 PUSH2 0xE23 JUMP JUMPDEST DUP1 SWAP2 POP POP SWAP3 SWAP6 POP SWAP3 SWAP6 SWAP1 SWAP4 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xE0 DUP13 DUP15 SUB SLT ISZERO PUSH2 0x10AA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x10B3 DUP13 PUSH2 0xE3B JUMP JUMPDEST SWAP11 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP1 PUSH1 0x20 DUP15 ADD CALLDATALOAD GT ISZERO PUSH2 0x10CF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x10DF DUP15 PUSH1 0x20 DUP16 ADD CALLDATALOAD DUP16 ADD PUSH2 0xE4B JUMP JUMPDEST SWAP1 SWAP12 POP SWAP10 POP PUSH1 0x40 DUP14 ADD CALLDATALOAD DUP2 LT ISZERO PUSH2 0x10F5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1105 DUP15 PUSH1 0x40 DUP16 ADD CALLDATALOAD DUP16 ADD PUSH2 0xE4B JUMP JUMPDEST SWAP1 SWAP10 POP SWAP8 POP PUSH1 0x60 DUP14 ADD CALLDATALOAD DUP2 LT ISZERO PUSH2 0x111B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x112B DUP15 PUSH1 0x60 DUP16 ADD CALLDATALOAD DUP16 ADD PUSH2 0xE4B JUMP JUMPDEST SWAP1 SWAP8 POP SWAP6 POP PUSH1 0x80 DUP14 ADD CALLDATALOAD DUP2 LT ISZERO PUSH2 0x1141 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1152 DUP14 PUSH1 0x80 DUP15 ADD CALLDATALOAD DUP15 ADD PUSH2 0xE4B JUMP JUMPDEST SWAP1 SWAP5 POP SWAP3 POP PUSH1 0xA0 DUP13 ADD CALLDATALOAD SWAP2 POP PUSH2 0x116A PUSH1 0xC0 DUP14 ADD PUSH2 0xE3B JUMP JUMPDEST SWAP1 POP SWAP3 SWAP6 SWAP9 SWAP12 POP SWAP3 SWAP6 SWAP9 SWAP12 SWAP1 SWAP4 SWAP7 SWAP10 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x1191 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 CALLDATALOAD SWAP3 POP PUSH1 0x20 DUP5 ADD CALLDATALOAD SWAP2 POP PUSH1 0x40 DUP5 ADD CALLDATALOAD PUSH2 0x11AA DUP2 PUSH2 0xE23 JUMP JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x40 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x11CA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 CALLDATALOAD PUSH2 0x11D5 DUP2 PUSH2 0xE23 JUMP JUMPDEST SWAP3 POP PUSH1 0x20 DUP5 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x11F2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP7 ADD SWAP2 POP DUP7 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x1206 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD DUP2 DUP2 GT ISZERO PUSH2 0x1215 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP8 PUSH1 0x20 DUP3 PUSH1 0x5 SHL DUP6 ADD ADD GT ISZERO PUSH2 0x122A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x20 DUP4 ADD SWAP5 POP DUP1 SWAP4 POP POP POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x1264 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x127F JUMPI PUSH2 0x127F PUSH2 0x123D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP4 ADD PUSH1 0x1F NOT SWAP1 DUP2 AND PUSH1 0x3F ADD AND DUP2 ADD SWAP1 DUP3 DUP3 GT DUP2 DUP4 LT OR ISZERO PUSH2 0x12A7 JUMPI PUSH2 0x12A7 PUSH2 0x123D JUMP JUMPDEST DUP2 PUSH1 0x40 MSTORE DUP4 DUP2 MSTORE DUP7 PUSH1 0x20 DUP6 DUP9 ADD ADD GT ISZERO PUSH2 0x12C0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 PUSH1 0x20 DUP8 ADD PUSH1 0x20 DUP4 ADD CALLDATACOPY PUSH1 0x0 PUSH1 0x20 DUP6 DUP4 ADD ADD MSTORE DUP1 SWAP5 POP POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH2 0x120 DUP14 DUP16 SUB SLT ISZERO PUSH2 0x1303 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x130C DUP14 PUSH2 0xE3B JUMP JUMPDEST SWAP12 POP PUSH8 0xFFFFFFFFFFFFFFFF PUSH1 0x20 DUP15 ADD CALLDATALOAD GT ISZERO PUSH2 0x1327 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1337 DUP15 PUSH1 0x20 DUP16 ADD CALLDATALOAD DUP16 ADD PUSH2 0xE4B JUMP JUMPDEST SWAP1 SWAP12 POP SWAP10 POP PUSH8 0xFFFFFFFFFFFFFFFF PUSH1 0x40 DUP15 ADD CALLDATALOAD GT ISZERO PUSH2 0x1355 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1365 DUP15 PUSH1 0x40 DUP16 ADD CALLDATALOAD DUP16 ADD PUSH2 0xE4B JUMP JUMPDEST SWAP1 SWAP10 POP SWAP8 POP PUSH8 0xFFFFFFFFFFFFFFFF PUSH1 0x60 DUP15 ADD CALLDATALOAD GT ISZERO PUSH2 0x1383 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1393 DUP15 PUSH1 0x60 DUP16 ADD CALLDATALOAD DUP16 ADD PUSH2 0xE4B JUMP JUMPDEST SWAP1 SWAP8 POP SWAP6 POP PUSH8 0xFFFFFFFFFFFFFFFF PUSH1 0x80 DUP15 ADD CALLDATALOAD GT ISZERO PUSH2 0x13B1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x13C1 DUP15 PUSH1 0x80 DUP16 ADD CALLDATALOAD DUP16 ADD PUSH2 0x1253 JUMP JUMPDEST SWAP5 POP PUSH1 0xA0 DUP14 ADD CALLDATALOAD SWAP4 POP PUSH2 0x13D6 PUSH1 0xC0 DUP15 ADD PUSH2 0xE3B JUMP JUMPDEST SWAP3 POP PUSH1 0xE0 DUP14 ADD CALLDATALOAD SWAP2 POP PUSH2 0x13EC PUSH2 0x100 DUP15 ADD PUSH2 0xE3B JUMP JUMPDEST SWAP1 POP SWAP3 SWAP6 SWAP9 SWAP12 POP SWAP3 SWAP6 SWAP9 SWAP12 POP SWAP3 SWAP6 SWAP9 SWAP12 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1410 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x141B DUP2 PUSH2 0xE23 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0xE0 DUP12 DUP14 SUB SLT ISZERO PUSH2 0x1441 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP11 CALLDATALOAD PUSH2 0x144C DUP2 PUSH2 0xE23 JUMP JUMPDEST SWAP10 POP PUSH1 0x20 DUP12 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x1469 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1475 DUP15 DUP4 DUP16 ADD PUSH2 0xE4B JUMP JUMPDEST SWAP1 SWAP12 POP SWAP10 POP PUSH1 0x40 DUP14 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x148E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x149A DUP15 DUP4 DUP16 ADD PUSH2 0xE4B JUMP JUMPDEST SWAP1 SWAP10 POP SWAP8 POP PUSH1 0x60 DUP14 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x14B3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x14C0 DUP14 DUP3 DUP15 ADD PUSH2 0xE4B JUMP JUMPDEST SWAP1 SWAP7 POP SWAP5 POP POP PUSH1 0x80 DUP12 ADD CALLDATALOAD PUSH2 0x14D4 DUP2 PUSH2 0xE23 JUMP JUMPDEST SWAP3 POP PUSH1 0xA0 DUP12 ADD CALLDATALOAD SWAP2 POP PUSH2 0x14E9 PUSH1 0xC0 DUP13 ADD PUSH2 0xE3B JUMP JUMPDEST SWAP1 POP SWAP3 SWAP6 SWAP9 SWAP12 SWAP2 SWAP5 SWAP8 SWAP11 POP SWAP3 SWAP6 SWAP9 POP JUMP JUMPDEST DUP2 DUP4 DUP3 CALLDATACOPY PUSH1 0x0 SWAP2 ADD SWAP1 DUP2 MSTORE SWAP2 SWAP1 POP JUMP JUMPDEST DUP2 DUP4 MSTORE DUP2 DUP2 PUSH1 0x20 DUP6 ADD CALLDATACOPY POP PUSH1 0x0 DUP3 DUP3 ADD PUSH1 0x20 SWAP1 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x1F SWAP1 SWAP2 ADD PUSH1 0x1F NOT AND SWAP1 SWAP2 ADD ADD SWAP1 JUMP JUMPDEST PUSH1 0x80 DUP2 MSTORE PUSH1 0x0 PUSH2 0x1547 PUSH1 0x80 DUP4 ADD DUP9 DUP11 PUSH2 0x150A JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x155A DUP2 DUP8 DUP10 PUSH2 0x150A JUMP JUMPDEST SWAP2 POP POP DUP4 PUSH1 0x40 DUP4 ADD MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x60 DUP4 ADD MSTORE SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x158F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0x15AA PUSH1 0x20 DUP4 ADD DUP5 DUP7 PUSH2 0x150A JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x15CD JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x15B5 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x3F8 JUMPI POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x0 DUP3 MLOAD PUSH2 0x15F0 DUP2 DUP5 PUSH1 0x20 DUP8 ADD PUSH2 0x15B2 JUMP JUMPDEST SWAP2 SWAP1 SWAP2 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0xC0 DUP2 MSTORE PUSH1 0x0 PUSH2 0x160E PUSH1 0xC0 DUP4 ADD DUP12 DUP14 PUSH2 0x150A JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x1621 DUP2 DUP11 DUP13 PUSH2 0x150A JUMP JUMPDEST SWAP1 POP DUP3 DUP2 SUB PUSH1 0x40 DUP5 ADD MSTORE PUSH2 0x1636 DUP2 DUP9 DUP11 PUSH2 0x150A JUMP JUMPDEST PUSH1 0x60 DUP5 ADD SWAP7 SWAP1 SWAP7 MSTORE POP POP PUSH1 0x80 DUP2 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0xA0 SWAP1 SWAP2 ADD MSTORE SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x0 NOT DUP3 EQ ISZERO PUSH2 0x1699 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST PUSH1 0xE0 DUP2 MSTORE PUSH1 0x0 PUSH2 0x16B4 PUSH1 0xE0 DUP4 ADD DUP12 DUP14 PUSH2 0x150A JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x16C7 DUP2 DUP11 DUP13 PUSH2 0x150A JUMP JUMPDEST SWAP1 POP DUP3 DUP2 SUB PUSH1 0x40 DUP5 ADD MSTORE DUP8 MLOAD DUP1 DUP3 MSTORE PUSH2 0x16E7 DUP2 PUSH1 0x20 DUP5 ADD PUSH1 0x20 DUP13 ADD PUSH2 0x15B2 JUMP JUMPDEST PUSH1 0x60 DUP5 ADD SWAP8 SWAP1 SWAP8 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP6 DUP7 AND PUSH1 0x80 DUP5 ADD MSTORE PUSH1 0xA0 DUP4 ADD SWAP5 SWAP1 SWAP5 MSTORE POP SWAP3 AND PUSH1 0xC0 SWAP1 SWAP3 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x20 PUSH1 0x1F SWAP1 SWAP3 ADD PUSH1 0x1F NOT AND ADD ADD SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0xA0 DUP2 MSTORE PUSH1 0x0 PUSH2 0x173D PUSH1 0xA0 DUP4 ADD DUP10 DUP12 PUSH2 0x150A JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x1750 DUP2 DUP9 DUP11 PUSH2 0x150A JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP7 DUP8 AND PUSH1 0x40 DUP6 ADD MSTORE PUSH1 0x60 DUP5 ADD SWAP6 SWAP1 SWAP6 MSTORE POP POP SWAP3 AND PUSH1 0x80 SWAP1 SWAP3 ADD SWAP2 SWAP1 SWAP2 MSTORE SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x178F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x141B JUMPI PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0x27 0xBA CREATE2 0xE7 PUSH10 0xB3C7053EEC4B907B998A 0xAE REVERT 0xDB GT 0xD5 SELFBALANCE DUP12 SWAP3 POP SHL SWAP10 0x5C 0xE7 0xC SWAP13 0x27 CALLCODE PUSH5 0x736F6C6343 STOP ADDMOD MULMOD STOP CALLER ", - "sourceMap": "283:5308:13:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1975:439;;;;;;:::i;:::-;;:::i;:::-;;1032:223:30;;;;;;;;;;-1:-1:-1;1218:20:30;1212:27;1032:223;;;-1:-1:-1;;;;;2121:55:34;;;2103:74;;2091:2;2076:18;1032:223:30;;;;;;;;5482:107:13;;;;;;;;;;-1:-1:-1;5482:107:13;;5551:31;2334:25:34;;2322:2;2307:18;5482:107:13;2188:177:34;4237:282:13;;;;;;;;;;-1:-1:-1;4237:282:13;;;;;:::i;:::-;;:::i;578:187:30:-;;;;;;;;;;-1:-1:-1;737:11:30;731:18;578:187;;2057:212;;;;;;;;;;-1:-1:-1;2057:212:30;;;;;:::i;:::-;;:::i;1261:790::-;;;;;;;;;;-1:-1:-1;1261:790:30;;;;;:::i;:::-;;:::i;3160:328:13:-;;;;;;;;;;-1:-1:-1;3160:328:13;;;;;:::i;:::-;;:::i;2519:635::-;;;;;;:::i;:::-;;:::i;3494:270::-;;;;;;:::i;:::-;;:::i;3770:461::-;;;;;;;;;;-1:-1:-1;3770:461:13;;;;;:::i;:::-;;:::i;1143:727::-;;;;;;;;;;-1:-1:-1;1143:727:13;;;;;:::i;:::-;;:::i;771:255:30:-;;;;;;;;;;-1:-1:-1;771:255:30;;;;;:::i;:::-;;:::i;447:591:13:-;;;;;;;;;;-1:-1:-1;447:591:13;;;;;:::i;:::-;;:::i;1975:439::-;2231:9;2227:44;;2254:17;;-1:-1:-1;;;2254:17:13;;;;;;;;;;;2227:44;2372:7;;2362:18;;;;;;;:::i;:::-;;;;;;;;2316:6;-1:-1:-1;;;;;2287:120:13;;2324:16;;2342:18;;2382:9;2393:13;2287:120;;;;;;;;;;;:::i;:::-;;;;;;;;1975:439;;;;;;;;:::o;4237:282::-;525:10:30;514:7;737:11;731:18;;578:187;514:7;-1:-1:-1;;;;;514:21:30;;510:44;;544:10;;-1:-1:-1;;;544:10:30;;;;;;;;;;;510:44;-1:-1:-1;;;;;4373:19:13;::::1;4369:144;;4408:25;::::0;-1:-1:-1;;;;;4408:17:13;::::1;::::0;:25;::::1;;;::::0;4426:6;;4408:25:::1;::::0;;;4426:6;4408:17;:25;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;4237:282:::0;;;:::o;4369:144::-:1;4464:38;4478:5;4485:8;4495:6;4464:13;:38::i;:::-;4237:282:::0;;;:::o;2057:212:30:-;2218:1;2190:16;1218:20;1212:27;;1032:223;2190:16;-1:-1:-1;;;;;2190:30:30;;2186:53;;;2229:10;;;;;;;;;;;;;;2186:53;2057:212;;:::o;1261:790::-;525:10;514:7;737:11;731:18;;578:187;514:7;-1:-1:-1;;;;;514:21:30;;510:44;;544:10;;-1:-1:-1;;;544:10:30;;;;;;;;;;;510:44;1494:4:::1;-1:-1:-1::0;;;;;1482:28:30::1;;:30;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1447:17;-1:-1:-1::0;;;;;1435:41:30::1;;:43;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:77;1431:113;;1521:23;;;;;;;;;;;;;;1431:113;1587:17;-1:-1:-1::0;;;;;1587:26:30::1;;1558:25;:55;1554:85;;1622:17;;;;;;;;;;;;;;1554:85;1710:12;1728:17;-1:-1:-1::0;;;;;1728:30:30::1;1782:19;;;1803:6;;1759:51;;;;;;;;;:::i;:::-;;::::0;;-1:-1:-1;;1759:51:30;;::::1;::::0;;;;;;::::1;::::0;::::1;::::0;;::::1;;::::0;;;::::1;::::0;;;::::1;::::0;;;1728:83;;::::1;::::0;1759:51;1728:83:::1;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1709:102;;;1827:7;1822:34;;1843:13;;;;;;;;;;;;;;1822:34;1872:27;::::0;-1:-1:-1;;;;;1872:27:30;::::1;::::0;::::1;::::0;;;::::1;2017:17;1995:20;1988:47;1974:71;1261:790:::0;;;;:::o;3160:328:13:-;3347:53;3365:8;3375:10;3387:12;3347:17;:53::i;:::-;3416:65;;;-1:-1:-1;;;;;13744:15:34;;;13726:34;;13791:2;13776:18;;13769:34;;;13839:15;;13819:18;;;13812:43;3416:65:13;;3433:8;;3425:6;;3416:65;;;;;13653:2:34;3416:65:13;;;3160:328;;;;;:::o;2519:635::-;2840:9;2836:44;;2863:17;;-1:-1:-1;;;2863:17:13;;;;;;;;;;;2836:44;3039:7;;3029:18;;;;;;;:::i;:::-;;;;;;;;2947:6;-1:-1:-1;;;;;2896:251:13;;2967:16;;2997:18;;3061:6;;3081;3101:9;3124:13;2896:251;;;;;;;;;;;;;;:::i;:::-;;;;;;;;2519:635;;;;;;;;;;;:::o;3494:270::-;3643:9;3639:44;;3666:17;;-1:-1:-1;;;3666:17:13;;;;;;;;;;;3639:44;3699:58;;;3732:9;14938:25:34;;-1:-1:-1;;;;;14999:55:34;;14994:2;14979:18;;14972:83;3722:8:13;;3714:6;;3699:58;;14911:18:34;3699:58:13;;;;;;;3494:270;;;:::o;3770:461::-;525:10:30;514:7;737:11;731:18;;578:187;514:7;-1:-1:-1;;;;;514:21:30;;510:44;;544:10;;-1:-1:-1;;;544:10:30;;;;;;;;;;;510:44;3878:9:13::1;3873:352;3889:17:::0;;::::1;3873:352;;;3927:13;3943:6;;3950:1;3943:9;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;3927:25:::0;-1:-1:-1;;;;;;3971:19:13;::::1;3967:248;;4010:40;::::0;-1:-1:-1;;;;;4010:17:13;::::1;::::0;4028:21:::1;4010:40:::0;::::1;;;::::0;::::1;::::0;;;4028:21;4010:17;:40;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;3967:248;;;4106:38;::::0;;;;4138:4:::1;4106:38;::::0;::::1;2103:74:34::0;4089:14:13::1;::::0;-1:-1:-1;;;;;4106:23:13;::::1;::::0;::::1;::::0;2076:18:34;;4106:38:13::1;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4089:55;;4162:38;4176:5;4183:8;4193:6;4162:13;:38::i;:::-;4071:144;3967:248;-1:-1:-1::0;3908:3:13;::::1;::::0;::::1;:::i;:::-;;;;3873:352;;1143:727:::0;1514:53;1532:8;1542:10;1554:12;1514:17;:53::i;:::-;1730:7;;1720:18;;;;;;;:::i;:::-;;;;;;;;1638:6;-1:-1:-1;;;;;1593:270:13;;1658:16;;1688:18;;1752:6;1772;1792:8;1814:12;1840:13;1593:270;;;;;;;;;;;;;;:::i;:::-;;;;;;;;1143:727;;;;;;;;;;;;:::o;771:255:30:-;525:10;514:7;737:11;731:18;;578:187;514:7;-1:-1:-1;;;;;514:21:30;;510:44;;544:10;;-1:-1:-1;;;544:10:30;;;;;;;;;;;510:44;-1:-1:-1;;;;;857:22:30;::::1;853:49;;888:14;;;;;;;;;;;;;;853:49;918:30;::::0;-1:-1:-1;;;;;918:30:30;::::1;::::0;::::1;::::0;;;::::1;988:11;981:29:::0;771:255::o;447:591:13:-;741:53;759:8;769:10;781:12;741:17;:53::i;:::-;938:7;;928:18;;;;;;;:::i;:::-;;;;;;;;846:6;-1:-1:-1;;;;;810:221:13;;866:16;;896:18;;960:8;982:12;1008:13;810:221;;;;;;;;;;;;:::i;:::-;;;;;;;;447:591;;;;;;;;;;:::o;4525:454::-;4713:66;;-1:-1:-1;;;;;17797:55:34;;;4713:66:13;;;17779:74:34;17869:18;;;17862:34;;;4654:12:13;;;;4695:17;;;4736:24;;17752:18:34;;4713:66:13;;;;-1:-1:-1;;4713:66:13;;;;;;;;;;;;;;;;;;;;;;;;;;;4695:85;;;;4713:66;4695:85;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4653:127;;;;4790:16;4809:7;:78;;;;-1:-1:-1;4821:17:13;;:31;;:65;;;4867:10;4856:30;;;;;;;;;;;;:::i;:::-;4790:97;;4903:11;4902:12;:45;;;-1:-1:-1;;;;;;4918:24:13;;;:29;4902:45;4898:74;;;4956:16;;;;;;;;;;;;;;4898:74;4643:336;;;4525:454;;;:::o;4985:491::-;5186:81;;-1:-1:-1;;;;;18470:15:34;;;5186:81:13;;;18452:34:34;5253:4:13;18502:18:34;;;18495:43;18554:18;;;18547:34;;;5114:12:13;;;;5155:17;;;5209:28;;18364:18:34;;5186:81:13;18189:398:34;14:154;-1:-1:-1;;;;;93:5:34;89:54;82:5;79:65;69:93;;158:1;155;148:12;69:93;14:154;:::o;173:134::-;241:20;;270:31;241:20;270:31;:::i;:::-;173:134;;;:::o;312:348::-;364:8;374:6;428:3;421:4;413:6;409:17;405:27;395:55;;446:1;443;436:12;395:55;-1:-1:-1;469:20:34;;512:18;501:30;;498:50;;;544:1;541;534:12;498:50;581:4;573:6;569:17;557:29;;633:3;626:4;617:6;609;605:19;601:30;598:39;595:59;;;650:1;647;640:12;595:59;312:348;;;;;:::o;665:1287::-;795:6;803;811;819;827;835;843;851;904:3;892:9;883:7;879:23;875:33;872:53;;;921:1;918;911:12;872:53;960:9;947:23;979:31;1004:5;979:31;:::i;:::-;1029:5;-1:-1:-1;1085:2:34;1070:18;;1057:32;1108:18;1138:14;;;1135:34;;;1165:1;1162;1155:12;1135:34;1204:59;1255:7;1246:6;1235:9;1231:22;1204:59;:::i;:::-;1282:8;;-1:-1:-1;1178:85:34;-1:-1:-1;1370:2:34;1355:18;;1342:32;;-1:-1:-1;1386:16:34;;;1383:36;;;1415:1;1412;1405:12;1383:36;1454:61;1507:7;1496:8;1485:9;1481:24;1454:61;:::i;:::-;1534:8;;-1:-1:-1;1428:87:34;-1:-1:-1;1622:2:34;1607:18;;1594:32;;-1:-1:-1;1638:16:34;;;1635:36;;;1667:1;1664;1657:12;1635:36;;1706:61;1759:7;1748:8;1737:9;1733:24;1706:61;:::i;:::-;1786:8;;-1:-1:-1;1680:87:34;-1:-1:-1;;1873:3:34;1858:19;;1845:33;1887;1845;1887;:::i;:::-;1939:7;1929:17;;;665:1287;;;;;;;;;;;:::o;2370:464::-;2455:6;2463;2471;2524:2;2512:9;2503:7;2499:23;2495:32;2492:52;;;2540:1;2537;2530:12;2492:52;2579:9;2566:23;2598:31;2623:5;2598:31;:::i;:::-;2648:5;-1:-1:-1;2705:2:34;2690:18;;2677:32;2718:33;2677:32;2718:33;:::i;:::-;2370:464;;2770:7;;-1:-1:-1;;;2824:2:34;2809:18;;;;2796:32;;2370:464::o;2839:410::-;2909:6;2917;2970:2;2958:9;2949:7;2945:23;2941:32;2938:52;;;2986:1;2983;2976:12;2938:52;3026:9;3013:23;3059:18;3051:6;3048:30;3045:50;;;3091:1;3088;3081:12;3045:50;3130:59;3181:7;3172:6;3161:9;3157:22;3130:59;:::i;:::-;3208:8;;3104:85;;-1:-1:-1;2839:410:34;-1:-1:-1;;;;2839:410:34:o;3254:613::-;3342:6;3350;3358;3366;3419:2;3407:9;3398:7;3394:23;3390:32;3387:52;;;3435:1;3432;3425:12;3387:52;3474:9;3461:23;3493:31;3518:5;3493:31;:::i;:::-;3543:5;-1:-1:-1;3595:2:34;3580:18;;3567:32;;-1:-1:-1;3650:2:34;3635:18;;3622:32;3677:18;3666:30;;3663:50;;;3709:1;3706;3699:12;3663:50;3748:59;3799:7;3790:6;3779:9;3775:22;3748:59;:::i;:::-;3254:613;;;;-1:-1:-1;3826:8:34;-1:-1:-1;;;;3254:613:34:o;3872:594::-;3967:6;3975;3983;3991;3999;4052:3;4040:9;4031:7;4027:23;4023:33;4020:53;;;4069:1;4066;4059:12;4020:53;4105:9;4092:23;4082:33;;4162:2;4151:9;4147:18;4134:32;4124:42;;4216:2;4205:9;4201:18;4188:32;4229:31;4254:5;4229:31;:::i;:::-;4279:5;-1:-1:-1;4331:2:34;4316:18;;4303:32;;-1:-1:-1;4387:3:34;4372:19;;4359:33;4401;4359;4401;:::i;:::-;4453:7;4443:17;;;3872:594;;;;;;;;:::o;4471:1491::-;4631:6;4639;4647;4655;4663;4671;4679;4687;4695;4703;4711:7;4765:3;4753:9;4744:7;4740:23;4736:33;4733:53;;;4782:1;4779;4772:12;4733:53;4805:29;4824:9;4805:29;:::i;:::-;4795:39;;4853:18;4920:2;4914;4903:9;4899:18;4886:32;4883:40;4880:60;;;4936:1;4933;4926:12;4880:60;4975:85;5052:7;5045:2;5034:9;5030:18;5017:32;5006:9;5002:48;4975:85;:::i;:::-;5079:8;;-1:-1:-1;5106:8:34;-1:-1:-1;5157:2:34;5142:18;;5129:32;5126:40;-1:-1:-1;5123:60:34;;;5179:1;5176;5169:12;5123:60;5218:85;5295:7;5288:2;5277:9;5273:18;5260:32;5249:9;5245:48;5218:85;:::i;:::-;5322:8;;-1:-1:-1;5349:8:34;-1:-1:-1;5400:2:34;5385:18;;5372:32;5369:40;-1:-1:-1;5366:60:34;;;5422:1;5419;5412:12;5366:60;5461:85;5538:7;5531:2;5520:9;5516:18;5503:32;5492:9;5488:48;5461:85;:::i;:::-;5565:8;;-1:-1:-1;5592:8:34;-1:-1:-1;5643:3:34;5628:19;;5615:33;5612:41;-1:-1:-1;5609:61:34;;;5666:1;5663;5656:12;5609:61;;5705:86;5783:7;5775:3;5764:9;5760:19;5747:33;5736:9;5732:49;5705:86;:::i;:::-;5810:8;;-1:-1:-1;5837:8:34;-1:-1:-1;5892:3:34;5877:19;;5864:33;;-1:-1:-1;5917:39:34;5951:3;5936:19;;5917:39;:::i;:::-;5906:50;;4471:1491;;;;;;;;;;;;;;:::o;5967:383::-;6044:6;6052;6060;6113:2;6101:9;6092:7;6088:23;6084:32;6081:52;;;6129:1;6126;6119:12;6081:52;6165:9;6152:23;6142:33;;6222:2;6211:9;6207:18;6194:32;6184:42;;6276:2;6265:9;6261:18;6248:32;6289:31;6314:5;6289:31;:::i;:::-;6339:5;6329:15;;;5967:383;;;;;:::o;6355:758::-;6458:6;6466;6474;6527:2;6515:9;6506:7;6502:23;6498:32;6495:52;;;6543:1;6540;6533:12;6495:52;6582:9;6569:23;6601:31;6626:5;6601:31;:::i;:::-;6651:5;-1:-1:-1;6707:2:34;6692:18;;6679:32;6730:18;6760:14;;;6757:34;;;6787:1;6784;6777:12;6757:34;6825:6;6814:9;6810:22;6800:32;;6870:7;6863:4;6859:2;6855:13;6851:27;6841:55;;6892:1;6889;6882:12;6841:55;6932:2;6919:16;6958:2;6950:6;6947:14;6944:34;;;6974:1;6971;6964:12;6944:34;7027:7;7022:2;7012:6;7009:1;7005:14;7001:2;6997:23;6993:32;6990:45;6987:65;;;7048:1;7045;7038:12;6987:65;7079:2;7075;7071:11;7061:21;;7101:6;7091:16;;;;;6355:758;;;;;:::o;7118:184::-;-1:-1:-1;;;7167:1:34;7160:88;7267:4;7264:1;7257:15;7291:4;7288:1;7281:15;7307:719;7350:5;7403:3;7396:4;7388:6;7384:17;7380:27;7370:55;;7421:1;7418;7411:12;7370:55;7457:6;7444:20;7483:18;7520:2;7516;7513:10;7510:36;;;7526:18;;:::i;:::-;7601:2;7595:9;7569:2;7655:13;;-1:-1:-1;;7651:22:34;;;7675:2;7647:31;7643:40;7631:53;;;7699:18;;;7719:22;;;7696:46;7693:72;;;7745:18;;:::i;:::-;7785:10;7781:2;7774:22;7820:2;7812:6;7805:18;7866:3;7859:4;7854:2;7846:6;7842:15;7838:26;7835:35;7832:55;;;7883:1;7880;7873:12;7832:55;7947:2;7940:4;7932:6;7928:17;7921:4;7913:6;7909:17;7896:54;7994:1;7987:4;7982:2;7974:6;7970:15;7966:26;7959:37;8014:6;8005:15;;;;;;7307:719;;;;:::o;8031:1575::-;8207:6;8215;8223;8231;8239;8247;8255;8263;8271;8279;8287:7;8296;8350:3;8338:9;8329:7;8325:23;8321:33;8318:53;;;8367:1;8364;8357:12;8318:53;8390:29;8409:9;8390:29;:::i;:::-;8380:39;;8468:18;8462:2;8451:9;8447:18;8434:32;8431:56;8428:76;;;8500:1;8497;8490:12;8428:76;8539:85;8616:7;8609:2;8598:9;8594:18;8581:32;8570:9;8566:48;8539:85;:::i;:::-;8643:8;;-1:-1:-1;8670:8:34;-1:-1:-1;8727:18:34;8721:2;8706:18;;8693:32;8690:56;8687:76;;;8759:1;8756;8749:12;8687:76;8798:85;8875:7;8868:2;8857:9;8853:18;8840:32;8829:9;8825:48;8798:85;:::i;:::-;8902:8;;-1:-1:-1;8929:8:34;-1:-1:-1;8986:18:34;8980:2;8965:18;;8952:32;8949:56;8946:76;;;9018:1;9015;9008:12;8946:76;9057:85;9134:7;9127:2;9116:9;9112:18;9099:32;9088:9;9084:48;9057:85;:::i;:::-;9161:8;;-1:-1:-1;9188:8:34;-1:-1:-1;9246:18:34;9239:3;9224:19;;9211:33;9208:57;9205:77;;;9278:1;9275;9268:12;9205:77;9301;9370:7;9362:3;9351:9;9347:19;9334:33;9323:9;9319:49;9301:77;:::i;:::-;9291:87;;9425:3;9414:9;9410:19;9397:33;9387:43;;9449:39;9483:3;9472:9;9468:19;9449:39;:::i;:::-;9439:49;;9536:3;9525:9;9521:19;9508:33;9497:44;;9561:39;9595:3;9584:9;9580:19;9561:39;:::i;:::-;9550:50;;8031:1575;;;;;;;;;;;;;;:::o;9611:247::-;9670:6;9723:2;9711:9;9702:7;9698:23;9694:32;9691:52;;;9739:1;9736;9729:12;9691:52;9778:9;9765:23;9797:31;9822:5;9797:31;:::i;:::-;9847:5;9611:247;-1:-1:-1;;;9611:247:34:o;9863:1431::-;10011:6;10019;10027;10035;10043;10051;10059;10067;10075;10083;10136:3;10124:9;10115:7;10111:23;10107:33;10104:53;;;10153:1;10150;10143:12;10104:53;10192:9;10179:23;10211:31;10236:5;10211:31;:::i;:::-;10261:5;-1:-1:-1;10317:2:34;10302:18;;10289:32;10340:18;10370:14;;;10367:34;;;10397:1;10394;10387:12;10367:34;10436:59;10487:7;10478:6;10467:9;10463:22;10436:59;:::i;:::-;10514:8;;-1:-1:-1;10410:85:34;-1:-1:-1;10602:2:34;10587:18;;10574:32;;-1:-1:-1;10618:16:34;;;10615:36;;;10647:1;10644;10637:12;10615:36;10686:61;10739:7;10728:8;10717:9;10713:24;10686:61;:::i;:::-;10766:8;;-1:-1:-1;10660:87:34;-1:-1:-1;10854:2:34;10839:18;;10826:32;;-1:-1:-1;10870:16:34;;;10867:36;;;10899:1;10896;10889:12;10867:36;;10938:61;10991:7;10980:8;10969:9;10965:24;10938:61;:::i;:::-;11018:8;;-1:-1:-1;10912:87:34;-1:-1:-1;;11105:3:34;11090:19;;11077:33;11119;11077;11119;:::i;:::-;11171:7;-1:-1:-1;11225:3:34;11210:19;;11197:33;;-1:-1:-1;11249:39:34;11283:3;11268:19;;11249:39;:::i;:::-;11239:49;;9863:1431;;;;;;;;;;;;;:::o;11299:271::-;11482:6;11474;11469:3;11456:33;11438:3;11508:16;;11533:13;;;11508:16;11299:271;-1:-1:-1;11299:271:34:o;11575:267::-;11664:6;11659:3;11652:19;11716:6;11709:5;11702:4;11697:3;11693:14;11680:43;-1:-1:-1;11768:1:34;11743:16;;;11761:4;11739:27;;;11732:38;;;;11824:2;11803:15;;;-1:-1:-1;;11799:29:34;11790:39;;;11786:50;;11575:267::o;11847:630::-;12120:3;12109:9;12102:22;12083:4;12147:63;12205:3;12194:9;12190:19;12182:6;12174;12147:63;:::i;:::-;12258:9;12250:6;12246:22;12241:2;12230:9;12226:18;12219:50;12286;12329:6;12321;12313;12286:50;:::i;:::-;12278:58;;;12372:6;12367:2;12356:9;12352:18;12345:34;-1:-1:-1;;;;;12419:6:34;12415:55;12410:2;12399:9;12395:18;12388:83;11847:630;;;;;;;;;:::o;12482:184::-;12552:6;12605:2;12593:9;12584:7;12580:23;12576:32;12573:52;;;12621:1;12618;12611:12;12573:52;-1:-1:-1;12644:16:34;;12482:184;-1:-1:-1;12482:184:34:o;12671:245::-;12828:2;12817:9;12810:21;12791:4;12848:62;12906:2;12895:9;12891:18;12883:6;12875;12848:62;:::i;:::-;12840:70;12671:245;-1:-1:-1;;;;12671:245:34:o;12921:258::-;12993:1;13003:113;13017:6;13014:1;13011:13;13003:113;;;13093:11;;;13087:18;13074:11;;;13067:39;13039:2;13032:10;13003:113;;;13134:6;13131:1;13128:13;13125:48;;;-1:-1:-1;;13169:1:34;13151:16;;13144:27;12921:258::o;13184:274::-;13313:3;13351:6;13345:13;13367:53;13413:6;13408:3;13401:4;13393:6;13389:17;13367:53;:::i;:::-;13436:16;;;;;13184:274;-1:-1:-1;;13184:274:34:o;13866:893::-;14225:3;14214:9;14207:22;14188:4;14252:63;14310:3;14299:9;14295:19;14287:6;14279;14252:63;:::i;:::-;14363:9;14355:6;14351:22;14346:2;14335:9;14331:18;14324:50;14397;14440:6;14432;14424;14397:50;:::i;:::-;14383:64;;14495:9;14487:6;14483:22;14478:2;14467:9;14463:18;14456:50;14523;14566:6;14558;14550;14523:50;:::i;:::-;14604:2;14589:18;;14582:34;;;;-1:-1:-1;;14647:3:34;14632:19;;14625:35;;;;-1:-1:-1;;;;;14697:55:34;14691:3;14676:19;;;14669:84;14515:58;13866:893;-1:-1:-1;;;;;;13866:893:34:o;15066:184::-;-1:-1:-1;;;15115:1:34;15108:88;15215:4;15212:1;15205:15;15239:4;15236:1;15229:15;15444:289;15483:3;-1:-1:-1;;15504:17:34;;15501:197;;;-1:-1:-1;;;15551:1:34;15544:88;15655:4;15652:1;15645:15;15683:4;15680:1;15673:15;15501:197;-1:-1:-1;15725:1:34;15714:13;;15444:289::o;15738:1125::-;16115:3;16104:9;16097:22;16078:4;16142:63;16200:3;16189:9;16185:19;16177:6;16169;16142:63;:::i;:::-;16253:9;16245:6;16241:22;16236:2;16225:9;16221:18;16214:50;16287;16330:6;16322;16314;16287:50;:::i;:::-;16273:64;;16385:9;16377:6;16373:22;16368:2;16357:9;16353:18;16346:50;16425:6;16419:13;16456:6;16448;16441:22;16472:63;16528:6;16523:2;16515:6;16511:15;16506:2;16498:6;16494:15;16472:63;:::i;:::-;16634:2;16619:18;;16612:34;;;;-1:-1:-1;;;;;16744:15:34;;;16738:3;16723:19;;16716:44;16791:3;16776:19;;16769:35;;;;-1:-1:-1;16841:15:34;;16835:3;16820:19;;;16813:44;;;;16600:2;16593;16572:15;;;-1:-1:-1;;16568:29:34;16556:42;16552:51;;;-1:-1:-1;;;;;15738:1125:34:o;16868:732::-;17169:3;17158:9;17151:22;17132:4;17196:63;17254:3;17243:9;17239:19;17231:6;17223;17196:63;:::i;:::-;17307:9;17299:6;17295:22;17290:2;17279:9;17275:18;17268:50;17335;17378:6;17370;17362;17335:50;:::i;:::-;-1:-1:-1;;;;;17482:15:34;;;17477:2;17462:18;;17455:43;17529:2;17514:18;;17507:34;;;;-1:-1:-1;;17578:15:34;;17572:3;17557:19;;;17550:44;;;;17327:58;16868:732;-1:-1:-1;;;;16868:732:34:o;17907:277::-;17974:6;18027:2;18015:9;18006:7;18002:23;17998:32;17995:52;;;18043:1;18040;18033:12;17995:52;18075:9;18069:16;18128:5;18121:13;18114:21;18107:5;18104:32;18094:60;;18150:1;18147;18140:12" - }, - "methodIdentifiers": { - "addGas(bytes32,uint256,address,uint256,address)": "ab1999ba", - "addNativeGas(bytes32,uint256,address)": "cd433ada", - "collectFees(address,address[])": "da854d75", - "contractId()": "8291286c", - "implementation()": "5c60da1b", - "owner()": "8da5cb5b", - "payGasForContractCall(address,string,string,bytes,address,uint256,address)": "fd09e3bd", - "payGasForContractCallWithToken(address,string,string,bytes,string,uint256,address,uint256,address)": "edb6b3a5", - "payNativeGasForContractCall(address,string,string,bytes,address)": "0c93e3bb", - "payNativeGasForContractCallWithToken(address,string,string,bytes,string,uint256,address)": "c62c2002", - "refund(address,address,uint256)": "82ad6f35", - "setup(bytes)": "9ded06df", - "transferOwnership(address)": "f2fde38b", - "upgrade(address,bytes32,bytes)": "a3499c73" - } - }, - "metadata": "{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"InvalidCodeHash\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidImplementation\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidOwner\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotOwner\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotProxy\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NothingReceived\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SetupFailed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TransferFailed\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"txHash\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"logIndex\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"gasToken\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"gasFeeAmount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"refundAddress\",\"type\":\"address\"}],\"name\":\"GasAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sourceAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"destinationChain\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"destinationAddress\",\"type\":\"string\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"payloadHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"gasToken\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"gasFeeAmount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"refundAddress\",\"type\":\"address\"}],\"name\":\"GasPaidForContractCall\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sourceAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"destinationChain\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"destinationAddress\",\"type\":\"string\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"payloadHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"gasToken\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"gasFeeAmount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"refundAddress\",\"type\":\"address\"}],\"name\":\"GasPaidForContractCallWithToken\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"txHash\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"logIndex\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"gasFeeAmount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"refundAddress\",\"type\":\"address\"}],\"name\":\"NativeGasAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sourceAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"destinationChain\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"destinationAddress\",\"type\":\"string\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"payloadHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"gasFeeAmount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"refundAddress\",\"type\":\"address\"}],\"name\":\"NativeGasPaidForContractCall\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sourceAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"destinationChain\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"destinationAddress\",\"type\":\"string\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"payloadHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"gasFeeAmount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"refundAddress\",\"type\":\"address\"}],\"name\":\"NativeGasPaidForContractCallWithToken\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"txHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"logIndex\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"gasToken\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"gasFeeAmount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"refundAddress\",\"type\":\"address\"}],\"name\":\"addGas\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"txHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"logIndex\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"refundAddress\",\"type\":\"address\"}],\"name\":\"addNativeGas\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address payable\",\"name\":\"receiver\",\"type\":\"address\"},{\"internalType\":\"address[]\",\"name\":\"tokens\",\"type\":\"address[]\"}],\"name\":\"collectFees\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"contractId\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"implementation\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"implementation_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"destinationChain\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"destinationAddress\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"payload\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"gasToken\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"gasFeeAmount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"refundAddress\",\"type\":\"address\"}],\"name\":\"payGasForContractCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"destinationChain\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"destinationAddress\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"payload\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"gasToken\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"gasFeeAmount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"refundAddress\",\"type\":\"address\"}],\"name\":\"payGasForContractCallWithToken\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"destinationChain\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"destinationAddress\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"payload\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"refundAddress\",\"type\":\"address\"}],\"name\":\"payNativeGasForContractCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"destinationChain\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"destinationAddress\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"payload\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"refundAddress\",\"type\":\"address\"}],\"name\":\"payNativeGasForContractCallWithToken\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address payable\",\"name\":\"receiver\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"refund\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"setup\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"newImplementationCodeHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"params\",\"type\":\"bytes\"}],\"name\":\"upgrade\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@axelar-network/axelar-cgp-solidity/contracts/gas-service/AxelarGasService.sol\":\"AxelarGasService\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1000},\"remappings\":[]},\"sources\":{\"@axelar-network/axelar-cgp-solidity/contracts/gas-service/AxelarGasService.sol\":{\"keccak256\":\"0xc54208eec5f857db8513192f5f7a4de5304003767c744679b4969b6a9ce9ea42\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2a05f4ac8c95f071e9aa68285900c43fd159aa91ed39e7976825dc21f9b44fdc\",\"dweb:/ipfs/Qmem79knr9swRSV2ZDR1XK8ZY1TvB5i3qz8PuYD5LXKi9q\"]},\"@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarGasService.sol\":{\"keccak256\":\"0x4b334fc7688935dce33cdedca89d8cfd90dd49fef79c7f7c04d3c34b5b7a4a25\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ccce823d074846bb19c41a1576d290ec5dca5f9ec1069b7719aef6a03372ee5d\",\"dweb:/ipfs/QmZGnfVm2FEp7qxyQxgBQWKhCKVVaYtya5NX3EwqAe8B3M\"]},\"@axelar-network/axelar-cgp-solidity/contracts/interfaces/IERC20.sol\":{\"keccak256\":\"0x018cf796d80d65945fa85fa4fb49d926481ffe9316564ea251ee14836d661635\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://677295d77a7b45e0d06fc389f859bb39e1175e16a75e141f0ce06743258178d3\",\"dweb:/ipfs/QmdoJiu5PJ6D3NcZVGHVGCFVW8WkQbTdqok1AoTcG3NmYR\"]},\"@axelar-network/axelar-cgp-solidity/contracts/interfaces/IUpgradable.sol\":{\"keccak256\":\"0x47d64169b4d38921c7ee78feecc75f3eb48246d28a5c6a5f24a1ab1d7031e344\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://56ab6a5e6464a29afff81cb57fdbb812c5574b545b549535427c2371950389fc\",\"dweb:/ipfs/QmW1joAce7d54PnP7RjWKVrvsqGMDHozELLFEKC1A6ctNe\"]},\"@axelar-network/axelar-cgp-solidity/contracts/util/Upgradable.sol\":{\"keccak256\":\"0x25fbe5a48b8c3766bfd264ce9633ceb0d49cbc4fa86ef550ae571a33a9a6130a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc7bfdac23f2c0483ed7b5f59d0e0f645ce90dcce67262bb6a86ee1b63fbcd6a\",\"dweb:/ipfs/QmPMcq4iEH1GomykzZE5VWCVifQeR2TsDo2GcHuLRFLT84\"]}},\"version\":1}" - } - }, - "@axelar-network/axelar-cgp-solidity/contracts/gas-service/AxelarGasServiceProxy.sol": { - "AxelarGasServiceProxy": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "implementationAddress", - "type": "address" - }, - { - "internalType": "bytes", - "name": "params", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "name": "EtherNotAccepted", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidImplementation", - "type": "error" - }, - { - "inputs": [], - "name": "SetupFailed", - "type": "error" - }, - { - "stateMutability": "payable", - "type": "fallback" - }, - { - "inputs": [], - "name": "implementation", - "outputs": [ - { - "internalType": "address", - "name": "implementation_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "setup", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "stateMutability": "payable", - "type": "receive" - } - ], - "evm": { - "bytecode": { - "functionDebugData": { - "@_4971": { - "entryPoint": null, - "id": 4971, - "parameterSlots": 2, - "returnSlots": 0 - }, - "@_6021": { - "entryPoint": null, - "id": 6021, - "parameterSlots": 2, - "returnSlots": 0 - }, - "abi_decode_tuple_t_addresst_bytes_memory_ptr_fromMemory": { - "entryPoint": 564, - "id": null, - "parameterSlots": 2, - "returnSlots": 2 - }, - "abi_decode_tuple_t_bytes32_fromMemory": { - "entryPoint": 849, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed": { - "entryPoint": 821, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_encode_tuple_t_bytes_memory_ptr__to_t_bytes_memory_ptr__fromStack_reversed": { - "entryPoint": 770, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "copy_memory_to_memory": { - "entryPoint": 516, - "id": null, - "parameterSlots": 3, - "returnSlots": 0 - }, - "panic_error_0x41": { - "entryPoint": 494, - "id": null, - "parameterSlots": 0, - "returnSlots": 0 - } - }, - "generatedSources": [ - { - "ast": { - "nodeType": "YulBlock", - "src": "0:2315:34", - "statements": [ - { - "nodeType": "YulBlock", - "src": "6:3:34", - "statements": [] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "46:95:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "63:1:34", - "type": "", - "value": "0" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "70:3:34", - "type": "", - "value": "224" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "75:10:34", - "type": "", - "value": "0x4e487b71" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "66:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "66:20:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "56:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "56:31:34" - }, - "nodeType": "YulExpressionStatement", - "src": "56:31:34" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "103:1:34", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "106:4:34", - "type": "", - "value": "0x41" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "96:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "96:15:34" - }, - "nodeType": "YulExpressionStatement", - "src": "96:15:34" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "127:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "130:4:34", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "120:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "120:15:34" - }, - "nodeType": "YulExpressionStatement", - "src": "120:15:34" - } - ] - }, - "name": "panic_error_0x41", - "nodeType": "YulFunctionDefinition", - "src": "14:127:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "199:205:34", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "209:10:34", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "218:1:34", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "i", - "nodeType": "YulTypedName", - "src": "213:1:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "278:63:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "303:3:34" - }, - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "308:1:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "299:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "299:11:34" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "322:3:34" - }, - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "327:1:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "318:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "318:11:34" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "312:5:34" - }, - "nodeType": "YulFunctionCall", - "src": "312:18:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "292:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "292:39:34" - }, - "nodeType": "YulExpressionStatement", - "src": "292:39:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "239:1:34" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "242:6:34" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "236:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "236:13:34" - }, - "nodeType": "YulForLoop", - "post": { - "nodeType": "YulBlock", - "src": "250:19:34", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "252:15:34", - "value": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "261:1:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "264:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "257:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "257:10:34" - }, - "variableNames": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "252:1:34" - } - ] - } - ] - }, - "pre": { - "nodeType": "YulBlock", - "src": "232:3:34", - "statements": [] - }, - "src": "228:113:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "367:31:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "380:3:34" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "385:6:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "376:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "376:16:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "394:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "369:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "369:27:34" - }, - "nodeType": "YulExpressionStatement", - "src": "369:27:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "356:1:34" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "359:6:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "353:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "353:13:34" - }, - "nodeType": "YulIf", - "src": "350:48:34" - } - ] - }, - "name": "copy_memory_to_memory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "src", - "nodeType": "YulTypedName", - "src": "177:3:34", - "type": "" - }, - { - "name": "dst", - "nodeType": "YulTypedName", - "src": "182:3:34", - "type": "" - }, - { - "name": "length", - "nodeType": "YulTypedName", - "src": "187:6:34", - "type": "" - } - ], - "src": "146:258:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "516:943:34", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "562:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "571:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "574:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "564:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "564:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "564:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "537:7:34" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "546:9:34" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "533:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "533:23:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "558:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "529:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "529:32:34" - }, - "nodeType": "YulIf", - "src": "526:52:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "587:29:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "606:9:34" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "600:5:34" - }, - "nodeType": "YulFunctionCall", - "src": "600:16:34" - }, - "variables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "591:5:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "679:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "688:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "691:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "681:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "681:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "681:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "638:5:34" - }, - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "649:5:34" - }, - { - "arguments": [ - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "664:3:34", - "type": "", - "value": "160" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "669:1:34", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "660:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "660:11:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "673:1:34", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "656:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "656:19:34" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "645:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "645:31:34" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "635:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "635:42:34" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "628:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "628:50:34" - }, - "nodeType": "YulIf", - "src": "625:70:34" - }, - { - "nodeType": "YulAssignment", - "src": "704:15:34", - "value": { - "name": "value", - "nodeType": "YulIdentifier", - "src": "714:5:34" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "704:6:34" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "728:39:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "752:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "763:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "748:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "748:18:34" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "742:5:34" - }, - "nodeType": "YulFunctionCall", - "src": "742:25:34" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "732:6:34", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "776:28:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "794:2:34", - "type": "", - "value": "64" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "798:1:34", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "790:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "790:10:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "802:1:34", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "786:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "786:18:34" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "780:2:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "831:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "840:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "843:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "833:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "833:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "833:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "819:6:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "827:2:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "816:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "816:14:34" - }, - "nodeType": "YulIf", - "src": "813:34:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "856:32:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "870:9:34" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "881:6:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "866:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "866:22:34" - }, - "variables": [ - { - "name": "_2", - "nodeType": "YulTypedName", - "src": "860:2:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "936:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "945:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "948:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "938:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "938:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "938:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "915:2:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "919:4:34", - "type": "", - "value": "0x1f" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "911:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "911:13:34" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "926:7:34" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "907:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "907:27:34" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "900:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "900:35:34" - }, - "nodeType": "YulIf", - "src": "897:55:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "961:19:34", - "value": { - "arguments": [ - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "977:2:34" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "971:5:34" - }, - "nodeType": "YulFunctionCall", - "src": "971:9:34" - }, - "variables": [ - { - "name": "_3", - "nodeType": "YulTypedName", - "src": "965:2:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1003:22:34", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x41", - "nodeType": "YulIdentifier", - "src": "1005:16:34" - }, - "nodeType": "YulFunctionCall", - "src": "1005:18:34" - }, - "nodeType": "YulExpressionStatement", - "src": "1005:18:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "_3", - "nodeType": "YulIdentifier", - "src": "995:2:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "999:2:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "992:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "992:10:34" - }, - "nodeType": "YulIf", - "src": "989:36:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1034:17:34", - "value": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1048:2:34", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "1044:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1044:7:34" - }, - "variables": [ - { - "name": "_4", - "nodeType": "YulTypedName", - "src": "1038:2:34", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1060:23:34", - "value": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1080:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "1074:5:34" - }, - "nodeType": "YulFunctionCall", - "src": "1074:9:34" - }, - "variables": [ - { - "name": "memPtr", - "nodeType": "YulTypedName", - "src": "1064:6:34", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1092:71:34", - "value": { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "1114:6:34" - }, - { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "_3", - "nodeType": "YulIdentifier", - "src": "1138:2:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1142:4:34", - "type": "", - "value": "0x1f" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1134:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1134:13:34" - }, - { - "name": "_4", - "nodeType": "YulIdentifier", - "src": "1149:2:34" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "1130:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1130:22:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1154:2:34", - "type": "", - "value": "63" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1126:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1126:31:34" - }, - { - "name": "_4", - "nodeType": "YulIdentifier", - "src": "1159:2:34" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "1122:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1122:40:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1110:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1110:53:34" - }, - "variables": [ - { - "name": "newFreePtr", - "nodeType": "YulTypedName", - "src": "1096:10:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1222:22:34", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x41", - "nodeType": "YulIdentifier", - "src": "1224:16:34" - }, - "nodeType": "YulFunctionCall", - "src": "1224:18:34" - }, - "nodeType": "YulExpressionStatement", - "src": "1224:18:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "newFreePtr", - "nodeType": "YulIdentifier", - "src": "1181:10:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "1193:2:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "1178:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "1178:18:34" - }, - { - "arguments": [ - { - "name": "newFreePtr", - "nodeType": "YulIdentifier", - "src": "1201:10:34" - }, - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "1213:6:34" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "1198:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "1198:22:34" - } - ], - "functionName": { - "name": "or", - "nodeType": "YulIdentifier", - "src": "1175:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "1175:46:34" - }, - "nodeType": "YulIf", - "src": "1172:72:34" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1260:2:34", - "type": "", - "value": "64" - }, - { - "name": "newFreePtr", - "nodeType": "YulIdentifier", - "src": "1264:10:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1253:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "1253:22:34" - }, - "nodeType": "YulExpressionStatement", - "src": "1253:22:34" - }, - { - "expression": { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "1291:6:34" - }, - { - "name": "_3", - "nodeType": "YulIdentifier", - "src": "1299:2:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1284:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "1284:18:34" - }, - "nodeType": "YulExpressionStatement", - "src": "1284:18:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1348:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1357:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1360:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "1350:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "1350:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "1350:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "1325:2:34" - }, - { - "name": "_3", - "nodeType": "YulIdentifier", - "src": "1329:2:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1321:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1321:11:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1334:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1317:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1317:20:34" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "1339:7:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "1314:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "1314:33:34" - }, - "nodeType": "YulIf", - "src": "1311:53:34" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "1399:2:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1403:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1395:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1395:11:34" - }, - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "1412:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1420:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1408:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1408:15:34" - }, - { - "name": "_3", - "nodeType": "YulIdentifier", - "src": "1425:2:34" - } - ], - "functionName": { - "name": "copy_memory_to_memory", - "nodeType": "YulIdentifier", - "src": "1373:21:34" - }, - "nodeType": "YulFunctionCall", - "src": "1373:55:34" - }, - "nodeType": "YulExpressionStatement", - "src": "1373:55:34" - }, - { - "nodeType": "YulAssignment", - "src": "1437:16:34", - "value": { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "1447:6:34" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "1437:6:34" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_addresst_bytes_memory_ptr_fromMemory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "474:9:34", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "485:7:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "497:6:34", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "505:6:34", - "type": "" - } - ], - "src": "409:1050:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1583:262:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1600:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1611:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1593:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "1593:21:34" - }, - "nodeType": "YulExpressionStatement", - "src": "1593:21:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1623:27:34", - "value": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1643:6:34" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "1637:5:34" - }, - "nodeType": "YulFunctionCall", - "src": "1637:13:34" - }, - "variables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "1627:6:34", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1670:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1681:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1666:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1666:18:34" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "1686:6:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1659:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "1659:34:34" - }, - "nodeType": "YulExpressionStatement", - "src": "1659:34:34" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1728:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1736:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1724:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1724:15:34" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1745:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1756:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1741:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1741:18:34" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "1761:6:34" - } - ], - "functionName": { - "name": "copy_memory_to_memory", - "nodeType": "YulIdentifier", - "src": "1702:21:34" - }, - "nodeType": "YulFunctionCall", - "src": "1702:66:34" - }, - "nodeType": "YulExpressionStatement", - "src": "1702:66:34" - }, - { - "nodeType": "YulAssignment", - "src": "1777:62:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1793:9:34" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "1812:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1820:2:34", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1808:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1808:15:34" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1829:2:34", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "1825:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1825:7:34" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "1804:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1804:29:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1789:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1789:45:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1836:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1785:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1785:54:34" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "1777:4:34" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_bytes_memory_ptr__to_t_bytes_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "1552:9:34", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "1563:6:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "1574:4:34", - "type": "" - } - ], - "src": "1464:381:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1987:137:34", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "1997:27:34", - "value": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "2017:6:34" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "2011:5:34" - }, - "nodeType": "YulFunctionCall", - "src": "2011:13:34" - }, - "variables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "2001:6:34", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "2059:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2067:4:34", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2055:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "2055:17:34" - }, - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "2074:3:34" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "2079:6:34" - } - ], - "functionName": { - "name": "copy_memory_to_memory", - "nodeType": "YulIdentifier", - "src": "2033:21:34" - }, - "nodeType": "YulFunctionCall", - "src": "2033:53:34" - }, - "nodeType": "YulExpressionStatement", - "src": "2033:53:34" - }, - { - "nodeType": "YulAssignment", - "src": "2095:23:34", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "2106:3:34" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "2111:6:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2102:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "2102:16:34" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "2095:3:34" - } - ] - } - ] - }, - "name": "abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "1963:3:34", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "1968:6:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "1979:3:34", - "type": "" - } - ], - "src": "1850:274:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2210:103:34", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "2256:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2265:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2268:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "2258:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "2258:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "2258:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "2231:7:34" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2240:9:34" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "2227:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "2227:23:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2252:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "2223:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "2223:32:34" - }, - "nodeType": "YulIf", - "src": "2220:52:34" - }, - { - "nodeType": "YulAssignment", - "src": "2281:26:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2297:9:34" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "2291:5:34" - }, - "nodeType": "YulFunctionCall", - "src": "2291:16:34" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "2281:6:34" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_bytes32_fromMemory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "2176:9:34", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "2187:7:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "2199:6:34", - "type": "" - } - ], - "src": "2129:184:34" - } - ] - }, - "contents": "{\n { }\n function panic_error_0x41()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x41)\n revert(0, 0x24)\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 abi_decode_tuple_t_addresst_bytes_memory_ptr_fromMemory(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n let value := mload(headStart)\n if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n value0 := value\n let offset := mload(add(headStart, 32))\n let _1 := sub(shl(64, 1), 1)\n if gt(offset, _1) { revert(0, 0) }\n let _2 := add(headStart, offset)\n if iszero(slt(add(_2, 0x1f), dataEnd)) { revert(0, 0) }\n let _3 := mload(_2)\n if gt(_3, _1) { panic_error_0x41() }\n let _4 := not(31)\n let memPtr := mload(64)\n let newFreePtr := add(memPtr, and(add(and(add(_3, 0x1f), _4), 63), _4))\n if or(gt(newFreePtr, _1), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n mstore(memPtr, _3)\n if gt(add(add(_2, _3), 32), dataEnd) { revert(0, 0) }\n copy_memory_to_memory(add(_2, 32), add(memPtr, 32), _3)\n value1 := memPtr\n }\n function abi_encode_tuple_t_bytes_memory_ptr__to_t_bytes_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n {\n mstore(headStart, 32)\n let length := mload(value0)\n mstore(add(headStart, 32), length)\n copy_memory_to_memory(add(value0, 32), add(headStart, 64), length)\n tail := add(add(headStart, and(add(length, 31), not(31))), 64)\n }\n function abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value0) -> end\n {\n let length := mload(value0)\n copy_memory_to_memory(add(value0, 0x20), pos, length)\n end := add(pos, length)\n }\n function abi_decode_tuple_t_bytes32_fromMemory(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n value0 := mload(headStart)\n }\n}", - "id": 34, - "language": "Yul", - "name": "#utility.yul" - } - ], - "linkReferences": {}, - "object": "608060405234801561001057600080fd5b5060405161054e38038061054e83398101604081905261002f91610234565b8181817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55337f02016836a56b71f0d02689e69e326f4f4c1b9057164ef592671cf0d37c8040c0556000826001600160a01b0316639ded06df836040516024016100999190610302565b6040516020818303038152906040529060e01b6020820180516001600160e01b0383818316178352505050506040516100d29190610335565b600060405180830381855af49150503d806000811461010d576040519150601f19603f3d011682016040523d82523d6000602084013e610112565b606091505b5050905080610134576040516397905dfb60e01b815260040160405180910390fd5b5050507ffaa2f015f2ce5aee225904728de2def86eb8837491efd21f1a04fc20d8e923f6826001600160a01b0316638291286c6040518163ffffffff1660e01b815260040160206040518083038186803b15801561019157600080fd5b505afa1580156101a5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101c99190610351565b146101e75760405163340aafcd60e11b815260040160405180910390fd5b505061036a565b634e487b7160e01b600052604160045260246000fd5b60005b8381101561021f578181015183820152602001610207565b8381111561022e576000848401525b50505050565b6000806040838503121561024757600080fd5b82516001600160a01b038116811461025e57600080fd5b60208401519092506001600160401b038082111561027b57600080fd5b818501915085601f83011261028f57600080fd5b8151818111156102a1576102a16101ee565b604051601f8201601f19908116603f011681019083821181831017156102c9576102c96101ee565b816040528281528860208487010111156102e257600080fd5b6102f3836020830160208801610204565b80955050505050509250929050565b6020815260008251806020840152610321816040850160208701610204565b601f01601f19169190910160400192915050565b60008251610347818460208701610204565b9190910192915050565b60006020828403121561036357600080fd5b5051919050565b6101d5806103796000396000f3fe60806040526004361061002d5760003560e01c80635c60da1b146100b45780639ded06df1461010c57610064565b36610064576040517f3733483400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600061008e7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b90503660008037600080366000845af43d6000803e8080156100af573d6000f35b3d6000fd5b3480156100c057600080fd5b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5460405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b34801561011857600080fd5b5061012b61012736600461012d565b5050565b005b6000806020838503121561014057600080fd5b823567ffffffffffffffff8082111561015857600080fd5b818501915085601f83011261016c57600080fd5b81358181111561017b57600080fd5b86602082850101111561018d57600080fd5b6020929092019691955090935050505056fea2646970667358221220facda001717d5fbfadf676f64c894d3384f01561c382842ff2efc0bbc1c224df64736f6c63430008090033", - "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH2 0x54E CODESIZE SUB DUP1 PUSH2 0x54E DUP4 CODECOPY DUP2 ADD PUSH1 0x40 DUP2 SWAP1 MSTORE PUSH2 0x2F SWAP2 PUSH2 0x234 JUMP JUMPDEST DUP2 DUP2 DUP2 PUSH32 0x360894A13BA1A3210667C828492DB98DCA3E2076CC3735A920A3CA505D382BBC SSTORE CALLER PUSH32 0x2016836A56B71F0D02689E69E326F4F4C1B9057164EF592671CF0D37C8040C0 SSTORE PUSH1 0x0 DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x9DED06DF DUP4 PUSH1 0x40 MLOAD PUSH1 0x24 ADD PUSH2 0x99 SWAP2 SWAP1 PUSH2 0x302 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE SWAP1 PUSH1 0xE0 SHL PUSH1 0x20 DUP3 ADD DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB DUP4 DUP2 DUP4 AND OR DUP4 MSTORE POP POP POP POP PUSH1 0x40 MLOAD PUSH2 0xD2 SWAP2 SWAP1 PUSH2 0x335 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 GAS DELEGATECALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x10D JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x112 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP POP SWAP1 POP DUP1 PUSH2 0x134 JUMPI PUSH1 0x40 MLOAD PUSH4 0x97905DFB PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP POP POP PUSH32 0xFAA2F015F2CE5AEE225904728DE2DEF86EB8837491EFD21F1A04FC20D8E923F6 DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x8291286C 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 0x191 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1A5 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1C9 SWAP2 SWAP1 PUSH2 0x351 JUMP JUMPDEST EQ PUSH2 0x1E7 JUMPI PUSH1 0x40 MLOAD PUSH4 0x340AAFCD PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP POP PUSH2 0x36A JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x21F JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x207 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x22E JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x247 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x25E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x20 DUP5 ADD MLOAD SWAP1 SWAP3 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x27B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP6 ADD SWAP2 POP DUP6 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x28F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD DUP2 DUP2 GT ISZERO PUSH2 0x2A1 JUMPI PUSH2 0x2A1 PUSH2 0x1EE JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT SWAP1 DUP2 AND PUSH1 0x3F ADD AND DUP2 ADD SWAP1 DUP4 DUP3 GT DUP2 DUP4 LT OR ISZERO PUSH2 0x2C9 JUMPI PUSH2 0x2C9 PUSH2 0x1EE JUMP JUMPDEST DUP2 PUSH1 0x40 MSTORE DUP3 DUP2 MSTORE DUP9 PUSH1 0x20 DUP5 DUP8 ADD ADD GT ISZERO PUSH2 0x2E2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2F3 DUP4 PUSH1 0x20 DUP4 ADD PUSH1 0x20 DUP9 ADD PUSH2 0x204 JUMP JUMPDEST DUP1 SWAP6 POP POP POP POP POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 DUP3 MLOAD DUP1 PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x321 DUP2 PUSH1 0x40 DUP6 ADD PUSH1 0x20 DUP8 ADD PUSH2 0x204 JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP2 SWAP1 SWAP2 ADD PUSH1 0x40 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 MLOAD PUSH2 0x347 DUP2 DUP5 PUSH1 0x20 DUP8 ADD PUSH2 0x204 JUMP JUMPDEST SWAP2 SWAP1 SWAP2 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x363 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1D5 DUP1 PUSH2 0x379 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x2D JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x5C60DA1B EQ PUSH2 0xB4 JUMPI DUP1 PUSH4 0x9DED06DF EQ PUSH2 0x10C JUMPI PUSH2 0x64 JUMP JUMPDEST CALLDATASIZE PUSH2 0x64 JUMPI PUSH1 0x40 MLOAD PUSH32 0x3733483400000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x8E PUSH32 0x360894A13BA1A3210667C828492DB98DCA3E2076CC3735A920A3CA505D382BBC SLOAD SWAP1 JUMP JUMPDEST SWAP1 POP CALLDATASIZE PUSH1 0x0 DUP1 CALLDATACOPY PUSH1 0x0 DUP1 CALLDATASIZE PUSH1 0x0 DUP5 GAS DELEGATECALL RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY DUP1 DUP1 ISZERO PUSH2 0xAF JUMPI RETURNDATASIZE PUSH1 0x0 RETURN JUMPDEST RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH32 0x360894A13BA1A3210667C828492DB98DCA3E2076CC3735A920A3CA505D382BBC SLOAD PUSH1 0x40 MLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x118 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x12B PUSH2 0x127 CALLDATASIZE PUSH1 0x4 PUSH2 0x12D JUMP JUMPDEST POP POP JUMP JUMPDEST STOP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x20 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x140 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x158 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP6 ADD SWAP2 POP DUP6 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x16C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD DUP2 DUP2 GT ISZERO PUSH2 0x17B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP7 PUSH1 0x20 DUP3 DUP6 ADD ADD GT ISZERO PUSH2 0x18D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x20 SWAP3 SWAP1 SWAP3 ADD SWAP7 SWAP2 SWAP6 POP SWAP1 SWAP4 POP POP POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 STATICCALL 0xCD LOG0 ADD PUSH18 0x7D5FBFADF676F64C894D3384F01561C38284 0x2F CALLCODE 0xEF 0xC0 0xBB 0xC1 0xC2 0x24 0xDF PUSH5 0x736F6C6343 STOP ADDMOD MULMOD STOP CALLER ", - "sourceMap": "162:284:14:-:0;;;208:236;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;278:21;301:6;683:21:29;661:20;654:51;738:8;725:11;718:29;826:12;844:21;-1:-1:-1;;;;;844:34:29;963:10;975:6;940:42;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;940:42:29;;;;;;;;;;;844:148;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;825:167;;;1008:7;1003:34;;1024:13;;-1:-1:-1;;;1024:13:29;;;;;;;;;;;1003:34;565:479;501:543;;374:31:14::1;335:21;-1:-1:-1::0;;;;;323:45:14::1;;:47;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:82;319:118;;414:23;;-1:-1:-1::0;;;414:23:14::1;;;;;;;;;;;319:118;208:236:::0;;162:284;;14:127:34;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:258;218:1;228:113;242:6;239:1;236:13;228:113;;;318:11;;;312:18;299:11;;;292:39;264:2;257:10;228:113;;;359:6;356:1;353:13;350:48;;;394:1;385:6;380:3;376:16;369:27;350:48;;146:258;;;:::o;409:1050::-;497:6;505;558:2;546:9;537:7;533:23;529:32;526:52;;;574:1;571;564:12;526:52;600:16;;-1:-1:-1;;;;;645:31:34;;635:42;;625:70;;691:1;688;681:12;625:70;763:2;748:18;;742:25;714:5;;-1:-1:-1;;;;;;816:14:34;;;813:34;;;843:1;840;833:12;813:34;881:6;870:9;866:22;856:32;;926:7;919:4;915:2;911:13;907:27;897:55;;948:1;945;938:12;897:55;977:2;971:9;999:2;995;992:10;989:36;;;1005:18;;:::i;:::-;1080:2;1074:9;1048:2;1134:13;;-1:-1:-1;;1130:22:34;;;1154:2;1126:31;1122:40;1110:53;;;1178:18;;;1198:22;;;1175:46;1172:72;;;1224:18;;:::i;:::-;1264:10;1260:2;1253:22;1299:2;1291:6;1284:18;1339:7;1334:2;1329;1325;1321:11;1317:20;1314:33;1311:53;;;1360:1;1357;1350:12;1311:53;1373:55;1425:2;1420;1412:6;1408:15;1403:2;1399;1395:11;1373:55;:::i;:::-;1447:6;1437:16;;;;;;;409:1050;;;;;:::o;1464:381::-;1611:2;1600:9;1593:21;1574:4;1643:6;1637:13;1686:6;1681:2;1670:9;1666:18;1659:34;1702:66;1761:6;1756:2;1745:9;1741:18;1736:2;1728:6;1724:15;1702:66;:::i;:::-;1829:2;1808:15;-1:-1:-1;;1804:29:34;1789:45;;;;1836:2;1785:54;;1464:381;-1:-1:-1;;1464:381:34:o;1850:274::-;1979:3;2017:6;2011:13;2033:53;2079:6;2074:3;2067:4;2059:6;2055:17;2033:53;:::i;:::-;2102:16;;;;;1850:274;-1:-1:-1;;1850:274:34:o;2129:184::-;2199:6;2252:2;2240:9;2231:7;2227:23;2223:32;2220:52;;;2268:1;2265;2258:12;2220:52;-1:-1:-1;2291:16:34;;2129:184;-1:-1:-1;2129:184:34:o;:::-;162:284:14;;;;;;" - }, - "deployedBytecode": { - "functionDebugData": { - "@_6044": { - "entryPoint": null, - "id": 6044, - "parameterSlots": 0, - "returnSlots": 0 - }, - "@_6051": { - "entryPoint": null, - "id": 6051, - "parameterSlots": 0, - "returnSlots": 0 - }, - "@implementation_6028": { - "entryPoint": null, - "id": 6028, - "parameterSlots": 0, - "returnSlots": 1 - }, - "@setup_6034": { - "entryPoint": null, - "id": 6034, - "parameterSlots": 2, - "returnSlots": 0 - }, - "abi_decode_tuple_t_bytes_calldata_ptr": { - "entryPoint": 301, - "id": null, - "parameterSlots": 2, - "returnSlots": 2 - }, - "abi_encode_tuple_t_address__to_t_address__fromStack_reversed": { - "entryPoint": null, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - } - }, - "generatedSources": [ - { - "ast": { - "nodeType": "YulBlock", - "src": "0:838:34", - "statements": [ - { - "nodeType": "YulBlock", - "src": "6:3:34", - "statements": [] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "115:125:34", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "125:26:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "137:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "148:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "133:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "133:18:34" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "125:4:34" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "167:9:34" - }, - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "182:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "190:42:34", - "type": "", - "value": "0xffffffffffffffffffffffffffffffffffffffff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "178:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "178:55:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "160:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "160:74:34" - }, - "nodeType": "YulExpressionStatement", - "src": "160:74:34" - } - ] - }, - "name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "84:9:34", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "95:6:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "106:4:34", - "type": "" - } - ], - "src": "14:226:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "334:502:34", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "380:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "389:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "392:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "382:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "382:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "382:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "355:7:34" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "364:9:34" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "351:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "351:23:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "376:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "347:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "347:32:34" - }, - "nodeType": "YulIf", - "src": "344:52:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "405:37:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "432:9:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "419:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "419:23:34" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "409:6:34", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "451:28:34", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "461:18:34", - "type": "", - "value": "0xffffffffffffffff" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "455:2:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "506:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "515:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "518:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "508:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "508:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "508:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "494:6:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "502:2:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "491:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "491:14:34" - }, - "nodeType": "YulIf", - "src": "488:34:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "531:32:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "545:9:34" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "556:6:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "541:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "541:22:34" - }, - "variables": [ - { - "name": "_2", - "nodeType": "YulTypedName", - "src": "535:2:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "611:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "620:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "623:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "613:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "613:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "613:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "590:2:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "594:4:34", - "type": "", - "value": "0x1f" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "586:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "586:13:34" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "601:7:34" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "582:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "582:27:34" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "575:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "575:35:34" - }, - "nodeType": "YulIf", - "src": "572:55:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "636:30:34", - "value": { - "arguments": [ - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "663:2:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "650:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "650:16:34" - }, - "variables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "640:6:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "693:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "702:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "705:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "695:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "695:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "695:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "681:6:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "689:2:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "678:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "678:14:34" - }, - "nodeType": "YulIf", - "src": "675:34:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "759:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "768:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "771:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "761:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "761:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "761:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "732:2:34" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "736:6:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "728:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "728:15:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "745:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "724:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "724:24:34" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "750:7:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "721:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "721:37:34" - }, - "nodeType": "YulIf", - "src": "718:57:34" - }, - { - "nodeType": "YulAssignment", - "src": "784:21:34", - "value": { - "arguments": [ - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "798:2:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "802:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "794:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "794:11:34" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "784:6:34" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "814:16:34", - "value": { - "name": "length", - "nodeType": "YulIdentifier", - "src": "824:6:34" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "814:6:34" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_bytes_calldata_ptr", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "292:9:34", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "303:7:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "315:6:34", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "323:6:34", - "type": "" - } - ], - "src": "245:591:34" - } - ] - }, - "contents": "{\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_decode_tuple_t_bytes_calldata_ptr(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let offset := calldataload(headStart)\n let _1 := 0xffffffffffffffff\n if gt(offset, _1) { revert(0, 0) }\n let _2 := add(headStart, offset)\n if iszero(slt(add(_2, 0x1f), dataEnd)) { revert(0, 0) }\n let length := calldataload(_2)\n if gt(length, _1) { revert(0, 0) }\n if gt(add(add(_2, length), 32), dataEnd) { revert(0, 0) }\n value0 := add(_2, 32)\n value1 := length\n }\n}", - "id": 34, - "language": "Yul", - "name": "#utility.yul" - } - ], - "immutableReferences": {}, - "linkReferences": {}, - "object": "60806040526004361061002d5760003560e01c80635c60da1b146100b45780639ded06df1461010c57610064565b36610064576040517f3733483400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600061008e7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b90503660008037600080366000845af43d6000803e8080156100af573d6000f35b3d6000fd5b3480156100c057600080fd5b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5460405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b34801561011857600080fd5b5061012b61012736600461012d565b5050565b005b6000806020838503121561014057600080fd5b823567ffffffffffffffff8082111561015857600080fd5b818501915085601f83011261016c57600080fd5b81358181111561017b57600080fd5b86602082850101111561018d57600080fd5b6020929092019691955090935050505056fea2646970667358221220facda001717d5fbfadf676f64c894d3384f01561c382842ff2efc0bbc1c224df64736f6c63430008090033", - "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x2D JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x5C60DA1B EQ PUSH2 0xB4 JUMPI DUP1 PUSH4 0x9DED06DF EQ PUSH2 0x10C JUMPI PUSH2 0x64 JUMP JUMPDEST CALLDATASIZE PUSH2 0x64 JUMPI PUSH1 0x40 MLOAD PUSH32 0x3733483400000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x8E PUSH32 0x360894A13BA1A3210667C828492DB98DCA3E2076CC3735A920A3CA505D382BBC SLOAD SWAP1 JUMP JUMPDEST SWAP1 POP CALLDATASIZE PUSH1 0x0 DUP1 CALLDATACOPY PUSH1 0x0 DUP1 CALLDATASIZE PUSH1 0x0 DUP5 GAS DELEGATECALL RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY DUP1 DUP1 ISZERO PUSH2 0xAF JUMPI RETURNDATASIZE PUSH1 0x0 RETURN JUMPDEST RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH32 0x360894A13BA1A3210667C828492DB98DCA3E2076CC3735A920A3CA505D382BBC SLOAD PUSH1 0x40 MLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x118 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x12B PUSH2 0x127 CALLDATASIZE PUSH1 0x4 PUSH2 0x12D JUMP JUMPDEST POP POP JUMP JUMPDEST STOP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x20 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x140 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x158 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP6 ADD SWAP2 POP DUP6 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x16C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD DUP2 DUP2 GT ISZERO PUSH2 0x17B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP7 PUSH1 0x20 DUP3 DUP6 ADD ADD GT ISZERO PUSH2 0x18D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x20 SWAP3 SWAP1 SWAP3 ADD SWAP7 SWAP2 SWAP6 POP SWAP1 SWAP4 POP POP POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 STATICCALL 0xCD LOG0 ADD PUSH18 0x7D5FBFADF676F64C894D3384F01561C38284 0x2F CALLCODE 0xEF 0xC0 0xBB 0xC1 0xC2 0x24 0xDF PUSH5 0x736F6C6343 STOP ADDMOD MULMOD STOP CALLER ", - "sourceMap": "162:284:14:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;2033:18:29;;;;;;;;;;;;;;162:284:14;1470:22:29;1495:16;1236:20;1230:27;;1050:223;1495:16;1470:41;;1619:14;1616:1;1613;1600:34;1720:1;1717;1701:14;1698:1;1682:14;1675:5;1662:60;1756:16;1753:1;1750;1735:38;1794:6;1813:66;;;;1928:16;1925:1;1918:27;1813:66;1848:16;1845:1;1838:27;1050:223;;;;;;;;;;-1:-1:-1;1236:20:29;1230:27;1050:223;;190:42:34;178:55;;;160:74;;148:2;133:18;1050:223:29;;;;;;;1328:45;;;;;;;;;;-1:-1:-1;1328:45:29;;;;;:::i;:::-;;;;;;245:591:34;315:6;323;376:2;364:9;355:7;351:23;347:32;344:52;;;392:1;389;382:12;344:52;432:9;419:23;461:18;502:2;494:6;491:14;488:34;;;518:1;515;508:12;488:34;556:6;545:9;541:22;531:32;;601:7;594:4;590:2;586:13;582:27;572:55;;623:1;620;613:12;572:55;663:2;650:16;689:2;681:6;678:14;675:34;;;705:1;702;695:12;675:34;750:7;745:2;736:6;732:2;728:15;724:24;721:37;718:57;;;771:1;768;761:12;718:57;802:2;794:11;;;;;824:6;;-1:-1:-1;245:591:34;;-1:-1:-1;;;;245:591:34:o" - }, - "methodIdentifiers": { - "implementation()": "5c60da1b", - "setup(bytes)": "9ded06df" - } - }, - "metadata": "{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"implementationAddress\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"params\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"EtherNotAccepted\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidImplementation\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SetupFailed\",\"type\":\"error\"},{\"stateMutability\":\"payable\",\"type\":\"fallback\"},{\"inputs\":[],\"name\":\"implementation\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"implementation_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"setup\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@axelar-network/axelar-cgp-solidity/contracts/gas-service/AxelarGasServiceProxy.sol\":\"AxelarGasServiceProxy\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1000},\"remappings\":[]},\"sources\":{\"@axelar-network/axelar-cgp-solidity/contracts/gas-service/AxelarGasServiceProxy.sol\":{\"keccak256\":\"0x1ed5ad71281551efefc9773de4eefe72c5de2373eae51c008e7b1eeec329a0e1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5ff20ff5a7d51993bf1277af62846203c769811fa58c0b4c56a78374378dbf67\",\"dweb:/ipfs/QmPnQntuUifrp5eLykUpsdnxccSb9G5kjJCocX3G6PwyAn\"]},\"@axelar-network/axelar-cgp-solidity/contracts/interfaces/IUpgradable.sol\":{\"keccak256\":\"0x47d64169b4d38921c7ee78feecc75f3eb48246d28a5c6a5f24a1ab1d7031e344\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://56ab6a5e6464a29afff81cb57fdbb812c5574b545b549535427c2371950389fc\",\"dweb:/ipfs/QmW1joAce7d54PnP7RjWKVrvsqGMDHozELLFEKC1A6ctNe\"]},\"@axelar-network/axelar-cgp-solidity/contracts/util/Proxy.sol\":{\"keccak256\":\"0xaa7d7d68fd30087be6810060e693f3fabc9edbe4a21426d34287f53bcb072724\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd9c4c1cbaf148b29b03a8ff5eb061b6795ef0b9107d8894e8b64f84c0966a9c\",\"dweb:/ipfs/QmUtHMTFyQcwb7W4X2MzYRaazD3h59Ctz7oQ5JmrBaHbNZ\"]}},\"version\":1}" - } - }, - "@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarAuth.sol": { - "IAxelarAuth": { - "abi": [ - { - "inputs": [], - "name": "InvalidOwner", - "type": "error" - }, - { - "inputs": [], - "name": "NotOwner", - "type": "error" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "params", - "type": "bytes" - } - ], - "name": "transferOperatorship", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "messageHash", - "type": "bytes32" - }, - { - "internalType": "bytes", - "name": "proof", - "type": "bytes" - } - ], - "name": "validateProof", - "outputs": [ - { - "internalType": "bool", - "name": "currentOperators", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "evm": { - "bytecode": { - "functionDebugData": {}, - "generatedSources": [], - "linkReferences": {}, - "object": "", - "opcodes": "", - "sourceMap": "" - }, - "deployedBytecode": { - "functionDebugData": {}, - "generatedSources": [], - "immutableReferences": {}, - "linkReferences": {}, - "object": "", - "opcodes": "", - "sourceMap": "" - }, - "methodIdentifiers": { - "owner()": "8da5cb5b", - "transferOperatorship(bytes)": "d289d1cb", - "transferOwnership(address)": "f2fde38b", - "validateProof(bytes32,bytes)": "73e3d66a" - } - }, - "metadata": "{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"InvalidOwner\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotOwner\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"params\",\"type\":\"bytes\"}],\"name\":\"transferOperatorship\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"messageHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"proof\",\"type\":\"bytes\"}],\"name\":\"validateProof\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"currentOperators\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarAuth.sol\":\"IAxelarAuth\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1000},\"remappings\":[]},\"sources\":{\"@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarAuth.sol\":{\"keccak256\":\"0x53c03308ec456c41f8f5f0b181a61bfab8a1162d4373a84cbeecddaeb629f836\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://54b4b3137dcd827929b82c62f18cb85fcfb086845a5a359162c5cd8765d24f4d\",\"dweb:/ipfs/QmWQX2YiqehDvvMi5fVn5rJnet4Py9k5vP2Uy2mVWQ6noB\"]},\"@axelar-network/axelar-cgp-solidity/contracts/interfaces/IOwnable.sol\":{\"keccak256\":\"0x7a6e3ad6c339fc3d5a3f16ab1778cfae2f6b38f4c1a100b9686cf05b4bceb408\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d3801fdbd1c5cbfc105703b0da12051f5d9e17d38a4768a79fd5110cfd8712b8\",\"dweb:/ipfs/QmUnTmkpxTcbebnjDVNkfhEPRnyLfnPMEnAh53zKeZPgj9\"]}},\"version\":1}" - } - }, - "@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarAuthMultisig.sol": { - "IAxelarAuthMultisig": { - "abi": [ - { - "inputs": [], - "name": "InvalidOwner", - "type": "error" - }, - { - "inputs": [], - "name": "NotOwner", - "type": "error" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address[]", - "name": "newOperators", - "type": "address[]" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "newThreshold", - "type": "uint256" - } - ], - "name": "OperatorshipTransferred", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "inputs": [], - "name": "currentEpoch", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "hash", - "type": "bytes32" - } - ], - "name": "epochForHash", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - } - ], - "name": "hashForEpoch", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "params", - "type": "bytes" - } - ], - "name": "transferOperatorship", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "messageHash", - "type": "bytes32" - }, - { - "internalType": "bytes", - "name": "proof", - "type": "bytes" - } - ], - "name": "validateProof", - "outputs": [ - { - "internalType": "bool", - "name": "currentOperators", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "evm": { - "bytecode": { - "functionDebugData": {}, - "generatedSources": [], - "linkReferences": {}, - "object": "", - "opcodes": "", - "sourceMap": "" - }, - "deployedBytecode": { - "functionDebugData": {}, - "generatedSources": [], - "immutableReferences": {}, - "linkReferences": {}, - "object": "", - "opcodes": "", - "sourceMap": "" - }, - "methodIdentifiers": { - "currentEpoch()": "76671808", - "epochForHash(bytes32)": "f1501c89", - "hashForEpoch(uint256)": "ba6742e5", - "owner()": "8da5cb5b", - "transferOperatorship(bytes)": "d289d1cb", - "transferOwnership(address)": "f2fde38b", - "validateProof(bytes32,bytes)": "73e3d66a" - } - }, - "metadata": "{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"InvalidOwner\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotOwner\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"newOperators\",\"type\":\"address[]\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newThreshold\",\"type\":\"uint256\"}],\"name\":\"OperatorshipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"currentEpoch\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"hash\",\"type\":\"bytes32\"}],\"name\":\"epochForHash\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"epoch\",\"type\":\"uint256\"}],\"name\":\"hashForEpoch\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"params\",\"type\":\"bytes\"}],\"name\":\"transferOperatorship\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"messageHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"proof\",\"type\":\"bytes\"}],\"name\":\"validateProof\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"currentOperators\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarAuthMultisig.sol\":\"IAxelarAuthMultisig\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1000},\"remappings\":[]},\"sources\":{\"@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarAuth.sol\":{\"keccak256\":\"0x53c03308ec456c41f8f5f0b181a61bfab8a1162d4373a84cbeecddaeb629f836\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://54b4b3137dcd827929b82c62f18cb85fcfb086845a5a359162c5cd8765d24f4d\",\"dweb:/ipfs/QmWQX2YiqehDvvMi5fVn5rJnet4Py9k5vP2Uy2mVWQ6noB\"]},\"@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarAuthMultisig.sol\":{\"keccak256\":\"0x557e2d764a0744c357afe9ca82aaca2c3776e81df79eec08bedab58ea8254ca5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://65018e9af0742fb7d97ca76e97fa001719b01ff1305268f9bc1add123f5514d0\",\"dweb:/ipfs/QmY3duyJPduTiZR4WfSnuAWzpCiuq1XeuwjbkVda9vzJNk\"]},\"@axelar-network/axelar-cgp-solidity/contracts/interfaces/IOwnable.sol\":{\"keccak256\":\"0x7a6e3ad6c339fc3d5a3f16ab1778cfae2f6b38f4c1a100b9686cf05b4bceb408\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d3801fdbd1c5cbfc105703b0da12051f5d9e17d38a4768a79fd5110cfd8712b8\",\"dweb:/ipfs/QmUnTmkpxTcbebnjDVNkfhEPRnyLfnPMEnAh53zKeZPgj9\"]}},\"version\":1}" - } - }, - "@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarExecutable.sol": { - "IAxelarExecutable": { - "abi": [ - { - "inputs": [], - "name": "NotApprovedByGateway", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "commandId", - "type": "bytes32" - }, - { - "internalType": "string", - "name": "sourceChain", - "type": "string" - }, - { - "internalType": "string", - "name": "sourceAddress", - "type": "string" - }, - { - "internalType": "bytes", - "name": "payload", - "type": "bytes" - } - ], - "name": "execute", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "commandId", - "type": "bytes32" - }, - { - "internalType": "string", - "name": "sourceChain", - "type": "string" - }, - { - "internalType": "string", - "name": "sourceAddress", - "type": "string" - }, - { - "internalType": "bytes", - "name": "payload", - "type": "bytes" - }, - { - "internalType": "string", - "name": "tokenSymbol", - "type": "string" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "executeWithToken", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "gateway", - "outputs": [ - { - "internalType": "contract IAxelarGateway", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "evm": { - "bytecode": { - "functionDebugData": {}, - "generatedSources": [], - "linkReferences": {}, - "object": "", - "opcodes": "", - "sourceMap": "" - }, - "deployedBytecode": { - "functionDebugData": {}, - "generatedSources": [], - "immutableReferences": {}, - "linkReferences": {}, - "object": "", - "opcodes": "", - "sourceMap": "" - }, - "methodIdentifiers": { - "execute(bytes32,string,string,bytes)": "49160658", - "executeWithToken(bytes32,string,string,bytes,string,uint256)": "1a98b2e0", - "gateway()": "116191b6" - } - }, - "metadata": "{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"NotApprovedByGateway\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"commandId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"sourceChain\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"sourceAddress\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"payload\",\"type\":\"bytes\"}],\"name\":\"execute\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"commandId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"sourceChain\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"sourceAddress\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"payload\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"tokenSymbol\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"executeWithToken\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"gateway\",\"outputs\":[{\"internalType\":\"contract IAxelarGateway\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarExecutable.sol\":\"IAxelarExecutable\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1000},\"remappings\":[]},\"sources\":{\"@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarExecutable.sol\":{\"keccak256\":\"0xda06c5d3145ef8848d9b90ede90ec1017efa93aea976f3da4dc267a424cdc9f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://896bdfcb40209eb4d49ff1f96658e6d4e2001ec8e58984764974fc7b2ac3e8f4\",\"dweb:/ipfs/QmeAmpyxfdxY1auBXMNL1DL5wZrLeZCEaXnrB9UFHZMKpX\"]},\"@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarGateway.sol\":{\"keccak256\":\"0x1ab75989d0869cf2b919b82aec52e75b1cd34395dcf78d99a6d852eb46432462\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://35d3164de1eba58778bb57c9495056e933551cde899ab2e4326dccf00c137e93\",\"dweb:/ipfs/QmYqH4jvacF3fuRqGhXZ1cLzkuBhBwp4qtNdV4uoa2NivG\"]}},\"version\":1}" - } - }, - "@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarGasService.sol": { - "IAxelarGasService": { - "abi": [ - { - "inputs": [], - "name": "InvalidCodeHash", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidImplementation", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidOwner", - "type": "error" - }, - { - "inputs": [], - "name": "NotOwner", - "type": "error" - }, - { - "inputs": [], - "name": "NotProxy", - "type": "error" - }, - { - "inputs": [], - "name": "NothingReceived", - "type": "error" - }, - { - "inputs": [], - "name": "SetupFailed", - "type": "error" - }, - { - "inputs": [], - "name": "TransferFailed", - "type": "error" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "txHash", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "logIndex", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "gasToken", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "gasFeeAmount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "refundAddress", - "type": "address" - } - ], - "name": "GasAdded", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "sourceAddress", - "type": "address" - }, - { - "indexed": false, - "internalType": "string", - "name": "destinationChain", - "type": "string" - }, - { - "indexed": false, - "internalType": "string", - "name": "destinationAddress", - "type": "string" - }, - { - "indexed": true, - "internalType": "bytes32", - "name": "payloadHash", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "address", - "name": "gasToken", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "gasFeeAmount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "refundAddress", - "type": "address" - } - ], - "name": "GasPaidForContractCall", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "sourceAddress", - "type": "address" - }, - { - "indexed": false, - "internalType": "string", - "name": "destinationChain", - "type": "string" - }, - { - "indexed": false, - "internalType": "string", - "name": "destinationAddress", - "type": "string" - }, - { - "indexed": true, - "internalType": "bytes32", - "name": "payloadHash", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "string", - "name": "symbol", - "type": "string" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "gasToken", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "gasFeeAmount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "refundAddress", - "type": "address" - } - ], - "name": "GasPaidForContractCallWithToken", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "txHash", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "logIndex", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "gasFeeAmount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "refundAddress", - "type": "address" - } - ], - "name": "NativeGasAdded", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "sourceAddress", - "type": "address" - }, - { - "indexed": false, - "internalType": "string", - "name": "destinationChain", - "type": "string" - }, - { - "indexed": false, - "internalType": "string", - "name": "destinationAddress", - "type": "string" - }, - { - "indexed": true, - "internalType": "bytes32", - "name": "payloadHash", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "gasFeeAmount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "refundAddress", - "type": "address" - } - ], - "name": "NativeGasPaidForContractCall", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "sourceAddress", - "type": "address" - }, - { - "indexed": false, - "internalType": "string", - "name": "destinationChain", - "type": "string" - }, - { - "indexed": false, - "internalType": "string", - "name": "destinationAddress", - "type": "string" - }, - { - "indexed": true, - "internalType": "bytes32", - "name": "payloadHash", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "string", - "name": "symbol", - "type": "string" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "gasFeeAmount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "refundAddress", - "type": "address" - } - ], - "name": "NativeGasPaidForContractCallWithToken", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "newImplementation", - "type": "address" - } - ], - "name": "Upgraded", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "txHash", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "txIndex", - "type": "uint256" - }, - { - "internalType": "address", - "name": "gasToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "gasFeeAmount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "refundAddress", - "type": "address" - } - ], - "name": "addGas", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "txHash", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "logIndex", - "type": "uint256" - }, - { - "internalType": "address", - "name": "refundAddress", - "type": "address" - } - ], - "name": "addNativeGas", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address payable", - "name": "receiver", - "type": "address" - }, - { - "internalType": "address[]", - "name": "tokens", - "type": "address[]" - } - ], - "name": "collectFees", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "contractId", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "internalType": "string", - "name": "destinationChain", - "type": "string" - }, - { - "internalType": "string", - "name": "destinationAddress", - "type": "string" - }, - { - "internalType": "bytes", - "name": "payload", - "type": "bytes" - }, - { - "internalType": "address", - "name": "gasToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "gasFeeAmount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "refundAddress", - "type": "address" - } - ], - "name": "payGasForContractCall", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "internalType": "string", - "name": "destinationChain", - "type": "string" - }, - { - "internalType": "string", - "name": "destinationAddress", - "type": "string" - }, - { - "internalType": "bytes", - "name": "payload", - "type": "bytes" - }, - { - "internalType": "string", - "name": "symbol", - "type": "string" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "gasToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "gasFeeAmount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "refundAddress", - "type": "address" - } - ], - "name": "payGasForContractCallWithToken", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "internalType": "string", - "name": "destinationChain", - "type": "string" - }, - { - "internalType": "string", - "name": "destinationAddress", - "type": "string" - }, - { - "internalType": "bytes", - "name": "payload", - "type": "bytes" - }, - { - "internalType": "address", - "name": "refundAddress", - "type": "address" - } - ], - "name": "payNativeGasForContractCall", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "internalType": "string", - "name": "destinationChain", - "type": "string" - }, - { - "internalType": "string", - "name": "destinationAddress", - "type": "string" - }, - { - "internalType": "bytes", - "name": "payload", - "type": "bytes" - }, - { - "internalType": "string", - "name": "symbol", - "type": "string" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "refundAddress", - "type": "address" - } - ], - "name": "payNativeGasForContractCallWithToken", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address payable", - "name": "receiver", - "type": "address" - }, - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "refund", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "setup", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newImplementation", - "type": "address" - }, - { - "internalType": "bytes32", - "name": "newImplementationCodeHash", - "type": "bytes32" - }, - { - "internalType": "bytes", - "name": "params", - "type": "bytes" - } - ], - "name": "upgrade", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "evm": { - "bytecode": { - "functionDebugData": {}, - "generatedSources": [], - "linkReferences": {}, - "object": "", - "opcodes": "", - "sourceMap": "" - }, - "deployedBytecode": { - "functionDebugData": {}, - "generatedSources": [], - "immutableReferences": {}, - "linkReferences": {}, - "object": "", - "opcodes": "", - "sourceMap": "" - }, - "methodIdentifiers": { - "addGas(bytes32,uint256,address,uint256,address)": "ab1999ba", - "addNativeGas(bytes32,uint256,address)": "cd433ada", - "collectFees(address,address[])": "da854d75", - "contractId()": "8291286c", - "owner()": "8da5cb5b", - "payGasForContractCall(address,string,string,bytes,address,uint256,address)": "fd09e3bd", - "payGasForContractCallWithToken(address,string,string,bytes,string,uint256,address,uint256,address)": "edb6b3a5", - "payNativeGasForContractCall(address,string,string,bytes,address)": "0c93e3bb", - "payNativeGasForContractCallWithToken(address,string,string,bytes,string,uint256,address)": "c62c2002", - "refund(address,address,uint256)": "82ad6f35", - "setup(bytes)": "9ded06df", - "upgrade(address,bytes32,bytes)": "a3499c73" - } - }, - "metadata": "{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"InvalidCodeHash\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidImplementation\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidOwner\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotOwner\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotProxy\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NothingReceived\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SetupFailed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TransferFailed\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"txHash\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"logIndex\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"gasToken\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"gasFeeAmount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"refundAddress\",\"type\":\"address\"}],\"name\":\"GasAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sourceAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"destinationChain\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"destinationAddress\",\"type\":\"string\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"payloadHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"gasToken\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"gasFeeAmount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"refundAddress\",\"type\":\"address\"}],\"name\":\"GasPaidForContractCall\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sourceAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"destinationChain\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"destinationAddress\",\"type\":\"string\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"payloadHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"gasToken\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"gasFeeAmount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"refundAddress\",\"type\":\"address\"}],\"name\":\"GasPaidForContractCallWithToken\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"txHash\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"logIndex\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"gasFeeAmount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"refundAddress\",\"type\":\"address\"}],\"name\":\"NativeGasAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sourceAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"destinationChain\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"destinationAddress\",\"type\":\"string\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"payloadHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"gasFeeAmount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"refundAddress\",\"type\":\"address\"}],\"name\":\"NativeGasPaidForContractCall\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sourceAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"destinationChain\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"destinationAddress\",\"type\":\"string\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"payloadHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"gasFeeAmount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"refundAddress\",\"type\":\"address\"}],\"name\":\"NativeGasPaidForContractCallWithToken\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"txHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"txIndex\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"gasToken\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"gasFeeAmount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"refundAddress\",\"type\":\"address\"}],\"name\":\"addGas\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"txHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"logIndex\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"refundAddress\",\"type\":\"address\"}],\"name\":\"addNativeGas\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address payable\",\"name\":\"receiver\",\"type\":\"address\"},{\"internalType\":\"address[]\",\"name\":\"tokens\",\"type\":\"address[]\"}],\"name\":\"collectFees\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"contractId\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"destinationChain\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"destinationAddress\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"payload\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"gasToken\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"gasFeeAmount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"refundAddress\",\"type\":\"address\"}],\"name\":\"payGasForContractCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"destinationChain\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"destinationAddress\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"payload\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"gasToken\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"gasFeeAmount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"refundAddress\",\"type\":\"address\"}],\"name\":\"payGasForContractCallWithToken\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"destinationChain\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"destinationAddress\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"payload\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"refundAddress\",\"type\":\"address\"}],\"name\":\"payNativeGasForContractCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"destinationChain\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"destinationAddress\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"payload\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"refundAddress\",\"type\":\"address\"}],\"name\":\"payNativeGasForContractCallWithToken\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address payable\",\"name\":\"receiver\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"refund\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"setup\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"newImplementationCodeHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"params\",\"type\":\"bytes\"}],\"name\":\"upgrade\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarGasService.sol\":\"IAxelarGasService\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1000},\"remappings\":[]},\"sources\":{\"@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarGasService.sol\":{\"keccak256\":\"0x4b334fc7688935dce33cdedca89d8cfd90dd49fef79c7f7c04d3c34b5b7a4a25\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ccce823d074846bb19c41a1576d290ec5dca5f9ec1069b7719aef6a03372ee5d\",\"dweb:/ipfs/QmZGnfVm2FEp7qxyQxgBQWKhCKVVaYtya5NX3EwqAe8B3M\"]},\"@axelar-network/axelar-cgp-solidity/contracts/interfaces/IUpgradable.sol\":{\"keccak256\":\"0x47d64169b4d38921c7ee78feecc75f3eb48246d28a5c6a5f24a1ab1d7031e344\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://56ab6a5e6464a29afff81cb57fdbb812c5574b545b549535427c2371950389fc\",\"dweb:/ipfs/QmW1joAce7d54PnP7RjWKVrvsqGMDHozELLFEKC1A6ctNe\"]}},\"version\":1}" - } - }, - "@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarGateway.sol": { - "IAxelarGateway": { - "abi": [ - { - "inputs": [ - { - "internalType": "string", - "name": "symbol", - "type": "string" - } - ], - "name": "BurnFailed", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "symbol", - "type": "string" - } - ], - "name": "ExceedDailyMintLimit", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidAmount", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidAuthModule", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidChainId", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidCodeHash", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidCommands", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidSetDailyMintLimitsParams", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidTokenDeployer", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "symbol", - "type": "string" - } - ], - "name": "MintFailed", - "type": "error" - }, - { - "inputs": [], - "name": "NotProxy", - "type": "error" - }, - { - "inputs": [], - "name": "NotSelf", - "type": "error" - }, - { - "inputs": [], - "name": "SetupFailed", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "symbol", - "type": "string" - } - ], - "name": "TokenAlreadyExists", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "token", - "type": "address" - } - ], - "name": "TokenContractDoesNotExist", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "symbol", - "type": "string" - } - ], - "name": "TokenDeployFailed", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "symbol", - "type": "string" - } - ], - "name": "TokenDoesNotExist", - "type": "error" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "indexed": false, - "internalType": "string", - "name": "destinationChain", - "type": "string" - }, - { - "indexed": false, - "internalType": "string", - "name": "destinationContractAddress", - "type": "string" - }, - { - "indexed": true, - "internalType": "bytes32", - "name": "payloadHash", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "bytes", - "name": "payload", - "type": "bytes" - } - ], - "name": "ContractCall", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "commandId", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "string", - "name": "sourceChain", - "type": "string" - }, - { - "indexed": false, - "internalType": "string", - "name": "sourceAddress", - "type": "string" - }, - { - "indexed": true, - "internalType": "address", - "name": "contractAddress", - "type": "address" - }, - { - "indexed": true, - "internalType": "bytes32", - "name": "payloadHash", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "bytes32", - "name": "sourceTxHash", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "sourceEventIndex", - "type": "uint256" - } - ], - "name": "ContractCallApproved", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "commandId", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "string", - "name": "sourceChain", - "type": "string" - }, - { - "indexed": false, - "internalType": "string", - "name": "sourceAddress", - "type": "string" - }, - { - "indexed": true, - "internalType": "address", - "name": "contractAddress", - "type": "address" - }, - { - "indexed": true, - "internalType": "bytes32", - "name": "payloadHash", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "string", - "name": "symbol", - "type": "string" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "bytes32", - "name": "sourceTxHash", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "sourceEventIndex", - "type": "uint256" - } - ], - "name": "ContractCallApprovedWithMint", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "indexed": false, - "internalType": "string", - "name": "destinationChain", - "type": "string" - }, - { - "indexed": false, - "internalType": "string", - "name": "destinationContractAddress", - "type": "string" - }, - { - "indexed": true, - "internalType": "bytes32", - "name": "payloadHash", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "bytes", - "name": "payload", - "type": "bytes" - }, - { - "indexed": false, - "internalType": "string", - "name": "symbol", - "type": "string" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "ContractCallWithToken", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "commandId", - "type": "bytes32" - } - ], - "name": "Executed", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "bytes", - "name": "newOperatorsData", - "type": "bytes" - } - ], - "name": "OperatorshipTransferred", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "string", - "name": "symbol", - "type": "string" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "limit", - "type": "uint256" - } - ], - "name": "TokenDailyMintLimitUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "string", - "name": "symbol", - "type": "string" - }, - { - "indexed": false, - "internalType": "address", - "name": "tokenAddresses", - "type": "address" - } - ], - "name": "TokenDeployed", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "indexed": false, - "internalType": "string", - "name": "destinationChain", - "type": "string" - }, - { - "indexed": false, - "internalType": "string", - "name": "destinationAddress", - "type": "string" - }, - { - "indexed": false, - "internalType": "string", - "name": "symbol", - "type": "string" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "TokenSent", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "implementation", - "type": "address" - } - ], - "name": "Upgraded", - "type": "event" - }, - { - "inputs": [], - "name": "adminEpoch", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - } - ], - "name": "adminThreshold", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - } - ], - "name": "admins", - "outputs": [ - { - "internalType": "address[]", - "name": "", - "type": "address[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "allTokensFrozen", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "destinationChain", - "type": "string" - }, - { - "internalType": "string", - "name": "contractAddress", - "type": "string" - }, - { - "internalType": "bytes", - "name": "payload", - "type": "bytes" - } - ], - "name": "callContract", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "destinationChain", - "type": "string" - }, - { - "internalType": "string", - "name": "contractAddress", - "type": "string" - }, - { - "internalType": "bytes", - "name": "payload", - "type": "bytes" - }, - { - "internalType": "string", - "name": "symbol", - "type": "string" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "callContractWithToken", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "input", - "type": "bytes" - } - ], - "name": "execute", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "implementation", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "commandId", - "type": "bytes32" - } - ], - "name": "isCommandExecuted", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "commandId", - "type": "bytes32" - }, - { - "internalType": "string", - "name": "sourceChain", - "type": "string" - }, - { - "internalType": "string", - "name": "sourceAddress", - "type": "string" - }, - { - "internalType": "address", - "name": "contractAddress", - "type": "address" - }, - { - "internalType": "bytes32", - "name": "payloadHash", - "type": "bytes32" - }, - { - "internalType": "string", - "name": "symbol", - "type": "string" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "isContractCallAndMintApproved", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "commandId", - "type": "bytes32" - }, - { - "internalType": "string", - "name": "sourceChain", - "type": "string" - }, - { - "internalType": "string", - "name": "sourceAddress", - "type": "string" - }, - { - "internalType": "address", - "name": "contractAddress", - "type": "address" - }, - { - "internalType": "bytes32", - "name": "payloadHash", - "type": "bytes32" - } - ], - "name": "isContractCallApproved", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "destinationChain", - "type": "string" - }, - { - "internalType": "string", - "name": "destinationAddress", - "type": "string" - }, - { - "internalType": "string", - "name": "symbol", - "type": "string" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "sendToken", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string[]", - "name": "symbols", - "type": "string[]" - }, - { - "internalType": "uint256[]", - "name": "limits", - "type": "uint256[]" - } - ], - "name": "setTokenDailyMintLimits", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "params", - "type": "bytes" - } - ], - "name": "setup", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "symbol", - "type": "string" - } - ], - "name": "tokenAddresses", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "symbol", - "type": "string" - } - ], - "name": "tokenDailyMintAmount", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "symbol", - "type": "string" - } - ], - "name": "tokenDailyMintLimit", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "symbol", - "type": "string" - } - ], - "name": "tokenFrozen", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newImplementation", - "type": "address" - }, - { - "internalType": "bytes32", - "name": "newImplementationCodeHash", - "type": "bytes32" - }, - { - "internalType": "bytes", - "name": "setupParams", - "type": "bytes" - } - ], - "name": "upgrade", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "commandId", - "type": "bytes32" - }, - { - "internalType": "string", - "name": "sourceChain", - "type": "string" - }, - { - "internalType": "string", - "name": "sourceAddress", - "type": "string" - }, - { - "internalType": "bytes32", - "name": "payloadHash", - "type": "bytes32" - } - ], - "name": "validateContractCall", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "commandId", - "type": "bytes32" - }, - { - "internalType": "string", - "name": "sourceChain", - "type": "string" - }, - { - "internalType": "string", - "name": "sourceAddress", - "type": "string" - }, - { - "internalType": "bytes32", - "name": "payloadHash", - "type": "bytes32" - }, - { - "internalType": "string", - "name": "symbol", - "type": "string" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "validateContractCallAndMint", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "evm": { - "bytecode": { - "functionDebugData": {}, - "generatedSources": [], - "linkReferences": {}, - "object": "", - "opcodes": "", - "sourceMap": "" - }, - "deployedBytecode": { - "functionDebugData": {}, - "generatedSources": [], - "immutableReferences": {}, - "linkReferences": {}, - "object": "", - "opcodes": "", - "sourceMap": "" - }, - "methodIdentifiers": { - "adminEpoch()": "364940d8", - "adminThreshold(uint256)": "88b30587", - "admins(uint256)": "14bfd6d0", - "allTokensFrozen()": "aa1e1f0a", - "callContract(string,string,bytes)": "1c92115f", - "callContractWithToken(string,string,bytes,string,uint256)": "b5417084", - "execute(bytes)": "09c5eabe", - "implementation()": "5c60da1b", - "isCommandExecuted(bytes32)": "d26ff210", - "isContractCallAndMintApproved(bytes32,string,string,address,bytes32,string,uint256)": "bc00c216", - "isContractCallApproved(bytes32,string,string,address,bytes32)": "f6a5f9f5", - "sendToken(string,string,string,uint256)": "26ef699d", - "setTokenDailyMintLimits(string[],uint256[])": "f6789c8c", - "setup(bytes)": "9ded06df", - "tokenAddresses(string)": "935b13f6", - "tokenDailyMintAmount(string)": "23275548", - "tokenDailyMintLimit(string)": "5dde8117", - "tokenFrozen(string)": "7b1b769e", - "upgrade(address,bytes32,bytes)": "a3499c73", - "validateContractCall(bytes32,string,string,bytes32)": "5f6970c3", - "validateContractCallAndMint(bytes32,string,string,bytes32,string,uint256)": "1876eed9" - } - }, - "metadata": "{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"}],\"name\":\"BurnFailed\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"}],\"name\":\"ExceedDailyMintLimit\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidAmount\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidAuthModule\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidChainId\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidCodeHash\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidCommands\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidSetDailyMintLimitsParams\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidTokenDeployer\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"}],\"name\":\"MintFailed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotProxy\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotSelf\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SetupFailed\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"}],\"name\":\"TokenAlreadyExists\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"TokenContractDoesNotExist\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"}],\"name\":\"TokenDeployFailed\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"}],\"name\":\"TokenDoesNotExist\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"destinationChain\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"destinationContractAddress\",\"type\":\"string\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"payloadHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"payload\",\"type\":\"bytes\"}],\"name\":\"ContractCall\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"commandId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"sourceChain\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"sourceAddress\",\"type\":\"string\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"payloadHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"sourceTxHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"sourceEventIndex\",\"type\":\"uint256\"}],\"name\":\"ContractCallApproved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"commandId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"sourceChain\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"sourceAddress\",\"type\":\"string\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"payloadHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"sourceTxHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"sourceEventIndex\",\"type\":\"uint256\"}],\"name\":\"ContractCallApprovedWithMint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"destinationChain\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"destinationContractAddress\",\"type\":\"string\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"payloadHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"payload\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"ContractCallWithToken\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"commandId\",\"type\":\"bytes32\"}],\"name\":\"Executed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"newOperatorsData\",\"type\":\"bytes\"}],\"name\":\"OperatorshipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"limit\",\"type\":\"uint256\"}],\"name\":\"TokenDailyMintLimitUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"tokenAddresses\",\"type\":\"address\"}],\"name\":\"TokenDeployed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"destinationChain\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"destinationAddress\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"TokenSent\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"adminEpoch\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"epoch\",\"type\":\"uint256\"}],\"name\":\"adminThreshold\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"epoch\",\"type\":\"uint256\"}],\"name\":\"admins\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"allTokensFrozen\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"destinationChain\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"contractAddress\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"payload\",\"type\":\"bytes\"}],\"name\":\"callContract\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"destinationChain\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"contractAddress\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"payload\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"callContractWithToken\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"input\",\"type\":\"bytes\"}],\"name\":\"execute\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"implementation\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"commandId\",\"type\":\"bytes32\"}],\"name\":\"isCommandExecuted\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"commandId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"sourceChain\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"sourceAddress\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"payloadHash\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"isContractCallAndMintApproved\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"commandId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"sourceChain\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"sourceAddress\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"payloadHash\",\"type\":\"bytes32\"}],\"name\":\"isContractCallApproved\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"destinationChain\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"destinationAddress\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"sendToken\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string[]\",\"name\":\"symbols\",\"type\":\"string[]\"},{\"internalType\":\"uint256[]\",\"name\":\"limits\",\"type\":\"uint256[]\"}],\"name\":\"setTokenDailyMintLimits\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"params\",\"type\":\"bytes\"}],\"name\":\"setup\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"}],\"name\":\"tokenAddresses\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"}],\"name\":\"tokenDailyMintAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"}],\"name\":\"tokenDailyMintLimit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"}],\"name\":\"tokenFrozen\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"newImplementationCodeHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"setupParams\",\"type\":\"bytes\"}],\"name\":\"upgrade\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"commandId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"sourceChain\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"sourceAddress\",\"type\":\"string\"},{\"internalType\":\"bytes32\",\"name\":\"payloadHash\",\"type\":\"bytes32\"}],\"name\":\"validateContractCall\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"commandId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"sourceChain\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"sourceAddress\",\"type\":\"string\"},{\"internalType\":\"bytes32\",\"name\":\"payloadHash\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"validateContractCallAndMint\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarGateway.sol\":\"IAxelarGateway\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1000},\"remappings\":[]},\"sources\":{\"@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarGateway.sol\":{\"keccak256\":\"0x1ab75989d0869cf2b919b82aec52e75b1cd34395dcf78d99a6d852eb46432462\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://35d3164de1eba58778bb57c9495056e933551cde899ab2e4326dccf00c137e93\",\"dweb:/ipfs/QmYqH4jvacF3fuRqGhXZ1cLzkuBhBwp4qtNdV4uoa2NivG\"]}},\"version\":1}" - } - }, - "@axelar-network/axelar-cgp-solidity/contracts/interfaces/IBurnableMintableCappedERC20.sol": { - "IBurnableMintableCappedERC20": { - "abi": [ - { - "inputs": [], - "name": "CapExceeded", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidAccount", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidOwner", - "type": "error" - }, - { - "inputs": [], - "name": "NotOwner", - "type": "error" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Approval", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "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": "DOMAIN_SEPARATOR", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "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": [ - { - "internalType": "bytes32", - "name": "salt", - "type": "bytes32" - } - ], - "name": "burn", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "burnFrom", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "cap", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "salt", - "type": "bytes32" - } - ], - "name": "depositAddress", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "mint", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "nonces", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "issuer", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "deadline", - "type": "uint256" - }, - { - "internalType": "uint8", - "name": "v", - "type": "uint8" - }, - { - "internalType": "bytes32", - "name": "r", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "s", - "type": "bytes32" - } - ], - "name": "permit", - "outputs": [], - "stateMutability": "nonpayable", - "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" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "evm": { - "bytecode": { - "functionDebugData": {}, - "generatedSources": [], - "linkReferences": {}, - "object": "", - "opcodes": "", - "sourceMap": "" - }, - "deployedBytecode": { - "functionDebugData": {}, - "generatedSources": [], - "immutableReferences": {}, - "linkReferences": {}, - "object": "", - "opcodes": "", - "sourceMap": "" - }, - "methodIdentifiers": { - "DOMAIN_SEPARATOR()": "3644e515", - "allowance(address,address)": "dd62ed3e", - "approve(address,uint256)": "095ea7b3", - "balanceOf(address)": "70a08231", - "burn(bytes32)": "08a1eee1", - "burnFrom(address,uint256)": "79cc6790", - "cap()": "355274ea", - "depositAddress(bytes32)": "31eecaf4", - "mint(address,uint256)": "40c10f19", - "nonces(address)": "7ecebe00", - "owner()": "8da5cb5b", - "permit(address,address,uint256,uint256,uint8,bytes32,bytes32)": "d505accf", - "totalSupply()": "18160ddd", - "transfer(address,uint256)": "a9059cbb", - "transferFrom(address,address,uint256)": "23b872dd", - "transferOwnership(address)": "f2fde38b" - } - }, - "metadata": "{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"CapExceeded\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidAccount\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidOwner\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotOwner\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"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\":\"DOMAIN_SEPARATOR\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"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\":[{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"}],\"name\":\"burn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"burnFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"cap\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"}],\"name\":\"depositAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"mint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"nonces\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"issuer\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"permit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"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\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. This value changes when {approve} or {transferFrom} are called.\"},\"approve(address,uint256)\":{\"details\":\"Sets `amount` as the allowance of `spender` over the caller's tokens. Returns a boolean value indicating whether the operation succeeded. IMPORTANT: Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 Emits an {Approval} event.\"},\"balanceOf(address)\":{\"details\":\"Returns the amount of tokens owned by `account`.\"},\"totalSupply()\":{\"details\":\"Returns the amount of tokens in existence.\"},\"transfer(address,uint256)\":{\"details\":\"Moves `amount` tokens from the caller's account to `recipient`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Moves `amount` tokens from `sender` to `recipient` using the allowance mechanism. `amount` is then deducted from the caller's allowance. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@axelar-network/axelar-cgp-solidity/contracts/interfaces/IBurnableMintableCappedERC20.sol\":\"IBurnableMintableCappedERC20\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1000},\"remappings\":[]},\"sources\":{\"@axelar-network/axelar-cgp-solidity/contracts/interfaces/IBurnableMintableCappedERC20.sol\":{\"keccak256\":\"0xc6c00f50351e67fbaf7e7b248392ebe32afac522beb1b494e03906cd4e88ad61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2352fe3bd79d78b4960b79dce04e5ff564d30c7348e80de9a8c7359b0a6aaec4\",\"dweb:/ipfs/QmaAv6xVJZ1NWUB959iwytgNcLffqfwvFPu8FskTBJ1SmB\"]},\"@axelar-network/axelar-cgp-solidity/contracts/interfaces/IERC20.sol\":{\"keccak256\":\"0x018cf796d80d65945fa85fa4fb49d926481ffe9316564ea251ee14836d661635\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://677295d77a7b45e0d06fc389f859bb39e1175e16a75e141f0ce06743258178d3\",\"dweb:/ipfs/QmdoJiu5PJ6D3NcZVGHVGCFVW8WkQbTdqok1AoTcG3NmYR\"]},\"@axelar-network/axelar-cgp-solidity/contracts/interfaces/IERC20Burn.sol\":{\"keccak256\":\"0x50a310a5be7aa6bc95085b1173291543c9e17b0f86b4a38f535cce28864a4627\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://849b5dd44f16d0d803806bd2bdb8219b61d6a10f269683cff888d6db4778e14f\",\"dweb:/ipfs/QmcvYH2uCZY9zmPWS6nG9YHt3XdncgnepMhhgbEmdv5KK7\"]},\"@axelar-network/axelar-cgp-solidity/contracts/interfaces/IERC20BurnFrom.sol\":{\"keccak256\":\"0xdbd8d686a6febad83bb51dcc2fd488b84ae27d50209f1f2ad2515a8c15681e49\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://858ded3c046b35dda8035b3eb4377e8510e1c2afc7f12ad9da1d9ee7a8559b81\",\"dweb:/ipfs/QmT284Vxz61VCxX6A7VcxgkLZgwQdmiKGpk1jAngJ6TDXQ\"]},\"@axelar-network/axelar-cgp-solidity/contracts/interfaces/IERC20Permit.sol\":{\"keccak256\":\"0xd0f2210276eefeceae0ba6590c9f515f89149e01d70c18a7b36c372250ed06cb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://78caf6d22f4239a95d84cfdb04e4fe8a122c29c967e4edacadc9f88ba0d2fee0\",\"dweb:/ipfs/QmR2Weu44fXPvgwfHEenMhTnMZFVTSuzTGsP8TQRtQLQEj\"]},\"@axelar-network/axelar-cgp-solidity/contracts/interfaces/IMintableCappedERC20.sol\":{\"keccak256\":\"0x8ba2122d3c0fb1d4256d01b34cc6d38847c17de3321ceb680a53d3267799b36e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://78a827661b41a592c046ee4fb87297e59373aa6bfdef14b301060f3682b5e678\",\"dweb:/ipfs/QmTHCkgPAH2Kc83TovmE61euxu7SuhvUGTsLByXn6jKTh3\"]},\"@axelar-network/axelar-cgp-solidity/contracts/interfaces/IOwnable.sol\":{\"keccak256\":\"0x7a6e3ad6c339fc3d5a3f16ab1778cfae2f6b38f4c1a100b9686cf05b4bceb408\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d3801fdbd1c5cbfc105703b0da12051f5d9e17d38a4768a79fd5110cfd8712b8\",\"dweb:/ipfs/QmUnTmkpxTcbebnjDVNkfhEPRnyLfnPMEnAh53zKeZPgj9\"]}},\"version\":1}" - } - }, - "@axelar-network/axelar-cgp-solidity/contracts/interfaces/IERC20.sol": { - "IERC20": { - "abi": [ - { - "inputs": [], - "name": "InvalidAccount", - "type": "error" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Approval", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Transfer", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - } - ], - "name": "allowance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "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": { - "functionDebugData": {}, - "generatedSources": [], - "linkReferences": {}, - "object": "", - "opcodes": "", - "sourceMap": "" - }, - "deployedBytecode": { - "functionDebugData": {}, - "generatedSources": [], - "immutableReferences": {}, - "linkReferences": {}, - "object": "", - "opcodes": "", - "sourceMap": "" - }, - "methodIdentifiers": { - "allowance(address,address)": "dd62ed3e", - "approve(address,uint256)": "095ea7b3", - "balanceOf(address)": "70a08231", - "totalSupply()": "18160ddd", - "transfer(address,uint256)": "a9059cbb", - "transferFrom(address,address,uint256)": "23b872dd" - } - }, - "metadata": "{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"InvalidAccount\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"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\"}],\"devdoc\":{\"details\":\"Interface of the ERC20 standard as defined in the EIP.\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero.\"}},\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. This value changes when {approve} or {transferFrom} are called.\"},\"approve(address,uint256)\":{\"details\":\"Sets `amount` as the allowance of `spender` over the caller's tokens. Returns a boolean value indicating whether the operation succeeded. IMPORTANT: Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 Emits an {Approval} event.\"},\"balanceOf(address)\":{\"details\":\"Returns the amount of tokens owned by `account`.\"},\"totalSupply()\":{\"details\":\"Returns the amount of tokens in existence.\"},\"transfer(address,uint256)\":{\"details\":\"Moves `amount` tokens from the caller's account to `recipient`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Moves `amount` tokens from `sender` to `recipient` using the allowance mechanism. `amount` is then deducted from the caller's allowance. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@axelar-network/axelar-cgp-solidity/contracts/interfaces/IERC20.sol\":\"IERC20\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1000},\"remappings\":[]},\"sources\":{\"@axelar-network/axelar-cgp-solidity/contracts/interfaces/IERC20.sol\":{\"keccak256\":\"0x018cf796d80d65945fa85fa4fb49d926481ffe9316564ea251ee14836d661635\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://677295d77a7b45e0d06fc389f859bb39e1175e16a75e141f0ce06743258178d3\",\"dweb:/ipfs/QmdoJiu5PJ6D3NcZVGHVGCFVW8WkQbTdqok1AoTcG3NmYR\"]}},\"version\":1}" - } - }, - "@axelar-network/axelar-cgp-solidity/contracts/interfaces/IERC20Burn.sol": { - "IERC20Burn": { - "abi": [ - { - "inputs": [ - { - "internalType": "bytes32", - "name": "salt", - "type": "bytes32" - } - ], - "name": "burn", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "evm": { - "bytecode": { - "functionDebugData": {}, - "generatedSources": [], - "linkReferences": {}, - "object": "", - "opcodes": "", - "sourceMap": "" - }, - "deployedBytecode": { - "functionDebugData": {}, - "generatedSources": [], - "immutableReferences": {}, - "linkReferences": {}, - "object": "", - "opcodes": "", - "sourceMap": "" - }, - "methodIdentifiers": { - "burn(bytes32)": "08a1eee1" - } - }, - "metadata": "{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"}],\"name\":\"burn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@axelar-network/axelar-cgp-solidity/contracts/interfaces/IERC20Burn.sol\":\"IERC20Burn\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1000},\"remappings\":[]},\"sources\":{\"@axelar-network/axelar-cgp-solidity/contracts/interfaces/IERC20Burn.sol\":{\"keccak256\":\"0x50a310a5be7aa6bc95085b1173291543c9e17b0f86b4a38f535cce28864a4627\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://849b5dd44f16d0d803806bd2bdb8219b61d6a10f269683cff888d6db4778e14f\",\"dweb:/ipfs/QmcvYH2uCZY9zmPWS6nG9YHt3XdncgnepMhhgbEmdv5KK7\"]}},\"version\":1}" - } - }, - "@axelar-network/axelar-cgp-solidity/contracts/interfaces/IERC20BurnFrom.sol": { - "IERC20BurnFrom": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "burnFrom", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "evm": { - "bytecode": { - "functionDebugData": {}, - "generatedSources": [], - "linkReferences": {}, - "object": "", - "opcodes": "", - "sourceMap": "" - }, - "deployedBytecode": { - "functionDebugData": {}, - "generatedSources": [], - "immutableReferences": {}, - "linkReferences": {}, - "object": "", - "opcodes": "", - "sourceMap": "" - }, - "methodIdentifiers": { - "burnFrom(address,uint256)": "79cc6790" - } - }, - "metadata": "{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"burnFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@axelar-network/axelar-cgp-solidity/contracts/interfaces/IERC20BurnFrom.sol\":\"IERC20BurnFrom\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1000},\"remappings\":[]},\"sources\":{\"@axelar-network/axelar-cgp-solidity/contracts/interfaces/IERC20BurnFrom.sol\":{\"keccak256\":\"0xdbd8d686a6febad83bb51dcc2fd488b84ae27d50209f1f2ad2515a8c15681e49\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://858ded3c046b35dda8035b3eb4377e8510e1c2afc7f12ad9da1d9ee7a8559b81\",\"dweb:/ipfs/QmT284Vxz61VCxX6A7VcxgkLZgwQdmiKGpk1jAngJ6TDXQ\"]}},\"version\":1}" - } - }, - "@axelar-network/axelar-cgp-solidity/contracts/interfaces/IERC20Permit.sol": { - "IERC20Permit": { - "abi": [ - { - "inputs": [], - "name": "DOMAIN_SEPARATOR", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "nonces", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "issuer", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "deadline", - "type": "uint256" - }, - { - "internalType": "uint8", - "name": "v", - "type": "uint8" - }, - { - "internalType": "bytes32", - "name": "r", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "s", - "type": "bytes32" - } - ], - "name": "permit", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "evm": { - "bytecode": { - "functionDebugData": {}, - "generatedSources": [], - "linkReferences": {}, - "object": "", - "opcodes": "", - "sourceMap": "" - }, - "deployedBytecode": { - "functionDebugData": {}, - "generatedSources": [], - "immutableReferences": {}, - "linkReferences": {}, - "object": "", - "opcodes": "", - "sourceMap": "" - }, - "methodIdentifiers": { - "DOMAIN_SEPARATOR()": "3644e515", - "nonces(address)": "7ecebe00", - "permit(address,address,uint256,uint256,uint8,bytes32,bytes32)": "d505accf" - } - }, - "metadata": "{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"DOMAIN_SEPARATOR\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"nonces\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"issuer\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"permit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@axelar-network/axelar-cgp-solidity/contracts/interfaces/IERC20Permit.sol\":\"IERC20Permit\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1000},\"remappings\":[]},\"sources\":{\"@axelar-network/axelar-cgp-solidity/contracts/interfaces/IERC20Permit.sol\":{\"keccak256\":\"0xd0f2210276eefeceae0ba6590c9f515f89149e01d70c18a7b36c372250ed06cb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://78caf6d22f4239a95d84cfdb04e4fe8a122c29c967e4edacadc9f88ba0d2fee0\",\"dweb:/ipfs/QmR2Weu44fXPvgwfHEenMhTnMZFVTSuzTGsP8TQRtQLQEj\"]}},\"version\":1}" - } - }, - "@axelar-network/axelar-cgp-solidity/contracts/interfaces/IMintableCappedERC20.sol": { - "IMintableCappedERC20": { - "abi": [ - { - "inputs": [], - "name": "CapExceeded", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidAccount", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidOwner", - "type": "error" - }, - { - "inputs": [], - "name": "NotOwner", - "type": "error" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Approval", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "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": "DOMAIN_SEPARATOR", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "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": "cap", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "mint", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "nonces", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "issuer", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "deadline", - "type": "uint256" - }, - { - "internalType": "uint8", - "name": "v", - "type": "uint8" - }, - { - "internalType": "bytes32", - "name": "r", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "s", - "type": "bytes32" - } - ], - "name": "permit", - "outputs": [], - "stateMutability": "nonpayable", - "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" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "evm": { - "bytecode": { - "functionDebugData": {}, - "generatedSources": [], - "linkReferences": {}, - "object": "", - "opcodes": "", - "sourceMap": "" - }, - "deployedBytecode": { - "functionDebugData": {}, - "generatedSources": [], - "immutableReferences": {}, - "linkReferences": {}, - "object": "", - "opcodes": "", - "sourceMap": "" - }, - "methodIdentifiers": { - "DOMAIN_SEPARATOR()": "3644e515", - "allowance(address,address)": "dd62ed3e", - "approve(address,uint256)": "095ea7b3", - "balanceOf(address)": "70a08231", - "cap()": "355274ea", - "mint(address,uint256)": "40c10f19", - "nonces(address)": "7ecebe00", - "owner()": "8da5cb5b", - "permit(address,address,uint256,uint256,uint8,bytes32,bytes32)": "d505accf", - "totalSupply()": "18160ddd", - "transfer(address,uint256)": "a9059cbb", - "transferFrom(address,address,uint256)": "23b872dd", - "transferOwnership(address)": "f2fde38b" - } - }, - "metadata": "{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"CapExceeded\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidAccount\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidOwner\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotOwner\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"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\":\"DOMAIN_SEPARATOR\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"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\":\"cap\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"mint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"nonces\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"issuer\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"permit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"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\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. This value changes when {approve} or {transferFrom} are called.\"},\"approve(address,uint256)\":{\"details\":\"Sets `amount` as the allowance of `spender` over the caller's tokens. Returns a boolean value indicating whether the operation succeeded. IMPORTANT: Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 Emits an {Approval} event.\"},\"balanceOf(address)\":{\"details\":\"Returns the amount of tokens owned by `account`.\"},\"totalSupply()\":{\"details\":\"Returns the amount of tokens in existence.\"},\"transfer(address,uint256)\":{\"details\":\"Moves `amount` tokens from the caller's account to `recipient`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Moves `amount` tokens from `sender` to `recipient` using the allowance mechanism. `amount` is then deducted from the caller's allowance. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@axelar-network/axelar-cgp-solidity/contracts/interfaces/IMintableCappedERC20.sol\":\"IMintableCappedERC20\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1000},\"remappings\":[]},\"sources\":{\"@axelar-network/axelar-cgp-solidity/contracts/interfaces/IERC20.sol\":{\"keccak256\":\"0x018cf796d80d65945fa85fa4fb49d926481ffe9316564ea251ee14836d661635\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://677295d77a7b45e0d06fc389f859bb39e1175e16a75e141f0ce06743258178d3\",\"dweb:/ipfs/QmdoJiu5PJ6D3NcZVGHVGCFVW8WkQbTdqok1AoTcG3NmYR\"]},\"@axelar-network/axelar-cgp-solidity/contracts/interfaces/IERC20Permit.sol\":{\"keccak256\":\"0xd0f2210276eefeceae0ba6590c9f515f89149e01d70c18a7b36c372250ed06cb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://78caf6d22f4239a95d84cfdb04e4fe8a122c29c967e4edacadc9f88ba0d2fee0\",\"dweb:/ipfs/QmR2Weu44fXPvgwfHEenMhTnMZFVTSuzTGsP8TQRtQLQEj\"]},\"@axelar-network/axelar-cgp-solidity/contracts/interfaces/IMintableCappedERC20.sol\":{\"keccak256\":\"0x8ba2122d3c0fb1d4256d01b34cc6d38847c17de3321ceb680a53d3267799b36e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://78a827661b41a592c046ee4fb87297e59373aa6bfdef14b301060f3682b5e678\",\"dweb:/ipfs/QmTHCkgPAH2Kc83TovmE61euxu7SuhvUGTsLByXn6jKTh3\"]},\"@axelar-network/axelar-cgp-solidity/contracts/interfaces/IOwnable.sol\":{\"keccak256\":\"0x7a6e3ad6c339fc3d5a3f16ab1778cfae2f6b38f4c1a100b9686cf05b4bceb408\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d3801fdbd1c5cbfc105703b0da12051f5d9e17d38a4768a79fd5110cfd8712b8\",\"dweb:/ipfs/QmUnTmkpxTcbebnjDVNkfhEPRnyLfnPMEnAh53zKeZPgj9\"]}},\"version\":1}" - } - }, - "@axelar-network/axelar-cgp-solidity/contracts/interfaces/IOwnable.sol": { - "IOwnable": { - "abi": [ - { - "inputs": [], - "name": "InvalidOwner", - "type": "error" - }, - { - "inputs": [], - "name": "NotOwner", - "type": "error" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "evm": { - "bytecode": { - "functionDebugData": {}, - "generatedSources": [], - "linkReferences": {}, - "object": "", - "opcodes": "", - "sourceMap": "" - }, - "deployedBytecode": { - "functionDebugData": {}, - "generatedSources": [], - "immutableReferences": {}, - "linkReferences": {}, - "object": "", - "opcodes": "", - "sourceMap": "" - }, - "methodIdentifiers": { - "owner()": "8da5cb5b", - "transferOwnership(address)": "f2fde38b" - } - }, - "metadata": "{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"InvalidOwner\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotOwner\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@axelar-network/axelar-cgp-solidity/contracts/interfaces/IOwnable.sol\":\"IOwnable\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1000},\"remappings\":[]},\"sources\":{\"@axelar-network/axelar-cgp-solidity/contracts/interfaces/IOwnable.sol\":{\"keccak256\":\"0x7a6e3ad6c339fc3d5a3f16ab1778cfae2f6b38f4c1a100b9686cf05b4bceb408\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d3801fdbd1c5cbfc105703b0da12051f5d9e17d38a4768a79fd5110cfd8712b8\",\"dweb:/ipfs/QmUnTmkpxTcbebnjDVNkfhEPRnyLfnPMEnAh53zKeZPgj9\"]}},\"version\":1}" - } - }, - "@axelar-network/axelar-cgp-solidity/contracts/interfaces/ITokenDeployer.sol": { - "ITokenDeployer": { - "abi": [ - { - "inputs": [ - { - "internalType": "string", - "name": "name", - "type": "string" - }, - { - "internalType": "string", - "name": "symbol", - "type": "string" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "cap", - "type": "uint256" - }, - { - "internalType": "bytes32", - "name": "salt", - "type": "bytes32" - } - ], - "name": "deployToken", - "outputs": [ - { - "internalType": "address", - "name": "tokenAddress", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "evm": { - "bytecode": { - "functionDebugData": {}, - "generatedSources": [], - "linkReferences": {}, - "object": "", - "opcodes": "", - "sourceMap": "" - }, - "deployedBytecode": { - "functionDebugData": {}, - "generatedSources": [], - "immutableReferences": {}, - "linkReferences": {}, - "object": "", - "opcodes": "", - "sourceMap": "" - }, - "methodIdentifiers": { - "deployToken(string,string,uint8,uint256,bytes32)": "6fc95b34" - } - }, - "metadata": "{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"cap\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"}],\"name\":\"deployToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"tokenAddress\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@axelar-network/axelar-cgp-solidity/contracts/interfaces/ITokenDeployer.sol\":\"ITokenDeployer\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1000},\"remappings\":[]},\"sources\":{\"@axelar-network/axelar-cgp-solidity/contracts/interfaces/ITokenDeployer.sol\":{\"keccak256\":\"0x6f8231cfc73f7c9b5b3660e8b4625c10fa09587403e3edcabaded3ddd386cc82\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc87357ef860569affce4fd1dfcffc8c09e7559d626aac7d170c8423113b8bd5\",\"dweb:/ipfs/QmU2gz2fTBmHa4gmQCZe4ttgnkKPwTakgAj6NrocANYxGg\"]}},\"version\":1}" - } - }, - "@axelar-network/axelar-cgp-solidity/contracts/interfaces/IUpgradable.sol": { - "IUpgradable": { - "abi": [ - { - "inputs": [], - "name": "InvalidCodeHash", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidImplementation", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidOwner", - "type": "error" - }, - { - "inputs": [], - "name": "NotOwner", - "type": "error" - }, - { - "inputs": [], - "name": "NotProxy", - "type": "error" - }, - { - "inputs": [], - "name": "SetupFailed", - "type": "error" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "newImplementation", - "type": "address" - } - ], - "name": "Upgraded", - "type": "event" - }, - { - "inputs": [], - "name": "contractId", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "setup", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newImplementation", - "type": "address" - }, - { - "internalType": "bytes32", - "name": "newImplementationCodeHash", - "type": "bytes32" - }, - { - "internalType": "bytes", - "name": "params", - "type": "bytes" - } - ], - "name": "upgrade", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "evm": { - "bytecode": { - "functionDebugData": {}, - "generatedSources": [], - "linkReferences": {}, - "object": "", - "opcodes": "", - "sourceMap": "" - }, - "deployedBytecode": { - "functionDebugData": {}, - "generatedSources": [], - "immutableReferences": {}, - "linkReferences": {}, - "object": "", - "opcodes": "", - "sourceMap": "" - }, - "methodIdentifiers": { - "contractId()": "8291286c", - "owner()": "8da5cb5b", - "setup(bytes)": "9ded06df", - "upgrade(address,bytes32,bytes)": "a3499c73" - } - }, - "metadata": "{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"InvalidCodeHash\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidImplementation\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidOwner\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotOwner\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotProxy\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SetupFailed\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"contractId\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"setup\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"newImplementationCodeHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"params\",\"type\":\"bytes\"}],\"name\":\"upgrade\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@axelar-network/axelar-cgp-solidity/contracts/interfaces/IUpgradable.sol\":\"IUpgradable\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1000},\"remappings\":[]},\"sources\":{\"@axelar-network/axelar-cgp-solidity/contracts/interfaces/IUpgradable.sol\":{\"keccak256\":\"0x47d64169b4d38921c7ee78feecc75f3eb48246d28a5c6a5f24a1ab1d7031e344\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://56ab6a5e6464a29afff81cb57fdbb812c5574b545b549535427c2371950389fc\",\"dweb:/ipfs/QmW1joAce7d54PnP7RjWKVrvsqGMDHozELLFEKC1A6ctNe\"]}},\"version\":1}" - } - }, - "@axelar-network/axelar-cgp-solidity/contracts/util/Proxy.sol": { - "Proxy": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "implementationAddress", - "type": "address" - }, - { - "internalType": "bytes", - "name": "params", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "name": "EtherNotAccepted", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidImplementation", - "type": "error" - }, - { - "inputs": [], - "name": "SetupFailed", - "type": "error" - }, - { - "stateMutability": "payable", - "type": "fallback" - }, - { - "inputs": [], - "name": "implementation", - "outputs": [ - { - "internalType": "address", - "name": "implementation_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "setup", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "stateMutability": "payable", - "type": "receive" - } - ], - "evm": { - "bytecode": { - "functionDebugData": { - "@_6021": { - "entryPoint": null, - "id": 6021, - "parameterSlots": 2, - "returnSlots": 0 - }, - "abi_decode_tuple_t_addresst_bytes_memory_ptr_fromMemory": { - "entryPoint": 384, - "id": null, - "parameterSlots": 2, - "returnSlots": 2 - }, - "abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed": { - "entryPoint": 641, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_encode_tuple_t_bytes_memory_ptr__to_t_bytes_memory_ptr__fromStack_reversed": { - "entryPoint": 590, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "copy_memory_to_memory": { - "entryPoint": 336, - "id": null, - "parameterSlots": 3, - "returnSlots": 0 - }, - "panic_error_0x41": { - "entryPoint": 314, - "id": null, - "parameterSlots": 0, - "returnSlots": 0 - } - }, - "generatedSources": [ - { - "ast": { - "nodeType": "YulBlock", - "src": "0:2126:34", - "statements": [ - { - "nodeType": "YulBlock", - "src": "6:3:34", - "statements": [] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "46:95:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "63:1:34", - "type": "", - "value": "0" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "70:3:34", - "type": "", - "value": "224" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "75:10:34", - "type": "", - "value": "0x4e487b71" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "66:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "66:20:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "56:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "56:31:34" - }, - "nodeType": "YulExpressionStatement", - "src": "56:31:34" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "103:1:34", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "106:4:34", - "type": "", - "value": "0x41" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "96:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "96:15:34" - }, - "nodeType": "YulExpressionStatement", - "src": "96:15:34" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "127:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "130:4:34", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "120:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "120:15:34" - }, - "nodeType": "YulExpressionStatement", - "src": "120:15:34" - } - ] - }, - "name": "panic_error_0x41", - "nodeType": "YulFunctionDefinition", - "src": "14:127:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "199:205:34", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "209:10:34", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "218:1:34", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "i", - "nodeType": "YulTypedName", - "src": "213:1:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "278:63:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "303:3:34" - }, - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "308:1:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "299:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "299:11:34" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "322:3:34" - }, - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "327:1:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "318:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "318:11:34" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "312:5:34" - }, - "nodeType": "YulFunctionCall", - "src": "312:18:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "292:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "292:39:34" - }, - "nodeType": "YulExpressionStatement", - "src": "292:39:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "239:1:34" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "242:6:34" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "236:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "236:13:34" - }, - "nodeType": "YulForLoop", - "post": { - "nodeType": "YulBlock", - "src": "250:19:34", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "252:15:34", - "value": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "261:1:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "264:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "257:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "257:10:34" - }, - "variableNames": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "252:1:34" - } - ] - } - ] - }, - "pre": { - "nodeType": "YulBlock", - "src": "232:3:34", - "statements": [] - }, - "src": "228:113:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "367:31:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "380:3:34" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "385:6:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "376:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "376:16:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "394:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "369:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "369:27:34" - }, - "nodeType": "YulExpressionStatement", - "src": "369:27:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "356:1:34" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "359:6:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "353:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "353:13:34" - }, - "nodeType": "YulIf", - "src": "350:48:34" - } - ] - }, - "name": "copy_memory_to_memory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "src", - "nodeType": "YulTypedName", - "src": "177:3:34", - "type": "" - }, - { - "name": "dst", - "nodeType": "YulTypedName", - "src": "182:3:34", - "type": "" - }, - { - "name": "length", - "nodeType": "YulTypedName", - "src": "187:6:34", - "type": "" - } - ], - "src": "146:258:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "516:943:34", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "562:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "571:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "574:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "564:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "564:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "564:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "537:7:34" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "546:9:34" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "533:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "533:23:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "558:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "529:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "529:32:34" - }, - "nodeType": "YulIf", - "src": "526:52:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "587:29:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "606:9:34" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "600:5:34" - }, - "nodeType": "YulFunctionCall", - "src": "600:16:34" - }, - "variables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "591:5:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "679:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "688:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "691:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "681:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "681:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "681:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "638:5:34" - }, - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "649:5:34" - }, - { - "arguments": [ - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "664:3:34", - "type": "", - "value": "160" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "669:1:34", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "660:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "660:11:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "673:1:34", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "656:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "656:19:34" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "645:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "645:31:34" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "635:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "635:42:34" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "628:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "628:50:34" - }, - "nodeType": "YulIf", - "src": "625:70:34" - }, - { - "nodeType": "YulAssignment", - "src": "704:15:34", - "value": { - "name": "value", - "nodeType": "YulIdentifier", - "src": "714:5:34" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "704:6:34" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "728:39:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "752:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "763:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "748:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "748:18:34" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "742:5:34" - }, - "nodeType": "YulFunctionCall", - "src": "742:25:34" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "732:6:34", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "776:28:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "794:2:34", - "type": "", - "value": "64" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "798:1:34", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "790:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "790:10:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "802:1:34", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "786:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "786:18:34" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "780:2:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "831:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "840:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "843:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "833:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "833:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "833:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "819:6:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "827:2:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "816:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "816:14:34" - }, - "nodeType": "YulIf", - "src": "813:34:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "856:32:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "870:9:34" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "881:6:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "866:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "866:22:34" - }, - "variables": [ - { - "name": "_2", - "nodeType": "YulTypedName", - "src": "860:2:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "936:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "945:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "948:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "938:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "938:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "938:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "915:2:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "919:4:34", - "type": "", - "value": "0x1f" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "911:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "911:13:34" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "926:7:34" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "907:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "907:27:34" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "900:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "900:35:34" - }, - "nodeType": "YulIf", - "src": "897:55:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "961:19:34", - "value": { - "arguments": [ - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "977:2:34" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "971:5:34" - }, - "nodeType": "YulFunctionCall", - "src": "971:9:34" - }, - "variables": [ - { - "name": "_3", - "nodeType": "YulTypedName", - "src": "965:2:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1003:22:34", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x41", - "nodeType": "YulIdentifier", - "src": "1005:16:34" - }, - "nodeType": "YulFunctionCall", - "src": "1005:18:34" - }, - "nodeType": "YulExpressionStatement", - "src": "1005:18:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "_3", - "nodeType": "YulIdentifier", - "src": "995:2:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "999:2:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "992:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "992:10:34" - }, - "nodeType": "YulIf", - "src": "989:36:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1034:17:34", - "value": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1048:2:34", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "1044:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1044:7:34" - }, - "variables": [ - { - "name": "_4", - "nodeType": "YulTypedName", - "src": "1038:2:34", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1060:23:34", - "value": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1080:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "1074:5:34" - }, - "nodeType": "YulFunctionCall", - "src": "1074:9:34" - }, - "variables": [ - { - "name": "memPtr", - "nodeType": "YulTypedName", - "src": "1064:6:34", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1092:71:34", - "value": { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "1114:6:34" - }, - { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "_3", - "nodeType": "YulIdentifier", - "src": "1138:2:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1142:4:34", - "type": "", - "value": "0x1f" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1134:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1134:13:34" - }, - { - "name": "_4", - "nodeType": "YulIdentifier", - "src": "1149:2:34" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "1130:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1130:22:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1154:2:34", - "type": "", - "value": "63" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1126:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1126:31:34" - }, - { - "name": "_4", - "nodeType": "YulIdentifier", - "src": "1159:2:34" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "1122:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1122:40:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1110:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1110:53:34" - }, - "variables": [ - { - "name": "newFreePtr", - "nodeType": "YulTypedName", - "src": "1096:10:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1222:22:34", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x41", - "nodeType": "YulIdentifier", - "src": "1224:16:34" - }, - "nodeType": "YulFunctionCall", - "src": "1224:18:34" - }, - "nodeType": "YulExpressionStatement", - "src": "1224:18:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "newFreePtr", - "nodeType": "YulIdentifier", - "src": "1181:10:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "1193:2:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "1178:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "1178:18:34" - }, - { - "arguments": [ - { - "name": "newFreePtr", - "nodeType": "YulIdentifier", - "src": "1201:10:34" - }, - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "1213:6:34" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "1198:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "1198:22:34" - } - ], - "functionName": { - "name": "or", - "nodeType": "YulIdentifier", - "src": "1175:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "1175:46:34" - }, - "nodeType": "YulIf", - "src": "1172:72:34" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1260:2:34", - "type": "", - "value": "64" - }, - { - "name": "newFreePtr", - "nodeType": "YulIdentifier", - "src": "1264:10:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1253:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "1253:22:34" - }, - "nodeType": "YulExpressionStatement", - "src": "1253:22:34" - }, - { - "expression": { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "1291:6:34" - }, - { - "name": "_3", - "nodeType": "YulIdentifier", - "src": "1299:2:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1284:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "1284:18:34" - }, - "nodeType": "YulExpressionStatement", - "src": "1284:18:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1348:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1357:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1360:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "1350:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "1350:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "1350:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "1325:2:34" - }, - { - "name": "_3", - "nodeType": "YulIdentifier", - "src": "1329:2:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1321:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1321:11:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1334:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1317:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1317:20:34" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "1339:7:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "1314:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "1314:33:34" - }, - "nodeType": "YulIf", - "src": "1311:53:34" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "1399:2:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1403:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1395:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1395:11:34" - }, - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "1412:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1420:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1408:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1408:15:34" - }, - { - "name": "_3", - "nodeType": "YulIdentifier", - "src": "1425:2:34" - } - ], - "functionName": { - "name": "copy_memory_to_memory", - "nodeType": "YulIdentifier", - "src": "1373:21:34" - }, - "nodeType": "YulFunctionCall", - "src": "1373:55:34" - }, - "nodeType": "YulExpressionStatement", - "src": "1373:55:34" - }, - { - "nodeType": "YulAssignment", - "src": "1437:16:34", - "value": { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "1447:6:34" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "1437:6:34" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_addresst_bytes_memory_ptr_fromMemory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "474:9:34", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "485:7:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "497:6:34", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "505:6:34", - "type": "" - } - ], - "src": "409:1050:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1583:262:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1600:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1611:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1593:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "1593:21:34" - }, - "nodeType": "YulExpressionStatement", - "src": "1593:21:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1623:27:34", - "value": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1643:6:34" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "1637:5:34" - }, - "nodeType": "YulFunctionCall", - "src": "1637:13:34" - }, - "variables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "1627:6:34", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1670:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1681:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1666:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1666:18:34" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "1686:6:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "1659:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "1659:34:34" - }, - "nodeType": "YulExpressionStatement", - "src": "1659:34:34" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "1728:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1736:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1724:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1724:15:34" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1745:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1756:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1741:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1741:18:34" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "1761:6:34" - } - ], - "functionName": { - "name": "copy_memory_to_memory", - "nodeType": "YulIdentifier", - "src": "1702:21:34" - }, - "nodeType": "YulFunctionCall", - "src": "1702:66:34" - }, - "nodeType": "YulExpressionStatement", - "src": "1702:66:34" - }, - { - "nodeType": "YulAssignment", - "src": "1777:62:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1793:9:34" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "1812:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1820:2:34", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1808:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1808:15:34" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1829:2:34", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "1825:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1825:7:34" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "1804:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1804:29:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1789:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1789:45:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1836:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1785:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1785:54:34" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "1777:4:34" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_bytes_memory_ptr__to_t_bytes_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "1552:9:34", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "1563:6:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "1574:4:34", - "type": "" - } - ], - "src": "1464:381:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1987:137:34", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "1997:27:34", - "value": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "2017:6:34" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "2011:5:34" - }, - "nodeType": "YulFunctionCall", - "src": "2011:13:34" - }, - "variables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "2001:6:34", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "2059:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2067:4:34", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2055:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "2055:17:34" - }, - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "2074:3:34" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "2079:6:34" - } - ], - "functionName": { - "name": "copy_memory_to_memory", - "nodeType": "YulIdentifier", - "src": "2033:21:34" - }, - "nodeType": "YulFunctionCall", - "src": "2033:53:34" - }, - "nodeType": "YulExpressionStatement", - "src": "2033:53:34" - }, - { - "nodeType": "YulAssignment", - "src": "2095:23:34", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "2106:3:34" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "2111:6:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2102:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "2102:16:34" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "2095:3:34" - } - ] - } - ] - }, - "name": "abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "1963:3:34", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "1968:6:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "1979:3:34", - "type": "" - } - ], - "src": "1850:274:34" - } - ] - }, - "contents": "{\n { }\n function panic_error_0x41()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x41)\n revert(0, 0x24)\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 abi_decode_tuple_t_addresst_bytes_memory_ptr_fromMemory(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n let value := mload(headStart)\n if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n value0 := value\n let offset := mload(add(headStart, 32))\n let _1 := sub(shl(64, 1), 1)\n if gt(offset, _1) { revert(0, 0) }\n let _2 := add(headStart, offset)\n if iszero(slt(add(_2, 0x1f), dataEnd)) { revert(0, 0) }\n let _3 := mload(_2)\n if gt(_3, _1) { panic_error_0x41() }\n let _4 := not(31)\n let memPtr := mload(64)\n let newFreePtr := add(memPtr, and(add(and(add(_3, 0x1f), _4), 63), _4))\n if or(gt(newFreePtr, _1), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n mstore(memPtr, _3)\n if gt(add(add(_2, _3), 32), dataEnd) { revert(0, 0) }\n copy_memory_to_memory(add(_2, 32), add(memPtr, 32), _3)\n value1 := memPtr\n }\n function abi_encode_tuple_t_bytes_memory_ptr__to_t_bytes_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n {\n mstore(headStart, 32)\n let length := mload(value0)\n mstore(add(headStart, 32), length)\n copy_memory_to_memory(add(value0, 32), add(headStart, 64), length)\n tail := add(add(headStart, and(add(length, 31), not(31))), 64)\n }\n function abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value0) -> end\n {\n let length := mload(value0)\n copy_memory_to_memory(add(value0, 0x20), pos, length)\n end := add(pos, length)\n }\n}", - "id": 34, - "language": "Yul", - "name": "#utility.yul" - } - ], - "linkReferences": {}, - "object": "608060405234801561001057600080fd5b5060405161048138038061048183398101604081905261002f91610180565b817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55337f02016836a56b71f0d02689e69e326f4f4c1b9057164ef592671cf0d37c8040c0556000826001600160a01b0316639ded06df83604051602401610097919061024e565b6040516020818303038152906040529060e01b6020820180516001600160e01b0383818316178352505050506040516100d09190610281565b600060405180830381855af49150503d806000811461010b576040519150601f19603f3d011682016040523d82523d6000602084013e610110565b606091505b5050905080610132576040516397905dfb60e01b815260040160405180910390fd5b50505061029d565b634e487b7160e01b600052604160045260246000fd5b60005b8381101561016b578181015183820152602001610153565b8381111561017a576000848401525b50505050565b6000806040838503121561019357600080fd5b82516001600160a01b03811681146101aa57600080fd5b60208401519092506001600160401b03808211156101c757600080fd5b818501915085601f8301126101db57600080fd5b8151818111156101ed576101ed61013a565b604051601f8201601f19908116603f011681019083821181831017156102155761021561013a565b8160405282815288602084870101111561022e57600080fd5b61023f836020830160208801610150565b80955050505050509250929050565b602081526000825180602084015261026d816040850160208701610150565b601f01601f19169190910160400192915050565b60008251610293818460208701610150565b9190910192915050565b6101d5806102ac6000396000f3fe60806040526004361061002d5760003560e01c80635c60da1b146100b45780639ded06df1461010c57610064565b36610064576040517f3733483400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600061008e7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b90503660008037600080366000845af43d6000803e8080156100af573d6000f35b3d6000fd5b3480156100c057600080fd5b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5460405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b34801561011857600080fd5b5061012b61012736600461012d565b5050565b005b6000806020838503121561014057600080fd5b823567ffffffffffffffff8082111561015857600080fd5b818501915085601f83011261016c57600080fd5b81358181111561017b57600080fd5b86602082850101111561018d57600080fd5b6020929092019691955090935050505056fea264697066735822122003ed79fc7504e8100bd273d31dd8dada1c0185fdd9aa3470c7317725fbd18cc164736f6c63430008090033", - "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH2 0x481 CODESIZE SUB DUP1 PUSH2 0x481 DUP4 CODECOPY DUP2 ADD PUSH1 0x40 DUP2 SWAP1 MSTORE PUSH2 0x2F SWAP2 PUSH2 0x180 JUMP JUMPDEST DUP2 PUSH32 0x360894A13BA1A3210667C828492DB98DCA3E2076CC3735A920A3CA505D382BBC SSTORE CALLER PUSH32 0x2016836A56B71F0D02689E69E326F4F4C1B9057164EF592671CF0D37C8040C0 SSTORE PUSH1 0x0 DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x9DED06DF DUP4 PUSH1 0x40 MLOAD PUSH1 0x24 ADD PUSH2 0x97 SWAP2 SWAP1 PUSH2 0x24E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE SWAP1 PUSH1 0xE0 SHL PUSH1 0x20 DUP3 ADD DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB DUP4 DUP2 DUP4 AND OR DUP4 MSTORE POP POP POP POP PUSH1 0x40 MLOAD PUSH2 0xD0 SWAP2 SWAP1 PUSH2 0x281 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 GAS DELEGATECALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x10B JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x110 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP POP SWAP1 POP DUP1 PUSH2 0x132 JUMPI PUSH1 0x40 MLOAD PUSH4 0x97905DFB PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP POP POP PUSH2 0x29D JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x16B JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x153 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x17A JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x193 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x1AA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x20 DUP5 ADD MLOAD SWAP1 SWAP3 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x1C7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP6 ADD SWAP2 POP DUP6 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x1DB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD DUP2 DUP2 GT ISZERO PUSH2 0x1ED JUMPI PUSH2 0x1ED PUSH2 0x13A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT SWAP1 DUP2 AND PUSH1 0x3F ADD AND DUP2 ADD SWAP1 DUP4 DUP3 GT DUP2 DUP4 LT OR ISZERO PUSH2 0x215 JUMPI PUSH2 0x215 PUSH2 0x13A JUMP JUMPDEST DUP2 PUSH1 0x40 MSTORE DUP3 DUP2 MSTORE DUP9 PUSH1 0x20 DUP5 DUP8 ADD ADD GT ISZERO PUSH2 0x22E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x23F DUP4 PUSH1 0x20 DUP4 ADD PUSH1 0x20 DUP9 ADD PUSH2 0x150 JUMP JUMPDEST DUP1 SWAP6 POP POP POP POP POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 DUP3 MLOAD DUP1 PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x26D DUP2 PUSH1 0x40 DUP6 ADD PUSH1 0x20 DUP8 ADD PUSH2 0x150 JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP2 SWAP1 SWAP2 ADD PUSH1 0x40 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 MLOAD PUSH2 0x293 DUP2 DUP5 PUSH1 0x20 DUP8 ADD PUSH2 0x150 JUMP JUMPDEST SWAP2 SWAP1 SWAP2 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x1D5 DUP1 PUSH2 0x2AC PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x2D JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x5C60DA1B EQ PUSH2 0xB4 JUMPI DUP1 PUSH4 0x9DED06DF EQ PUSH2 0x10C JUMPI PUSH2 0x64 JUMP JUMPDEST CALLDATASIZE PUSH2 0x64 JUMPI PUSH1 0x40 MLOAD PUSH32 0x3733483400000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x8E PUSH32 0x360894A13BA1A3210667C828492DB98DCA3E2076CC3735A920A3CA505D382BBC SLOAD SWAP1 JUMP JUMPDEST SWAP1 POP CALLDATASIZE PUSH1 0x0 DUP1 CALLDATACOPY PUSH1 0x0 DUP1 CALLDATASIZE PUSH1 0x0 DUP5 GAS DELEGATECALL RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY DUP1 DUP1 ISZERO PUSH2 0xAF JUMPI RETURNDATASIZE PUSH1 0x0 RETURN JUMPDEST RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH32 0x360894A13BA1A3210667C828492DB98DCA3E2076CC3735A920A3CA505D382BBC SLOAD PUSH1 0x40 MLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x118 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x12B PUSH2 0x127 CALLDATASIZE PUSH1 0x4 PUSH2 0x12D JUMP JUMPDEST POP POP JUMP JUMPDEST STOP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x20 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x140 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x158 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP6 ADD SWAP2 POP DUP6 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x16C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD DUP2 DUP2 GT ISZERO PUSH2 0x17B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP7 PUSH1 0x20 DUP3 DUP6 ADD ADD GT ISZERO PUSH2 0x18D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x20 SWAP3 SWAP1 SWAP3 ADD SWAP7 SWAP2 SWAP6 POP SWAP1 SWAP4 POP POP POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SUB 0xED PUSH26 0xFC7504E8100BD273D31DD8DADA1C0185FDD9AA3470C7317725FB 0xD1 DUP13 0xC1 PUSH5 0x736F6C6343 STOP ADDMOD MULMOD STOP CALLER ", - "sourceMap": "57:2003:29:-:0;;;501:543;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;683:21;661:20;654:51;738:8;725:11;718:29;826:12;844:21;-1:-1:-1;;;;;844:34:29;963:10;975:6;940:42;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;940:42:29;;;;;;;;;;;844:148;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;825:167;;;1008:7;1003:34;;1024:13;;-1:-1:-1;;;1024:13:29;;;;;;;;;;;1003:34;565:479;501:543;;57:2003;;14:127:34;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:258;218:1;228:113;242:6;239:1;236:13;228:113;;;318:11;;;312:18;299:11;;;292:39;264:2;257:10;228:113;;;359:6;356:1;353:13;350:48;;;394:1;385:6;380:3;376:16;369:27;350:48;;146:258;;;:::o;409:1050::-;497:6;505;558:2;546:9;537:7;533:23;529:32;526:52;;;574:1;571;564:12;526:52;600:16;;-1:-1:-1;;;;;645:31:34;;635:42;;625:70;;691:1;688;681:12;625:70;763:2;748:18;;742:25;714:5;;-1:-1:-1;;;;;;816:14:34;;;813:34;;;843:1;840;833:12;813:34;881:6;870:9;866:22;856:32;;926:7;919:4;915:2;911:13;907:27;897:55;;948:1;945;938:12;897:55;977:2;971:9;999:2;995;992:10;989:36;;;1005:18;;:::i;:::-;1080:2;1074:9;1048:2;1134:13;;-1:-1:-1;;1130:22:34;;;1154:2;1126:31;1122:40;1110:53;;;1178:18;;;1198:22;;;1175:46;1172:72;;;1224:18;;:::i;:::-;1264:10;1260:2;1253:22;1299:2;1291:6;1284:18;1339:7;1334:2;1329;1325;1321:11;1317:20;1314:33;1311:53;;;1360:1;1357;1350:12;1311:53;1373:55;1425:2;1420;1412:6;1408:15;1403:2;1399;1395:11;1373:55;:::i;:::-;1447:6;1437:16;;;;;;;409:1050;;;;;:::o;1464:381::-;1611:2;1600:9;1593:21;1574:4;1643:6;1637:13;1686:6;1681:2;1670:9;1666:18;1659:34;1702:66;1761:6;1756:2;1745:9;1741:18;1736:2;1728:6;1724:15;1702:66;:::i;:::-;1829:2;1808:15;-1:-1:-1;;1804:29:34;1789:45;;;;1836:2;1785:54;;1464:381;-1:-1:-1;;1464:381:34:o;1850:274::-;1979:3;2017:6;2011:13;2033:53;2079:6;2074:3;2067:4;2059:6;2055:17;2033:53;:::i;:::-;2102:16;;;;;1850:274;-1:-1:-1;;1850:274:34:o;:::-;57:2003:29;;;;;;" - }, - "deployedBytecode": { - "functionDebugData": { - "@_6044": { - "entryPoint": null, - "id": 6044, - "parameterSlots": 0, - "returnSlots": 0 - }, - "@_6051": { - "entryPoint": null, - "id": 6051, - "parameterSlots": 0, - "returnSlots": 0 - }, - "@implementation_6028": { - "entryPoint": null, - "id": 6028, - "parameterSlots": 0, - "returnSlots": 1 - }, - "@setup_6034": { - "entryPoint": null, - "id": 6034, - "parameterSlots": 2, - "returnSlots": 0 - }, - "abi_decode_tuple_t_bytes_calldata_ptr": { - "entryPoint": 301, - "id": null, - "parameterSlots": 2, - "returnSlots": 2 - }, - "abi_encode_tuple_t_address__to_t_address__fromStack_reversed": { - "entryPoint": null, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - } - }, - "generatedSources": [ - { - "ast": { - "nodeType": "YulBlock", - "src": "0:838:34", - "statements": [ - { - "nodeType": "YulBlock", - "src": "6:3:34", - "statements": [] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "115:125:34", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "125:26:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "137:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "148:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "133:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "133:18:34" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "125:4:34" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "167:9:34" - }, - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "182:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "190:42:34", - "type": "", - "value": "0xffffffffffffffffffffffffffffffffffffffff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "178:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "178:55:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "160:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "160:74:34" - }, - "nodeType": "YulExpressionStatement", - "src": "160:74:34" - } - ] - }, - "name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "84:9:34", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "95:6:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "106:4:34", - "type": "" - } - ], - "src": "14:226:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "334:502:34", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "380:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "389:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "392:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "382:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "382:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "382:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "355:7:34" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "364:9:34" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "351:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "351:23:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "376:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "347:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "347:32:34" - }, - "nodeType": "YulIf", - "src": "344:52:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "405:37:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "432:9:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "419:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "419:23:34" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "409:6:34", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "451:28:34", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "461:18:34", - "type": "", - "value": "0xffffffffffffffff" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "455:2:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "506:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "515:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "518:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "508:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "508:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "508:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "494:6:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "502:2:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "491:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "491:14:34" - }, - "nodeType": "YulIf", - "src": "488:34:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "531:32:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "545:9:34" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "556:6:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "541:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "541:22:34" - }, - "variables": [ - { - "name": "_2", - "nodeType": "YulTypedName", - "src": "535:2:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "611:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "620:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "623:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "613:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "613:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "613:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "590:2:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "594:4:34", - "type": "", - "value": "0x1f" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "586:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "586:13:34" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "601:7:34" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "582:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "582:27:34" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "575:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "575:35:34" - }, - "nodeType": "YulIf", - "src": "572:55:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "636:30:34", - "value": { - "arguments": [ - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "663:2:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "650:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "650:16:34" - }, - "variables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "640:6:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "693:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "702:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "705:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "695:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "695:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "695:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "681:6:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "689:2:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "678:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "678:14:34" - }, - "nodeType": "YulIf", - "src": "675:34:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "759:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "768:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "771:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "761:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "761:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "761:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "732:2:34" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "736:6:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "728:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "728:15:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "745:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "724:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "724:24:34" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "750:7:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "721:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "721:37:34" - }, - "nodeType": "YulIf", - "src": "718:57:34" - }, - { - "nodeType": "YulAssignment", - "src": "784:21:34", - "value": { - "arguments": [ - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "798:2:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "802:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "794:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "794:11:34" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "784:6:34" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "814:16:34", - "value": { - "name": "length", - "nodeType": "YulIdentifier", - "src": "824:6:34" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "814:6:34" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_bytes_calldata_ptr", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "292:9:34", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "303:7:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "315:6:34", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "323:6:34", - "type": "" - } - ], - "src": "245:591:34" - } - ] - }, - "contents": "{\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_decode_tuple_t_bytes_calldata_ptr(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let offset := calldataload(headStart)\n let _1 := 0xffffffffffffffff\n if gt(offset, _1) { revert(0, 0) }\n let _2 := add(headStart, offset)\n if iszero(slt(add(_2, 0x1f), dataEnd)) { revert(0, 0) }\n let length := calldataload(_2)\n if gt(length, _1) { revert(0, 0) }\n if gt(add(add(_2, length), 32), dataEnd) { revert(0, 0) }\n value0 := add(_2, 32)\n value1 := length\n }\n}", - "id": 34, - "language": "Yul", - "name": "#utility.yul" - } - ], - "immutableReferences": {}, - "linkReferences": {}, - "object": "60806040526004361061002d5760003560e01c80635c60da1b146100b45780639ded06df1461010c57610064565b36610064576040517f3733483400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600061008e7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b90503660008037600080366000845af43d6000803e8080156100af573d6000f35b3d6000fd5b3480156100c057600080fd5b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5460405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b34801561011857600080fd5b5061012b61012736600461012d565b5050565b005b6000806020838503121561014057600080fd5b823567ffffffffffffffff8082111561015857600080fd5b818501915085601f83011261016c57600080fd5b81358181111561017b57600080fd5b86602082850101111561018d57600080fd5b6020929092019691955090935050505056fea264697066735822122003ed79fc7504e8100bd273d31dd8dada1c0185fdd9aa3470c7317725fbd18cc164736f6c63430008090033", - "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x2D JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x5C60DA1B EQ PUSH2 0xB4 JUMPI DUP1 PUSH4 0x9DED06DF EQ PUSH2 0x10C JUMPI PUSH2 0x64 JUMP JUMPDEST CALLDATASIZE PUSH2 0x64 JUMPI PUSH1 0x40 MLOAD PUSH32 0x3733483400000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x8E PUSH32 0x360894A13BA1A3210667C828492DB98DCA3E2076CC3735A920A3CA505D382BBC SLOAD SWAP1 JUMP JUMPDEST SWAP1 POP CALLDATASIZE PUSH1 0x0 DUP1 CALLDATACOPY PUSH1 0x0 DUP1 CALLDATASIZE PUSH1 0x0 DUP5 GAS DELEGATECALL RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY DUP1 DUP1 ISZERO PUSH2 0xAF JUMPI RETURNDATASIZE PUSH1 0x0 RETURN JUMPDEST RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH32 0x360894A13BA1A3210667C828492DB98DCA3E2076CC3735A920A3CA505D382BBC SLOAD PUSH1 0x40 MLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x118 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x12B PUSH2 0x127 CALLDATASIZE PUSH1 0x4 PUSH2 0x12D JUMP JUMPDEST POP POP JUMP JUMPDEST STOP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x20 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x140 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x158 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP6 ADD SWAP2 POP DUP6 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x16C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD DUP2 DUP2 GT ISZERO PUSH2 0x17B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP7 PUSH1 0x20 DUP3 DUP6 ADD ADD GT ISZERO PUSH2 0x18D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x20 SWAP3 SWAP1 SWAP3 ADD SWAP7 SWAP2 SWAP6 POP SWAP1 SWAP4 POP POP POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SUB 0xED PUSH26 0xFC7504E8100BD273D31DD8DADA1C0185FDD9AA3470C7317725FB 0xD1 DUP13 0xC1 PUSH5 0x736F6C6343 STOP ADDMOD MULMOD STOP CALLER ", - "sourceMap": "57:2003:29:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;2033:18;;;;;;;;;;;;;;57:2003;1470:22;1495:16;1236:20;1230:27;;1050:223;1495:16;1470:41;;1619:14;1616:1;1613;1600:34;1720:1;1717;1701:14;1698:1;1682:14;1675:5;1662:60;1756:16;1753:1;1750;1735:38;1794:6;1813:66;;;;1928:16;1925:1;1918:27;1813:66;1848:16;1845:1;1838:27;1050:223;;;;;;;;;;-1:-1:-1;1236:20:29;1230:27;1050:223;;190:42:34;178:55;;;160:74;;148:2;133:18;1050:223:29;;;;;;;1328:45;;;;;;;;;;-1:-1:-1;1328:45:29;;;;;:::i;:::-;;;;;;245:591:34;315:6;323;376:2;364:9;355:7;351:23;347:32;344:52;;;392:1;389;382:12;344:52;432:9;419:23;461:18;502:2;494:6;491:14;488:34;;;518:1;515;508:12;488:34;556:6;545:9;541:22;531:32;;601:7;594:4;590:2;586:13;582:27;572:55;;623:1;620;613:12;572:55;663:2;650:16;689:2;681:6;678:14;675:34;;;705:1;702;695:12;675:34;750:7;745:2;736:6;732:2;728:15;724:24;721:37;718:57;;;771:1;768;761:12;718:57;802:2;794:11;;;;;824:6;;-1:-1:-1;245:591:34;;-1:-1:-1;;;;245:591:34:o" - }, - "methodIdentifiers": { - "implementation()": "5c60da1b", - "setup(bytes)": "9ded06df" - } - }, - "metadata": "{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"implementationAddress\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"params\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"EtherNotAccepted\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidImplementation\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SetupFailed\",\"type\":\"error\"},{\"stateMutability\":\"payable\",\"type\":\"fallback\"},{\"inputs\":[],\"name\":\"implementation\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"implementation_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"setup\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@axelar-network/axelar-cgp-solidity/contracts/util/Proxy.sol\":\"Proxy\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1000},\"remappings\":[]},\"sources\":{\"@axelar-network/axelar-cgp-solidity/contracts/util/Proxy.sol\":{\"keccak256\":\"0xaa7d7d68fd30087be6810060e693f3fabc9edbe4a21426d34287f53bcb072724\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd9c4c1cbaf148b29b03a8ff5eb061b6795ef0b9107d8894e8b64f84c0966a9c\",\"dweb:/ipfs/QmUtHMTFyQcwb7W4X2MzYRaazD3h59Ctz7oQ5JmrBaHbNZ\"]}},\"version\":1}" - } - }, - "@axelar-network/axelar-cgp-solidity/contracts/util/Upgradable.sol": { - "Upgradable": { - "abi": [ - { - "inputs": [], - "name": "InvalidCodeHash", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidImplementation", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidOwner", - "type": "error" - }, - { - "inputs": [], - "name": "NotOwner", - "type": "error" - }, - { - "inputs": [], - "name": "NotProxy", - "type": "error" - }, - { - "inputs": [], - "name": "SetupFailed", - "type": "error" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "newImplementation", - "type": "address" - } - ], - "name": "Upgraded", - "type": "event" - }, - { - "inputs": [], - "name": "contractId", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "implementation", - "outputs": [ - { - "internalType": "address", - "name": "implementation_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "owner_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "setup", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newImplementation", - "type": "address" - }, - { - "internalType": "bytes32", - "name": "newImplementationCodeHash", - "type": "bytes32" - }, - { - "internalType": "bytes", - "name": "params", - "type": "bytes" - } - ], - "name": "upgrade", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "evm": { - "bytecode": { - "functionDebugData": {}, - "generatedSources": [], - "linkReferences": {}, - "object": "", - "opcodes": "", - "sourceMap": "" - }, - "deployedBytecode": { - "functionDebugData": {}, - "generatedSources": [], - "immutableReferences": {}, - "linkReferences": {}, - "object": "", - "opcodes": "", - "sourceMap": "" - }, - "methodIdentifiers": { - "contractId()": "8291286c", - "implementation()": "5c60da1b", - "owner()": "8da5cb5b", - "setup(bytes)": "9ded06df", - "transferOwnership(address)": "f2fde38b", - "upgrade(address,bytes32,bytes)": "a3499c73" - } - }, - "metadata": "{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"InvalidCodeHash\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidImplementation\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidOwner\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotOwner\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotProxy\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SetupFailed\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"contractId\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"implementation\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"implementation_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"setup\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"newImplementationCodeHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"params\",\"type\":\"bytes\"}],\"name\":\"upgrade\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@axelar-network/axelar-cgp-solidity/contracts/util/Upgradable.sol\":\"Upgradable\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1000},\"remappings\":[]},\"sources\":{\"@axelar-network/axelar-cgp-solidity/contracts/interfaces/IUpgradable.sol\":{\"keccak256\":\"0x47d64169b4d38921c7ee78feecc75f3eb48246d28a5c6a5f24a1ab1d7031e344\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://56ab6a5e6464a29afff81cb57fdbb812c5574b545b549535427c2371950389fc\",\"dweb:/ipfs/QmW1joAce7d54PnP7RjWKVrvsqGMDHozELLFEKC1A6ctNe\"]},\"@axelar-network/axelar-cgp-solidity/contracts/util/Upgradable.sol\":{\"keccak256\":\"0x25fbe5a48b8c3766bfd264ce9633ceb0d49cbc4fa86ef550ae571a33a9a6130a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc7bfdac23f2c0483ed7b5f59d0e0f645ce90dcce67262bb6a86ee1b63fbcd6a\",\"dweb:/ipfs/QmPMcq4iEH1GomykzZE5VWCVifQeR2TsDo2GcHuLRFLT84\"]}},\"version\":1}" - } - }, - "src/contracts/test/Executable.sol": { - "Executable": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "gateway_", - "type": "address" - }, - { - "internalType": "address", - "name": "gasReceiver_", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "name": "NotApprovedByGateway", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "chain_", - "type": "string" - }, - { - "internalType": "string", - "name": "address_", - "type": "string" - } - ], - "name": "addSibling", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "commandId", - "type": "bytes32" - }, - { - "internalType": "string", - "name": "sourceChain", - "type": "string" - }, - { - "internalType": "string", - "name": "sourceAddress", - "type": "string" - }, - { - "internalType": "bytes", - "name": "payload", - "type": "bytes" - } - ], - "name": "execute", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "commandId", - "type": "bytes32" - }, - { - "internalType": "string", - "name": "sourceChain", - "type": "string" - }, - { - "internalType": "string", - "name": "sourceAddress", - "type": "string" - }, - { - "internalType": "bytes", - "name": "payload", - "type": "bytes" - }, - { - "internalType": "string", - "name": "tokenSymbol", - "type": "string" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "executeWithToken", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "gasReceiver", - "outputs": [ - { - "internalType": "contract IAxelarGasService", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "gateway", - "outputs": [ - { - "internalType": "contract IAxelarGateway", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "chain", - "type": "string" - }, - { - "internalType": "string", - "name": "value_", - "type": "string" - } - ], - "name": "set", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "name": "siblings", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "sourceAddress", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "sourceChain", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "value", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "evm": { - "bytecode": { - "functionDebugData": { - "@_5047": { - "entryPoint": null, - "id": 5047, - "parameterSlots": 1, - "returnSlots": 0 - }, - "@_6256": { - "entryPoint": null, - "id": 6256, - "parameterSlots": 2, - "returnSlots": 0 - }, - "abi_decode_address_fromMemory": { - "entryPoint": 96, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "abi_decode_tuple_t_addresst_address_fromMemory": { - "entryPoint": 124, - "id": null, - "parameterSlots": 2, - "returnSlots": 2 - } - }, - "generatedSources": [ - { - "ast": { - "nodeType": "YulBlock", - "src": "0:491:34", - "statements": [ - { - "nodeType": "YulBlock", - "src": "6:3:34", - "statements": [] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "74:117:34", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "84:22:34", - "value": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "99:6:34" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "93:5:34" - }, - "nodeType": "YulFunctionCall", - "src": "93:13:34" - }, - "variableNames": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "84:5:34" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "169:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "178:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "181:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "171:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "171:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "171:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "128:5:34" - }, - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "139:5:34" - }, - { - "arguments": [ - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "154:3:34", - "type": "", - "value": "160" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "159:1:34", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "150:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "150:11:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "163:1:34", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "146:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "146:19:34" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "135:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "135:31:34" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "125:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "125:42:34" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "118:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "118:50:34" - }, - "nodeType": "YulIf", - "src": "115:70:34" - } - ] - }, - "name": "abi_decode_address_fromMemory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "53:6:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "64:5:34", - "type": "" - } - ], - "src": "14:177:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "294:195:34", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "340:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "349:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "352:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "342:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "342:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "342:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "315:7:34" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "324:9:34" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "311:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "311:23:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "336:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "307:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "307:32:34" - }, - "nodeType": "YulIf", - "src": "304:52:34" - }, - { - "nodeType": "YulAssignment", - "src": "365:50:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "405:9:34" - } - ], - "functionName": { - "name": "abi_decode_address_fromMemory", - "nodeType": "YulIdentifier", - "src": "375:29:34" - }, - "nodeType": "YulFunctionCall", - "src": "375:40:34" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "365:6:34" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "424:59:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "468:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "479:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "464:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "464:18:34" - } - ], - "functionName": { - "name": "abi_decode_address_fromMemory", - "nodeType": "YulIdentifier", - "src": "434:29:34" - }, - "nodeType": "YulFunctionCall", - "src": "434:49:34" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "424:6:34" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_addresst_address_fromMemory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "252:9:34", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "263:7:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "275:6:34", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "283:6:34", - "type": "" - } - ], - "src": "196:293:34" - } - ] - }, - "contents": "{\n { }\n function abi_decode_address_fromMemory(offset) -> value\n {\n value := mload(offset)\n if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n }\n function abi_decode_tuple_t_addresst_address_fromMemory(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := abi_decode_address_fromMemory(headStart)\n value1 := abi_decode_address_fromMemory(add(headStart, 32))\n }\n}", - "id": 34, - "language": "Yul", - "name": "#utility.yul" - } - ], - "linkReferences": {}, - "object": "608060405234801561001057600080fd5b5060405161105738038061105783398101604081905261002f9161007c565b600080546001600160a01b039384166001600160a01b031991821617909155600480549290931691161790556100af565b80516001600160a01b038116811461007757600080fd5b919050565b6000806040838503121561008f57600080fd5b61009883610060565b91506100a660208401610060565b90509250929050565b610f99806100be6000396000f3fe6080604052600436106100b15760003560e01c80634916065811610069578063a7798b691161004e578063a7798b69146101ac578063b0fa8444146101cc578063e942b516146101e157600080fd5b8063491606581461016c57806380d14b4a1461018c57600080fd5b80631c6ffa461161009a5780631c6ffa46146101155780633fa4f2451461013757806345b48eb91461014c57600080fd5b8063116191b6146100b65780631a98b2e0146100f3575b600080fd5b3480156100c257600080fd5b506000546100d6906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156100ff57600080fd5b5061011361010e366004610912565b6101f4565b005b34801561012157600080fd5b5061012a61038f565b6040516100ea9190610a48565b34801561014357600080fd5b5061012a61041d565b34801561015857600080fd5b50610113610167366004610a62565b61042a565b34801561017857600080fd5b50610113610187366004610ace565b61045f565b34801561019857600080fd5b506004546100d6906001600160a01b031681565b3480156101b857600080fd5b5061012a6101c7366004610c15565b6105bb565b3480156101d857600080fd5b5061012a6105df565b6101136101ef366004610c52565b6105ec565b60008585604051610206929190610cbb565b6040519081900381206000547f1876eed90000000000000000000000000000000000000000000000000000000083529092506001600160a01b031690631876eed990610266908e908e908e908e908e9089908d908d908d90600401610cf4565b602060405180830381600087803b15801561028057600080fd5b505af1158015610294573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102b89190610d53565b6102d557604051631403112d60e21b815260040160405180910390fd5b6103828a8a8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8e018190048102820181019092528c815292508c91508b908190840183828082843760009201919091525050604080516020601f8b018190048102820181019092528981528c93508b9250908a908a90819084018382808284376000920191909152508a925061076c915050565b5050505050505050505050565b6002805461039c90610d75565b80601f01602080910402602001604051908101604052809291908181526020018280546103c890610d75565b80156104155780601f106103ea57610100808354040283529160200191610415565b820191906000526020600020905b8154815290600101906020018083116103f857829003601f168201915b505050505081565b6001805461039c90610d75565b81816005868660405161043e929190610cbb565b9081526040519081900360200190206104589290916107bc565b5050505050565b60008282604051610471929190610cbb565b6040519081900381206000547f5f6970c30000000000000000000000000000000000000000000000000000000083529092506001600160a01b031690635f6970c3906104cb908b908b908b908b908b908990600401610db0565b602060405180830381600087803b1580156104e557600080fd5b505af11580156104f9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061051d9190610d53565b61053a57604051631403112d60e21b815260040160405180910390fd5b6105b187878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8b0181900481028201810190925289815292508991508890819084018382808284376000920191909152508892508791506107749050565b5050505050505050565b80516020818301810180516005825292820191909301209152805461039c90610d75565b6003805461039c90610d75565b6105f8600183836107bc565b506000828260405160200161060e929190610df1565b60408051601f19818403018152919052905034156106cf576004546040516001600160a01b0390911690630c93e3bb90349030908890600590610652908390610e05565b9081526040519081900360200181207fffffffff0000000000000000000000000000000000000000000000000000000060e087901b16825261069c93929188903390600401610ec1565b6000604051808303818588803b1580156106b557600080fd5b505af11580156106c9573d6000803e3d6000fd5b50505050505b6000546040516001600160a01b0390911690631c92115f9086906005906106f7908390610e05565b9081526040519081900360200181207fffffffff0000000000000000000000000000000000000000000000000000000060e085901b16825261073e92918690600401610f20565b600060405180830381600087803b15801561075857600080fd5b505af11580156105b1573d6000803e3d6000fd5b505050505050565b61078081830183610c15565b805161079491600191602090910190610840565b5083516107a8906002906020870190610840565b508251610458906003906020860190610840565b8280546107c890610d75565b90600052602060002090601f0160209004810192826107ea5760008555610830565b82601f106108035782800160ff19823516178555610830565b82800160010185558215610830579182015b82811115610830578235825591602001919060010190610815565b5061083c9291506108b4565b5090565b82805461084c90610d75565b90600052602060002090601f01602090048101928261086e5760008555610830565b82601f1061088757805160ff1916838001178555610830565b82800160010185558215610830579182015b82811115610830578251825591602001919060010190610899565b5b8082111561083c57600081556001016108b5565b60008083601f8401126108db57600080fd5b50813567ffffffffffffffff8111156108f357600080fd5b60208301915083602082850101111561090b57600080fd5b9250929050565b60008060008060008060008060008060c08b8d03121561093157600080fd5b8a35995060208b013567ffffffffffffffff8082111561095057600080fd5b61095c8e838f016108c9565b909b50995060408d013591508082111561097557600080fd5b6109818e838f016108c9565b909950975060608d013591508082111561099a57600080fd5b6109a68e838f016108c9565b909750955060808d01359150808211156109bf57600080fd5b506109cc8d828e016108c9565b9150809450508092505060a08b013590509295989b9194979a5092959850565b60005b83811015610a075781810151838201526020016109ef565b83811115610a16576000848401525b50505050565b60008151808452610a348160208601602086016109ec565b601f01601f19169290920160200192915050565b602081526000610a5b6020830184610a1c565b9392505050565b60008060008060408587031215610a7857600080fd5b843567ffffffffffffffff80821115610a9057600080fd5b610a9c888389016108c9565b90965094506020870135915080821115610ab557600080fd5b50610ac2878288016108c9565b95989497509550505050565b60008060008060008060006080888a031215610ae957600080fd5b87359650602088013567ffffffffffffffff80821115610b0857600080fd5b610b148b838c016108c9565b909850965060408a0135915080821115610b2d57600080fd5b610b398b838c016108c9565b909650945060608a0135915080821115610b5257600080fd5b50610b5f8a828b016108c9565b989b979a50959850939692959293505050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112610b9957600080fd5b813567ffffffffffffffff80821115610bb457610bb4610b72565b604051601f8301601f19908116603f01168101908282118183101715610bdc57610bdc610b72565b81604052838152866020858801011115610bf557600080fd5b836020870160208301376000602085830101528094505050505092915050565b600060208284031215610c2757600080fd5b813567ffffffffffffffff811115610c3e57600080fd5b610c4a84828501610b88565b949350505050565b600080600060408486031215610c6757600080fd5b833567ffffffffffffffff80821115610c7f57600080fd5b610c8b87838801610b88565b94506020860135915080821115610ca157600080fd5b50610cae868287016108c9565b9497909650939450505050565b8183823760009101908152919050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b89815260c060208201526000610d0e60c083018a8c610ccb565b8281036040840152610d2181898b610ccb565b90508660608401528281036080840152610d3c818688610ccb565b9150508260a08301529a9950505050505050505050565b600060208284031215610d6557600080fd5b81518015158114610a5b57600080fd5b600181811c90821680610d8957607f821691505b60208210811415610daa57634e487b7160e01b600052602260045260246000fd5b50919050565b868152608060208201526000610dca608083018789610ccb565b8281036040840152610ddd818688610ccb565b915050826060830152979650505050505050565b602081526000610c4a602083018486610ccb565b60008251610e178184602087016109ec565b9190910192915050565b8054600090600181811c9080831680610e3b57607f831692505b6020808410821415610e5d57634e487b7160e01b600052602260045260246000fd5b83885260208801828015610e785760018114610e8957610eb4565b60ff19871682528282019750610eb4565b60008981526020902060005b87811015610eae57815484820152908601908401610e95565b83019850505b5050505050505092915050565b60006001600160a01b03808816835260a06020840152610ee460a0840188610a1c565b8381036040850152610ef68188610e21565b90508381036060850152610f0a8187610a1c565b9250508084166080840152509695505050505050565b606081526000610f336060830186610a1c565b8281036020840152610f458186610e21565b90508281036040840152610f598185610a1c565b969550505050505056fea2646970667358221220545371037fa224d924417ac4a807b3d9f405c5217172fe594583d0fe32f28a5b64736f6c63430008090033", - "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH2 0x1057 CODESIZE SUB DUP1 PUSH2 0x1057 DUP4 CODECOPY DUP2 ADD PUSH1 0x40 DUP2 SWAP1 MSTORE PUSH2 0x2F SWAP2 PUSH2 0x7C JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP4 DUP5 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT SWAP2 DUP3 AND OR SWAP1 SWAP2 SSTORE PUSH1 0x4 DUP1 SLOAD SWAP3 SWAP1 SWAP4 AND SWAP2 AND OR SWAP1 SSTORE PUSH2 0xAF JUMP JUMPDEST DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x77 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x8F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x98 DUP4 PUSH2 0x60 JUMP JUMPDEST SWAP2 POP PUSH2 0xA6 PUSH1 0x20 DUP5 ADD PUSH2 0x60 JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH2 0xF99 DUP1 PUSH2 0xBE PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0xB1 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x49160658 GT PUSH2 0x69 JUMPI DUP1 PUSH4 0xA7798B69 GT PUSH2 0x4E JUMPI DUP1 PUSH4 0xA7798B69 EQ PUSH2 0x1AC JUMPI DUP1 PUSH4 0xB0FA8444 EQ PUSH2 0x1CC JUMPI DUP1 PUSH4 0xE942B516 EQ PUSH2 0x1E1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x49160658 EQ PUSH2 0x16C JUMPI DUP1 PUSH4 0x80D14B4A EQ PUSH2 0x18C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x1C6FFA46 GT PUSH2 0x9A JUMPI DUP1 PUSH4 0x1C6FFA46 EQ PUSH2 0x115 JUMPI DUP1 PUSH4 0x3FA4F245 EQ PUSH2 0x137 JUMPI DUP1 PUSH4 0x45B48EB9 EQ PUSH2 0x14C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x116191B6 EQ PUSH2 0xB6 JUMPI DUP1 PUSH4 0x1A98B2E0 EQ PUSH2 0xF3 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x0 SLOAD PUSH2 0xD6 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xFF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x113 PUSH2 0x10E CALLDATASIZE PUSH1 0x4 PUSH2 0x912 JUMP JUMPDEST PUSH2 0x1F4 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x121 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x12A PUSH2 0x38F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xEA SWAP2 SWAP1 PUSH2 0xA48 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x143 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x12A PUSH2 0x41D JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x158 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x113 PUSH2 0x167 CALLDATASIZE PUSH1 0x4 PUSH2 0xA62 JUMP JUMPDEST PUSH2 0x42A JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x178 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x113 PUSH2 0x187 CALLDATASIZE PUSH1 0x4 PUSH2 0xACE JUMP JUMPDEST PUSH2 0x45F JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x198 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 SLOAD PUSH2 0xD6 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1B8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x12A PUSH2 0x1C7 CALLDATASIZE PUSH1 0x4 PUSH2 0xC15 JUMP JUMPDEST PUSH2 0x5BB JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1D8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x12A PUSH2 0x5DF JUMP JUMPDEST PUSH2 0x113 PUSH2 0x1EF CALLDATASIZE PUSH1 0x4 PUSH2 0xC52 JUMP JUMPDEST PUSH2 0x5EC JUMP JUMPDEST PUSH1 0x0 DUP6 DUP6 PUSH1 0x40 MLOAD PUSH2 0x206 SWAP3 SWAP2 SWAP1 PUSH2 0xCBB JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 SWAP1 SUB DUP2 KECCAK256 PUSH1 0x0 SLOAD PUSH32 0x1876EED900000000000000000000000000000000000000000000000000000000 DUP4 MSTORE SWAP1 SWAP3 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0x1876EED9 SWAP1 PUSH2 0x266 SWAP1 DUP15 SWAP1 DUP15 SWAP1 DUP15 SWAP1 DUP15 SWAP1 DUP15 SWAP1 DUP10 SWAP1 DUP14 SWAP1 DUP14 SWAP1 DUP14 SWAP1 PUSH1 0x4 ADD PUSH2 0xCF4 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x280 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x294 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x2B8 SWAP2 SWAP1 PUSH2 0xD53 JUMP JUMPDEST PUSH2 0x2D5 JUMPI PUSH1 0x40 MLOAD PUSH4 0x1403112D PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x382 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 PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 PUSH1 0x1F DUP15 ADD DUP2 SWAP1 DIV DUP2 MUL DUP3 ADD DUP2 ADD SWAP1 SWAP3 MSTORE DUP13 DUP2 MSTORE SWAP3 POP DUP13 SWAP2 POP DUP12 SWAP1 DUP2 SWAP1 DUP5 ADD DUP4 DUP3 DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 SWAP3 ADD SWAP2 SWAP1 SWAP2 MSTORE POP 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 DUP13 SWAP4 POP DUP12 SWAP3 POP SWAP1 DUP11 SWAP1 DUP11 SWAP1 DUP2 SWAP1 DUP5 ADD DUP4 DUP3 DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 SWAP3 ADD SWAP2 SWAP1 SWAP2 MSTORE POP DUP11 SWAP3 POP PUSH2 0x76C SWAP2 POP POP JUMP JUMPDEST POP POP POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x2 DUP1 SLOAD PUSH2 0x39C SWAP1 PUSH2 0xD75 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 0x3C8 SWAP1 PUSH2 0xD75 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x415 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x3EA JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x415 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 0x3F8 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 JUMP JUMPDEST PUSH1 0x1 DUP1 SLOAD PUSH2 0x39C SWAP1 PUSH2 0xD75 JUMP JUMPDEST DUP2 DUP2 PUSH1 0x5 DUP7 DUP7 PUSH1 0x40 MLOAD PUSH2 0x43E SWAP3 SWAP2 SWAP1 PUSH2 0xCBB JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x40 MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 KECCAK256 PUSH2 0x458 SWAP3 SWAP1 SWAP2 PUSH2 0x7BC JUMP JUMPDEST POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 PUSH1 0x40 MLOAD PUSH2 0x471 SWAP3 SWAP2 SWAP1 PUSH2 0xCBB JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 SWAP1 SUB DUP2 KECCAK256 PUSH1 0x0 SLOAD PUSH32 0x5F6970C300000000000000000000000000000000000000000000000000000000 DUP4 MSTORE SWAP1 SWAP3 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0x5F6970C3 SWAP1 PUSH2 0x4CB SWAP1 DUP12 SWAP1 DUP12 SWAP1 DUP12 SWAP1 DUP12 SWAP1 DUP12 SWAP1 DUP10 SWAP1 PUSH1 0x4 ADD PUSH2 0xDB0 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x4E5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x4F9 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x51D SWAP2 SWAP1 PUSH2 0xD53 JUMP JUMPDEST PUSH2 0x53A JUMPI PUSH1 0x40 MLOAD PUSH4 0x1403112D PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x5B1 DUP8 DUP8 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 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 SWAP3 POP DUP10 SWAP2 POP DUP9 SWAP1 DUP2 SWAP1 DUP5 ADD DUP4 DUP3 DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 SWAP3 ADD SWAP2 SWAP1 SWAP2 MSTORE POP DUP9 SWAP3 POP DUP8 SWAP2 POP PUSH2 0x774 SWAP1 POP JUMP JUMPDEST POP POP POP POP POP POP POP POP JUMP JUMPDEST DUP1 MLOAD PUSH1 0x20 DUP2 DUP4 ADD DUP2 ADD DUP1 MLOAD PUSH1 0x5 DUP3 MSTORE SWAP3 DUP3 ADD SWAP2 SWAP1 SWAP4 ADD KECCAK256 SWAP2 MSTORE DUP1 SLOAD PUSH2 0x39C SWAP1 PUSH2 0xD75 JUMP JUMPDEST PUSH1 0x3 DUP1 SLOAD PUSH2 0x39C SWAP1 PUSH2 0xD75 JUMP JUMPDEST PUSH2 0x5F8 PUSH1 0x1 DUP4 DUP4 PUSH2 0x7BC JUMP JUMPDEST POP PUSH1 0x0 DUP3 DUP3 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x60E SWAP3 SWAP2 SWAP1 PUSH2 0xDF1 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F NOT DUP2 DUP5 SUB ADD DUP2 MSTORE SWAP2 SWAP1 MSTORE SWAP1 POP CALLVALUE ISZERO PUSH2 0x6CF JUMPI PUSH1 0x4 SLOAD PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0xC93E3BB SWAP1 CALLVALUE SWAP1 ADDRESS SWAP1 DUP9 SWAP1 PUSH1 0x5 SWAP1 PUSH2 0x652 SWAP1 DUP4 SWAP1 PUSH2 0xE05 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x40 MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD DUP2 KECCAK256 PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 PUSH1 0xE0 DUP8 SWAP1 SHL AND DUP3 MSTORE PUSH2 0x69C SWAP4 SWAP3 SWAP2 DUP9 SWAP1 CALLER SWAP1 PUSH1 0x4 ADD PUSH2 0xEC1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP9 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x6B5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x6C9 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP POP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x1C92115F SWAP1 DUP7 SWAP1 PUSH1 0x5 SWAP1 PUSH2 0x6F7 SWAP1 DUP4 SWAP1 PUSH2 0xE05 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x40 MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD DUP2 KECCAK256 PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 PUSH1 0xE0 DUP6 SWAP1 SHL AND DUP3 MSTORE PUSH2 0x73E SWAP3 SWAP2 DUP7 SWAP1 PUSH1 0x4 ADD PUSH2 0xF20 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x758 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x5B1 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x780 DUP2 DUP4 ADD DUP4 PUSH2 0xC15 JUMP JUMPDEST DUP1 MLOAD PUSH2 0x794 SWAP2 PUSH1 0x1 SWAP2 PUSH1 0x20 SWAP1 SWAP2 ADD SWAP1 PUSH2 0x840 JUMP JUMPDEST POP DUP4 MLOAD PUSH2 0x7A8 SWAP1 PUSH1 0x2 SWAP1 PUSH1 0x20 DUP8 ADD SWAP1 PUSH2 0x840 JUMP JUMPDEST POP DUP3 MLOAD PUSH2 0x458 SWAP1 PUSH1 0x3 SWAP1 PUSH1 0x20 DUP7 ADD SWAP1 PUSH2 0x840 JUMP JUMPDEST DUP3 DUP1 SLOAD PUSH2 0x7C8 SWAP1 PUSH2 0xD75 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 PUSH2 0x7EA JUMPI PUSH1 0x0 DUP6 SSTORE PUSH2 0x830 JUMP JUMPDEST DUP3 PUSH1 0x1F LT PUSH2 0x803 JUMPI DUP3 DUP1 ADD PUSH1 0xFF NOT DUP3 CALLDATALOAD AND OR DUP6 SSTORE PUSH2 0x830 JUMP JUMPDEST DUP3 DUP1 ADD PUSH1 0x1 ADD DUP6 SSTORE DUP3 ISZERO PUSH2 0x830 JUMPI SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH2 0x830 JUMPI DUP3 CALLDATALOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x815 JUMP JUMPDEST POP PUSH2 0x83C SWAP3 SWAP2 POP PUSH2 0x8B4 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST DUP3 DUP1 SLOAD PUSH2 0x84C SWAP1 PUSH2 0xD75 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 PUSH2 0x86E JUMPI PUSH1 0x0 DUP6 SSTORE PUSH2 0x830 JUMP JUMPDEST DUP3 PUSH1 0x1F LT PUSH2 0x887 JUMPI DUP1 MLOAD PUSH1 0xFF NOT AND DUP4 DUP1 ADD OR DUP6 SSTORE PUSH2 0x830 JUMP JUMPDEST DUP3 DUP1 ADD PUSH1 0x1 ADD DUP6 SSTORE DUP3 ISZERO PUSH2 0x830 JUMPI SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH2 0x830 JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x899 JUMP JUMPDEST JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x83C JUMPI PUSH1 0x0 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x8B5 JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0x8DB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP DUP2 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x8F3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x20 DUP3 DUP6 ADD ADD GT ISZERO PUSH2 0x90B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0xC0 DUP12 DUP14 SUB SLT ISZERO PUSH2 0x931 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP11 CALLDATALOAD SWAP10 POP PUSH1 0x20 DUP12 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x950 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x95C DUP15 DUP4 DUP16 ADD PUSH2 0x8C9 JUMP JUMPDEST SWAP1 SWAP12 POP SWAP10 POP PUSH1 0x40 DUP14 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x975 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x981 DUP15 DUP4 DUP16 ADD PUSH2 0x8C9 JUMP JUMPDEST SWAP1 SWAP10 POP SWAP8 POP PUSH1 0x60 DUP14 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x99A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x9A6 DUP15 DUP4 DUP16 ADD PUSH2 0x8C9 JUMP JUMPDEST SWAP1 SWAP8 POP SWAP6 POP PUSH1 0x80 DUP14 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x9BF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x9CC DUP14 DUP3 DUP15 ADD PUSH2 0x8C9 JUMP JUMPDEST SWAP2 POP DUP1 SWAP5 POP POP DUP1 SWAP3 POP POP PUSH1 0xA0 DUP12 ADD CALLDATALOAD SWAP1 POP SWAP3 SWAP6 SWAP9 SWAP12 SWAP2 SWAP5 SWAP8 SWAP11 POP SWAP3 SWAP6 SWAP9 POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0xA07 JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x9EF JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0xA16 JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH2 0xA34 DUP2 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP7 ADD PUSH2 0x9EC JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x20 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0xA5B PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0xA1C JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x40 DUP6 DUP8 SUB SLT ISZERO PUSH2 0xA78 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP5 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0xA90 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xA9C DUP9 DUP4 DUP10 ADD PUSH2 0x8C9 JUMP JUMPDEST SWAP1 SWAP7 POP SWAP5 POP PUSH1 0x20 DUP8 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0xAB5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xAC2 DUP8 DUP3 DUP9 ADD PUSH2 0x8C9 JUMP JUMPDEST SWAP6 SWAP9 SWAP5 SWAP8 POP SWAP6 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x80 DUP9 DUP11 SUB SLT ISZERO PUSH2 0xAE9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP8 CALLDATALOAD SWAP7 POP PUSH1 0x20 DUP9 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0xB08 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xB14 DUP12 DUP4 DUP13 ADD PUSH2 0x8C9 JUMP JUMPDEST SWAP1 SWAP9 POP SWAP7 POP PUSH1 0x40 DUP11 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0xB2D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xB39 DUP12 DUP4 DUP13 ADD PUSH2 0x8C9 JUMP JUMPDEST SWAP1 SWAP7 POP SWAP5 POP PUSH1 0x60 DUP11 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0xB52 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xB5F DUP11 DUP3 DUP12 ADD PUSH2 0x8C9 JUMP JUMPDEST SWAP9 SWAP12 SWAP8 SWAP11 POP SWAP6 SWAP9 POP SWAP4 SWAP7 SWAP3 SWAP6 SWAP3 SWAP4 POP POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0xB99 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0xBB4 JUMPI PUSH2 0xBB4 PUSH2 0xB72 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP4 ADD PUSH1 0x1F NOT SWAP1 DUP2 AND PUSH1 0x3F ADD AND DUP2 ADD SWAP1 DUP3 DUP3 GT DUP2 DUP4 LT OR ISZERO PUSH2 0xBDC JUMPI PUSH2 0xBDC PUSH2 0xB72 JUMP JUMPDEST DUP2 PUSH1 0x40 MSTORE DUP4 DUP2 MSTORE DUP7 PUSH1 0x20 DUP6 DUP9 ADD ADD GT ISZERO PUSH2 0xBF5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 PUSH1 0x20 DUP8 ADD PUSH1 0x20 DUP4 ADD CALLDATACOPY PUSH1 0x0 PUSH1 0x20 DUP6 DUP4 ADD ADD MSTORE DUP1 SWAP5 POP POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xC27 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xC3E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xC4A DUP5 DUP3 DUP6 ADD PUSH2 0xB88 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x40 DUP5 DUP7 SUB SLT ISZERO PUSH2 0xC67 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0xC7F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xC8B DUP8 DUP4 DUP9 ADD PUSH2 0xB88 JUMP JUMPDEST SWAP5 POP PUSH1 0x20 DUP7 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0xCA1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xCAE DUP7 DUP3 DUP8 ADD PUSH2 0x8C9 JUMP JUMPDEST SWAP5 SWAP8 SWAP1 SWAP7 POP SWAP4 SWAP5 POP POP POP POP JUMP JUMPDEST DUP2 DUP4 DUP3 CALLDATACOPY PUSH1 0x0 SWAP2 ADD SWAP1 DUP2 MSTORE SWAP2 SWAP1 POP JUMP JUMPDEST DUP2 DUP4 MSTORE DUP2 DUP2 PUSH1 0x20 DUP6 ADD CALLDATACOPY POP PUSH1 0x0 DUP3 DUP3 ADD PUSH1 0x20 SWAP1 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x1F SWAP1 SWAP2 ADD PUSH1 0x1F NOT AND SWAP1 SWAP2 ADD ADD SWAP1 JUMP JUMPDEST DUP10 DUP2 MSTORE PUSH1 0xC0 PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x0 PUSH2 0xD0E PUSH1 0xC0 DUP4 ADD DUP11 DUP13 PUSH2 0xCCB JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x40 DUP5 ADD MSTORE PUSH2 0xD21 DUP2 DUP10 DUP12 PUSH2 0xCCB JUMP JUMPDEST SWAP1 POP DUP7 PUSH1 0x60 DUP5 ADD MSTORE DUP3 DUP2 SUB PUSH1 0x80 DUP5 ADD MSTORE PUSH2 0xD3C DUP2 DUP7 DUP9 PUSH2 0xCCB JUMP JUMPDEST SWAP2 POP POP DUP3 PUSH1 0xA0 DUP4 ADD MSTORE SWAP11 SWAP10 POP POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xD65 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0xA5B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0xD89 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH2 0xDAA 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 DUP7 DUP2 MSTORE PUSH1 0x80 PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x0 PUSH2 0xDCA PUSH1 0x80 DUP4 ADD DUP8 DUP10 PUSH2 0xCCB JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x40 DUP5 ADD MSTORE PUSH2 0xDDD DUP2 DUP7 DUP9 PUSH2 0xCCB JUMP JUMPDEST SWAP2 POP POP DUP3 PUSH1 0x60 DUP4 ADD MSTORE SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0xC4A PUSH1 0x20 DUP4 ADD DUP5 DUP7 PUSH2 0xCCB JUMP JUMPDEST PUSH1 0x0 DUP3 MLOAD PUSH2 0xE17 DUP2 DUP5 PUSH1 0x20 DUP8 ADD PUSH2 0x9EC JUMP JUMPDEST SWAP2 SWAP1 SWAP2 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST DUP1 SLOAD PUSH1 0x0 SWAP1 PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP1 DUP4 AND DUP1 PUSH2 0xE3B JUMPI PUSH1 0x7F DUP4 AND SWAP3 POP JUMPDEST PUSH1 0x20 DUP1 DUP5 LT DUP3 EQ ISZERO PUSH2 0xE5D JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP4 DUP9 MSTORE PUSH1 0x20 DUP9 ADD DUP3 DUP1 ISZERO PUSH2 0xE78 JUMPI PUSH1 0x1 DUP2 EQ PUSH2 0xE89 JUMPI PUSH2 0xEB4 JUMP JUMPDEST PUSH1 0xFF NOT DUP8 AND DUP3 MSTORE DUP3 DUP3 ADD SWAP8 POP PUSH2 0xEB4 JUMP JUMPDEST PUSH1 0x0 DUP10 DUP2 MSTORE PUSH1 0x20 SWAP1 KECCAK256 PUSH1 0x0 JUMPDEST DUP8 DUP2 LT ISZERO PUSH2 0xEAE JUMPI DUP2 SLOAD DUP5 DUP3 ADD MSTORE SWAP1 DUP7 ADD SWAP1 DUP5 ADD PUSH2 0xE95 JUMP JUMPDEST DUP4 ADD SWAP9 POP POP JUMPDEST POP POP POP POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP9 AND DUP4 MSTORE PUSH1 0xA0 PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0xEE4 PUSH1 0xA0 DUP5 ADD DUP9 PUSH2 0xA1C JUMP JUMPDEST DUP4 DUP2 SUB PUSH1 0x40 DUP6 ADD MSTORE PUSH2 0xEF6 DUP2 DUP9 PUSH2 0xE21 JUMP JUMPDEST SWAP1 POP DUP4 DUP2 SUB PUSH1 0x60 DUP6 ADD MSTORE PUSH2 0xF0A DUP2 DUP8 PUSH2 0xA1C JUMP JUMPDEST SWAP3 POP POP DUP1 DUP5 AND PUSH1 0x80 DUP5 ADD MSTORE POP SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x60 DUP2 MSTORE PUSH1 0x0 PUSH2 0xF33 PUSH1 0x60 DUP4 ADD DUP7 PUSH2 0xA1C JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0xF45 DUP2 DUP7 PUSH2 0xE21 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 SUB PUSH1 0x40 DUP5 ADD MSTORE PUSH2 0xF59 DUP2 DUP6 PUSH2 0xA1C JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SLOAD MSTORE8 PUSH18 0x37FA224D924417AC4A807B3D9F405C52171 PUSH19 0xFE594583D0FE32F28A5B64736F6C6343000809 STOP CALLER ", - "sourceMap": "290:1525:32:-:0;;;516:142;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;266:7:17;:34;;-1:-1:-1;;;;;266:34:17;;;-1:-1:-1;;;;;;266:34:17;;;;;;;606:11:32::1;:45:::0;;;;;::::1;::::0;::::1;;::::0;;290:1525;;14:177:34;93:13;;-1:-1:-1;;;;;135:31:34;;125:42;;115:70;;181:1;178;171:12;115:70;14:177;;;:::o;196:293::-;275:6;283;336:2;324:9;315:7;311:23;307:32;304:52;;;352:1;349;342:12;304:52;375:40;405:9;375:40;:::i;:::-;365:50;;434:49;479:2;468:9;464:18;434:49;:::i;:::-;424:59;;196:293;;;;;:::o;:::-;290:1525:32;;;;;;" - }, - "deployedBytecode": { - "functionDebugData": { - "@_executeWithToken_5151": { - "entryPoint": 1900, - "id": 5151, - "parameterSlots": 6, - "returnSlots": 0 - }, - "@_execute_6354": { - "entryPoint": 1908, - "id": 6354, - "parameterSlots": 4, - "returnSlots": 0 - }, - "@addSibling_6270": { - "entryPoint": 1066, - "id": 6270, - "parameterSlots": 4, - "returnSlots": 0 - }, - "@executeWithToken_5127": { - "entryPoint": 500, - "id": 5127, - "parameterSlots": 10, - "returnSlots": 0 - }, - "@execute_5083": { - "entryPoint": 1119, - "id": 5083, - "parameterSlots": 7, - "returnSlots": 0 - }, - "@gasReceiver_6235": { - "entryPoint": null, - "id": 6235, - "parameterSlots": 0, - "returnSlots": 0 - }, - "@gateway_5035": { - "entryPoint": null, - "id": 5035, - "parameterSlots": 0, - "returnSlots": 0 - }, - "@set_6324": { - "entryPoint": 1516, - "id": 6324, - "parameterSlots": 3, - "returnSlots": 0 - }, - "@siblings_6239": { - "entryPoint": 1467, - "id": 6239, - "parameterSlots": 0, - "returnSlots": 0 - }, - "@sourceAddress_6232": { - "entryPoint": 1503, - "id": 6232, - "parameterSlots": 0, - "returnSlots": 0 - }, - "@sourceChain_6230": { - "entryPoint": 911, - "id": 6230, - "parameterSlots": 0, - "returnSlots": 0 - }, - "@value_6228": { - "entryPoint": 1053, - "id": 6228, - "parameterSlots": 0, - "returnSlots": 0 - }, - "abi_decode_string": { - "entryPoint": 2952, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_decode_string_calldata": { - "entryPoint": 2249, - "id": null, - "parameterSlots": 2, - "returnSlots": 2 - }, - "abi_decode_tuple_t_bool_fromMemory": { - "entryPoint": 3411, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_decode_tuple_t_bytes32t_string_calldata_ptrt_string_calldata_ptrt_bytes_calldata_ptr": { - "entryPoint": 2766, - "id": null, - "parameterSlots": 2, - "returnSlots": 7 - }, - "abi_decode_tuple_t_bytes32t_string_calldata_ptrt_string_calldata_ptrt_bytes_calldata_ptrt_string_calldata_ptrt_uint256": { - "entryPoint": 2322, - "id": null, - "parameterSlots": 2, - "returnSlots": 10 - }, - "abi_decode_tuple_t_string_calldata_ptrt_string_calldata_ptr": { - "entryPoint": 2658, - "id": null, - "parameterSlots": 2, - "returnSlots": 4 - }, - "abi_decode_tuple_t_string_memory_ptr": { - "entryPoint": 3093, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_decode_tuple_t_string_memory_ptrt_string_calldata_ptr": { - "entryPoint": 3154, - "id": null, - "parameterSlots": 2, - "returnSlots": 3 - }, - "abi_encode_string": { - "entryPoint": 2588, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_encode_string_calldata": { - "entryPoint": 3275, - "id": null, - "parameterSlots": 3, - "returnSlots": 1 - }, - "abi_encode_string_storage": { - "entryPoint": 3617, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_encode_tuple_packed_t_bytes_calldata_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed": { - "entryPoint": 3259, - "id": null, - "parameterSlots": 3, - "returnSlots": 1 - }, - "abi_encode_tuple_packed_t_string_calldata_ptr__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed": { - "entryPoint": null, - "id": null, - "parameterSlots": 3, - "returnSlots": 1 - }, - "abi_encode_tuple_packed_t_string_memory_ptr__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed": { - "entryPoint": 3589, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_encode_tuple_t_address_t_string_memory_ptr_t_string_storage_t_bytes_memory_ptr_t_address__to_t_address_t_string_memory_ptr_t_string_memory_ptr_t_bytes_memory_ptr_t_address__fromStack_reversed": { - "entryPoint": 3777, - "id": null, - "parameterSlots": 6, - "returnSlots": 1 - }, - "abi_encode_tuple_t_bytes32_t_string_calldata_ptr_t_string_calldata_ptr_t_bytes32__to_t_bytes32_t_string_memory_ptr_t_string_memory_ptr_t_bytes32__fromStack_reversed": { - "entryPoint": 3504, - "id": null, - "parameterSlots": 7, - "returnSlots": 1 - }, - "abi_encode_tuple_t_bytes32_t_string_calldata_ptr_t_string_calldata_ptr_t_bytes32_t_string_calldata_ptr_t_uint256__to_t_bytes32_t_string_memory_ptr_t_string_memory_ptr_t_bytes32_t_string_memory_ptr_t_uint256__fromStack_reversed": { - "entryPoint": 3316, - "id": null, - "parameterSlots": 10, - "returnSlots": 1 - }, - "abi_encode_tuple_t_contract$_IAxelarGasService_$5359__to_t_address__fromStack_reversed": { - "entryPoint": null, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_encode_tuple_t_contract$_IAxelarGateway_$5700__to_t_address__fromStack_reversed": { - "entryPoint": null, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_encode_tuple_t_string_calldata_ptr__to_t_string_memory_ptr__fromStack_reversed": { - "entryPoint": 3569, - "id": null, - "parameterSlots": 3, - "returnSlots": 1 - }, - "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed": { - "entryPoint": 2632, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_encode_tuple_t_string_memory_ptr_t_string_storage_t_bytes_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr_t_bytes_memory_ptr__fromStack_reversed": { - "entryPoint": 3872, - "id": null, - "parameterSlots": 4, - "returnSlots": 1 - }, - "array_dataslot_string_storage": { - "entryPoint": null, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "array_storeLengthForEncoding_string": { - "entryPoint": null, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "copy_memory_to_memory": { - "entryPoint": 2540, - "id": null, - "parameterSlots": 3, - "returnSlots": 0 - }, - "extract_byte_array_length": { - "entryPoint": 3445, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "panic_error_0x41": { - "entryPoint": 2930, - "id": null, - "parameterSlots": 0, - "returnSlots": 0 - } - }, - "generatedSources": [ - { - "ast": { - "nodeType": "YulBlock", - "src": "0:12989:34", - "statements": [ - { - "nodeType": "YulBlock", - "src": "6:3:34", - "statements": [] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "138:125:34", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "148:26:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "160:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "171:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "156:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "156:18:34" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "148:4:34" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "190:9:34" - }, - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "205:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "213:42:34", - "type": "", - "value": "0xffffffffffffffffffffffffffffffffffffffff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "201:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "201:55:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "183:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "183:74:34" - }, - "nodeType": "YulExpressionStatement", - "src": "183:74:34" - } - ] - }, - "name": "abi_encode_tuple_t_contract$_IAxelarGateway_$5700__to_t_address__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "107:9:34", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "118:6:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "129:4:34", - "type": "" - } - ], - "src": "14:249:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "341:275:34", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "390:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "399:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "402:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "392:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "392:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "392:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "369:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "377:4:34", - "type": "", - "value": "0x1f" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "365:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "365:17:34" - }, - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "384:3:34" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "361:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "361:27:34" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "354:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "354:35:34" - }, - "nodeType": "YulIf", - "src": "351:55:34" - }, - { - "nodeType": "YulAssignment", - "src": "415:30:34", - "value": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "438:6:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "425:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "425:20:34" - }, - "variableNames": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "415:6:34" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "488:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "497:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "500:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "490:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "490:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "490:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "460:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "468:18:34", - "type": "", - "value": "0xffffffffffffffff" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "457:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "457:30:34" - }, - "nodeType": "YulIf", - "src": "454:50:34" - }, - { - "nodeType": "YulAssignment", - "src": "513:29:34", - "value": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "529:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "537:4:34", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "525:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "525:17:34" - }, - "variableNames": [ - { - "name": "arrayPos", - "nodeType": "YulIdentifier", - "src": "513:8:34" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "594:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "603:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "606:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "596:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "596:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "596:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "565:6:34" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "573:6:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "561:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "561:19:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "582:4:34", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "557:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "557:30:34" - }, - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "589:3:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "554:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "554:39:34" - }, - "nodeType": "YulIf", - "src": "551:59:34" - } - ] - }, - "name": "abi_decode_string_calldata", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "304:6:34", - "type": "" - }, - { - "name": "end", - "nodeType": "YulTypedName", - "src": "312:3:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "arrayPos", - "nodeType": "YulTypedName", - "src": "320:8:34", - "type": "" - }, - { - "name": "length", - "nodeType": "YulTypedName", - "src": "330:6:34", - "type": "" - } - ], - "src": "268:348:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "855:1203:34", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "902:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "911:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "914:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "904:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "904:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "904:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "876:7:34" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "885:9:34" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "872:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "872:23:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "897:3:34", - "type": "", - "value": "192" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "868:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "868:33:34" - }, - "nodeType": "YulIf", - "src": "865:53:34" - }, - { - "nodeType": "YulAssignment", - "src": "927:33:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "950:9:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "937:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "937:23:34" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "927:6:34" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "969:46:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1000:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1011:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "996:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "996:18:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "983:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "983:32:34" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "973:6:34", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1024:28:34", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1034:18:34", - "type": "", - "value": "0xffffffffffffffff" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "1028:2:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1079:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1088:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1091:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "1081:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "1081:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "1081:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "1067:6:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "1075:2:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "1064:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "1064:14:34" - }, - "nodeType": "YulIf", - "src": "1061:34:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1104:85:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1161:9:34" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "1172:6:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1157:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1157:22:34" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "1181:7:34" - } - ], - "functionName": { - "name": "abi_decode_string_calldata", - "nodeType": "YulIdentifier", - "src": "1130:26:34" - }, - "nodeType": "YulFunctionCall", - "src": "1130:59:34" - }, - "variables": [ - { - "name": "value1_1", - "nodeType": "YulTypedName", - "src": "1108:8:34", - "type": "" - }, - { - "name": "value2_1", - "nodeType": "YulTypedName", - "src": "1118:8:34", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "1198:18:34", - "value": { - "name": "value1_1", - "nodeType": "YulIdentifier", - "src": "1208:8:34" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "1198:6:34" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "1225:18:34", - "value": { - "name": "value2_1", - "nodeType": "YulIdentifier", - "src": "1235:8:34" - }, - "variableNames": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "1225:6:34" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1252:48:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1285:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1296:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1281:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1281:18:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "1268:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "1268:32:34" - }, - "variables": [ - { - "name": "offset_1", - "nodeType": "YulTypedName", - "src": "1256:8:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1329:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1338:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1341:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "1331:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "1331:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "1331:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset_1", - "nodeType": "YulIdentifier", - "src": "1315:8:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "1325:2:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "1312:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "1312:16:34" - }, - "nodeType": "YulIf", - "src": "1309:36:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1354:87:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1411:9:34" - }, - { - "name": "offset_1", - "nodeType": "YulIdentifier", - "src": "1422:8:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1407:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1407:24:34" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "1433:7:34" - } - ], - "functionName": { - "name": "abi_decode_string_calldata", - "nodeType": "YulIdentifier", - "src": "1380:26:34" - }, - "nodeType": "YulFunctionCall", - "src": "1380:61:34" - }, - "variables": [ - { - "name": "value3_1", - "nodeType": "YulTypedName", - "src": "1358:8:34", - "type": "" - }, - { - "name": "value4_1", - "nodeType": "YulTypedName", - "src": "1368:8:34", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "1450:18:34", - "value": { - "name": "value3_1", - "nodeType": "YulIdentifier", - "src": "1460:8:34" - }, - "variableNames": [ - { - "name": "value3", - "nodeType": "YulIdentifier", - "src": "1450:6:34" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "1477:18:34", - "value": { - "name": "value4_1", - "nodeType": "YulIdentifier", - "src": "1487:8:34" - }, - "variableNames": [ - { - "name": "value4", - "nodeType": "YulIdentifier", - "src": "1477:6:34" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1504:48:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1537:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1548:2:34", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1533:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1533:18:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "1520:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "1520:32:34" - }, - "variables": [ - { - "name": "offset_2", - "nodeType": "YulTypedName", - "src": "1508:8:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1581:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1590:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1593:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "1583:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "1583:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "1583:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset_2", - "nodeType": "YulIdentifier", - "src": "1567:8:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "1577:2:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "1564:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "1564:16:34" - }, - "nodeType": "YulIf", - "src": "1561:36:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1606:87:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1663:9:34" - }, - { - "name": "offset_2", - "nodeType": "YulIdentifier", - "src": "1674:8:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1659:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1659:24:34" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "1685:7:34" - } - ], - "functionName": { - "name": "abi_decode_string_calldata", - "nodeType": "YulIdentifier", - "src": "1632:26:34" - }, - "nodeType": "YulFunctionCall", - "src": "1632:61:34" - }, - "variables": [ - { - "name": "value5_1", - "nodeType": "YulTypedName", - "src": "1610:8:34", - "type": "" - }, - { - "name": "value6_1", - "nodeType": "YulTypedName", - "src": "1620:8:34", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "1702:18:34", - "value": { - "name": "value5_1", - "nodeType": "YulIdentifier", - "src": "1712:8:34" - }, - "variableNames": [ - { - "name": "value5", - "nodeType": "YulIdentifier", - "src": "1702:6:34" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "1729:18:34", - "value": { - "name": "value6_1", - "nodeType": "YulIdentifier", - "src": "1739:8:34" - }, - "variableNames": [ - { - "name": "value6", - "nodeType": "YulIdentifier", - "src": "1729:6:34" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1756:49:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1789:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1800:3:34", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1785:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1785:19:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "1772:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "1772:33:34" - }, - "variables": [ - { - "name": "offset_3", - "nodeType": "YulTypedName", - "src": "1760:8:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1834:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1843:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1846:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "1836:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "1836:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "1836:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset_3", - "nodeType": "YulIdentifier", - "src": "1820:8:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "1830:2:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "1817:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "1817:16:34" - }, - "nodeType": "YulIf", - "src": "1814:36:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1859:87:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1916:9:34" - }, - { - "name": "offset_3", - "nodeType": "YulIdentifier", - "src": "1927:8:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1912:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1912:24:34" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "1938:7:34" - } - ], - "functionName": { - "name": "abi_decode_string_calldata", - "nodeType": "YulIdentifier", - "src": "1885:26:34" - }, - "nodeType": "YulFunctionCall", - "src": "1885:61:34" - }, - "variables": [ - { - "name": "value7_1", - "nodeType": "YulTypedName", - "src": "1863:8:34", - "type": "" - }, - { - "name": "value8_1", - "nodeType": "YulTypedName", - "src": "1873:8:34", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "1955:18:34", - "value": { - "name": "value7_1", - "nodeType": "YulIdentifier", - "src": "1965:8:34" - }, - "variableNames": [ - { - "name": "value7", - "nodeType": "YulIdentifier", - "src": "1955:6:34" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "1982:18:34", - "value": { - "name": "value8_1", - "nodeType": "YulIdentifier", - "src": "1992:8:34" - }, - "variableNames": [ - { - "name": "value8", - "nodeType": "YulIdentifier", - "src": "1982:6:34" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "2009:43:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2036:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2047:3:34", - "type": "", - "value": "160" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2032:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "2032:19:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "2019:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "2019:33:34" - }, - "variableNames": [ - { - "name": "value9", - "nodeType": "YulIdentifier", - "src": "2009:6:34" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_bytes32t_string_calldata_ptrt_string_calldata_ptrt_bytes_calldata_ptrt_string_calldata_ptrt_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "749:9:34", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "760:7:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "772:6:34", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "780:6:34", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "788:6:34", - "type": "" - }, - { - "name": "value3", - "nodeType": "YulTypedName", - "src": "796:6:34", - "type": "" - }, - { - "name": "value4", - "nodeType": "YulTypedName", - "src": "804:6:34", - "type": "" - }, - { - "name": "value5", - "nodeType": "YulTypedName", - "src": "812:6:34", - "type": "" - }, - { - "name": "value6", - "nodeType": "YulTypedName", - "src": "820:6:34", - "type": "" - }, - { - "name": "value7", - "nodeType": "YulTypedName", - "src": "828:6:34", - "type": "" - }, - { - "name": "value8", - "nodeType": "YulTypedName", - "src": "836:6:34", - "type": "" - }, - { - "name": "value9", - "nodeType": "YulTypedName", - "src": "844:6:34", - "type": "" - } - ], - "src": "621:1437:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2140:73:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "2157:3:34" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "2162:6:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2150:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "2150:19:34" - }, - "nodeType": "YulExpressionStatement", - "src": "2150:19:34" - }, - { - "nodeType": "YulAssignment", - "src": "2178:29:34", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "2197:3:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2202:4:34", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2193:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "2193:14:34" - }, - "variableNames": [ - { - "name": "updated_pos", - "nodeType": "YulIdentifier", - "src": "2178:11:34" - } - ] - } - ] - }, - "name": "array_storeLengthForEncoding_string", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "2108:3:34", - "type": "" - }, - { - "name": "length", - "nodeType": "YulTypedName", - "src": "2113:6:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "updated_pos", - "nodeType": "YulTypedName", - "src": "2124:11:34", - "type": "" - } - ], - "src": "2063:150:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2271:205:34", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "2281:10:34", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2290:1:34", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "i", - "nodeType": "YulTypedName", - "src": "2285:1:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2350:63:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "2375:3:34" - }, - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "2380:1:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2371:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "2371:11:34" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "2394:3:34" - }, - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "2399:1:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2390:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "2390:11:34" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "2384:5:34" - }, - "nodeType": "YulFunctionCall", - "src": "2384:18:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2364:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "2364:39:34" - }, - "nodeType": "YulExpressionStatement", - "src": "2364:39:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "2311:1:34" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "2314:6:34" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "2308:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "2308:13:34" - }, - "nodeType": "YulForLoop", - "post": { - "nodeType": "YulBlock", - "src": "2322:19:34", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "2324:15:34", - "value": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "2333:1:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2336:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2329:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "2329:10:34" - }, - "variableNames": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "2324:1:34" - } - ] - } - ] - }, - "pre": { - "nodeType": "YulBlock", - "src": "2304:3:34", - "statements": [] - }, - "src": "2300:113:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2439:31:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "2452:3:34" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "2457:6:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2448:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "2448:16:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2466:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2441:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "2441:27:34" - }, - "nodeType": "YulExpressionStatement", - "src": "2441:27:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "2428:1:34" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "2431:6:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "2425:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "2425:13:34" - }, - "nodeType": "YulIf", - "src": "2422:48:34" - } - ] - }, - "name": "copy_memory_to_memory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "src", - "nodeType": "YulTypedName", - "src": "2249:3:34", - "type": "" - }, - { - "name": "dst", - "nodeType": "YulTypedName", - "src": "2254:3:34", - "type": "" - }, - { - "name": "length", - "nodeType": "YulTypedName", - "src": "2259:6:34", - "type": "" - } - ], - "src": "2218:258:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2531:208:34", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "2541:26:34", - "value": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "2561:5:34" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "2555:5:34" - }, - "nodeType": "YulFunctionCall", - "src": "2555:12:34" - }, - "variables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "2545:6:34", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "2583:3:34" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "2588:6:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2576:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "2576:19:34" - }, - "nodeType": "YulExpressionStatement", - "src": "2576:19:34" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "2630:5:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2637:4:34", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2626:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "2626:16:34" - }, - { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "2648:3:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2653:4:34", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2644:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "2644:14:34" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "2660:6:34" - } - ], - "functionName": { - "name": "copy_memory_to_memory", - "nodeType": "YulIdentifier", - "src": "2604:21:34" - }, - "nodeType": "YulFunctionCall", - "src": "2604:63:34" - }, - "nodeType": "YulExpressionStatement", - "src": "2604:63:34" - }, - { - "nodeType": "YulAssignment", - "src": "2676:57:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "2691:3:34" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "2704:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2712:2:34", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2700:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "2700:15:34" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2721:2:34", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "2717:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "2717:7:34" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "2696:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "2696:29:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2687:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "2687:39:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2728:4:34", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2683:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "2683:50:34" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "2676:3:34" - } - ] - } - ] - }, - "name": "abi_encode_string", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "2508:5:34", - "type": "" - }, - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "2515:3:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "2523:3:34", - "type": "" - } - ], - "src": "2481:258:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2865:99:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2882:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2893:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2875:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "2875:21:34" - }, - "nodeType": "YulExpressionStatement", - "src": "2875:21:34" - }, - { - "nodeType": "YulAssignment", - "src": "2905:53:34", - "value": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "2931:6:34" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2943:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2954:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2939:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "2939:18:34" - } - ], - "functionName": { - "name": "abi_encode_string", - "nodeType": "YulIdentifier", - "src": "2913:17:34" - }, - "nodeType": "YulFunctionCall", - "src": "2913:45:34" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "2905:4:34" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "2834:9:34", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "2845:6:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "2856:4:34", - "type": "" - } - ], - "src": "2744:220:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3096:594:34", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "3142:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3151:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3154:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "3144:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "3144:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "3144:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "3117:7:34" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3126:9:34" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "3113:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "3113:23:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3138:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "3109:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "3109:32:34" - }, - "nodeType": "YulIf", - "src": "3106:52:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "3167:37:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3194:9:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "3181:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "3181:23:34" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "3171:6:34", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "3213:28:34", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3223:18:34", - "type": "", - "value": "0xffffffffffffffff" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "3217:2:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3268:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3277:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3280:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "3270:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "3270:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "3270:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "3256:6:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "3264:2:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "3253:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "3253:14:34" - }, - "nodeType": "YulIf", - "src": "3250:34:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "3293:85:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3350:9:34" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "3361:6:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3346:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "3346:22:34" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "3370:7:34" - } - ], - "functionName": { - "name": "abi_decode_string_calldata", - "nodeType": "YulIdentifier", - "src": "3319:26:34" - }, - "nodeType": "YulFunctionCall", - "src": "3319:59:34" - }, - "variables": [ - { - "name": "value0_1", - "nodeType": "YulTypedName", - "src": "3297:8:34", - "type": "" - }, - { - "name": "value1_1", - "nodeType": "YulTypedName", - "src": "3307:8:34", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "3387:18:34", - "value": { - "name": "value0_1", - "nodeType": "YulIdentifier", - "src": "3397:8:34" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "3387:6:34" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "3414:18:34", - "value": { - "name": "value1_1", - "nodeType": "YulIdentifier", - "src": "3424:8:34" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "3414:6:34" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "3441:48:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3474:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3485:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3470:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "3470:18:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "3457:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "3457:32:34" - }, - "variables": [ - { - "name": "offset_1", - "nodeType": "YulTypedName", - "src": "3445:8:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3518:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3527:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3530:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "3520:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "3520:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "3520:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset_1", - "nodeType": "YulIdentifier", - "src": "3504:8:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "3514:2:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "3501:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "3501:16:34" - }, - "nodeType": "YulIf", - "src": "3498:36:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "3543:87:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3600:9:34" - }, - { - "name": "offset_1", - "nodeType": "YulIdentifier", - "src": "3611:8:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3596:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "3596:24:34" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "3622:7:34" - } - ], - "functionName": { - "name": "abi_decode_string_calldata", - "nodeType": "YulIdentifier", - "src": "3569:26:34" - }, - "nodeType": "YulFunctionCall", - "src": "3569:61:34" - }, - "variables": [ - { - "name": "value2_1", - "nodeType": "YulTypedName", - "src": "3547:8:34", - "type": "" - }, - { - "name": "value3_1", - "nodeType": "YulTypedName", - "src": "3557:8:34", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "3639:18:34", - "value": { - "name": "value2_1", - "nodeType": "YulIdentifier", - "src": "3649:8:34" - }, - "variableNames": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "3639:6:34" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "3666:18:34", - "value": { - "name": "value3_1", - "nodeType": "YulIdentifier", - "src": "3676:8:34" - }, - "variableNames": [ - { - "name": "value3", - "nodeType": "YulIdentifier", - "src": "3666:6:34" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_string_calldata_ptrt_string_calldata_ptr", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "3038:9:34", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "3049:7:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "3061:6:34", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "3069:6:34", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "3077:6:34", - "type": "" - }, - { - "name": "value3", - "nodeType": "YulTypedName", - "src": "3085:6:34", - "type": "" - } - ], - "src": "2969:721:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3875:898:34", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "3922:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3931:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3934:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "3924:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "3924:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "3924:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "3896:7:34" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3905:9:34" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "3892:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "3892:23:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3917:3:34", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "3888:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "3888:33:34" - }, - "nodeType": "YulIf", - "src": "3885:53:34" - }, - { - "nodeType": "YulAssignment", - "src": "3947:33:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3970:9:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "3957:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "3957:23:34" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "3947:6:34" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "3989:46:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4020:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4031:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4016:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "4016:18:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "4003:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "4003:32:34" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "3993:6:34", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "4044:28:34", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4054:18:34", - "type": "", - "value": "0xffffffffffffffff" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "4048:2:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4099:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4108:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4111:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "4101:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "4101:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "4101:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "4087:6:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "4095:2:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "4084:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "4084:14:34" - }, - "nodeType": "YulIf", - "src": "4081:34:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "4124:85:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4181:9:34" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "4192:6:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4177:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "4177:22:34" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "4201:7:34" - } - ], - "functionName": { - "name": "abi_decode_string_calldata", - "nodeType": "YulIdentifier", - "src": "4150:26:34" - }, - "nodeType": "YulFunctionCall", - "src": "4150:59:34" - }, - "variables": [ - { - "name": "value1_1", - "nodeType": "YulTypedName", - "src": "4128:8:34", - "type": "" - }, - { - "name": "value2_1", - "nodeType": "YulTypedName", - "src": "4138:8:34", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "4218:18:34", - "value": { - "name": "value1_1", - "nodeType": "YulIdentifier", - "src": "4228:8:34" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "4218:6:34" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "4245:18:34", - "value": { - "name": "value2_1", - "nodeType": "YulIdentifier", - "src": "4255:8:34" - }, - "variableNames": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "4245:6:34" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "4272:48:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4305:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4316:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4301:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "4301:18:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "4288:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "4288:32:34" - }, - "variables": [ - { - "name": "offset_1", - "nodeType": "YulTypedName", - "src": "4276:8:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4349:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4358:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4361:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "4351:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "4351:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "4351:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset_1", - "nodeType": "YulIdentifier", - "src": "4335:8:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "4345:2:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "4332:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "4332:16:34" - }, - "nodeType": "YulIf", - "src": "4329:36:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "4374:87:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4431:9:34" - }, - { - "name": "offset_1", - "nodeType": "YulIdentifier", - "src": "4442:8:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4427:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "4427:24:34" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "4453:7:34" - } - ], - "functionName": { - "name": "abi_decode_string_calldata", - "nodeType": "YulIdentifier", - "src": "4400:26:34" - }, - "nodeType": "YulFunctionCall", - "src": "4400:61:34" - }, - "variables": [ - { - "name": "value3_1", - "nodeType": "YulTypedName", - "src": "4378:8:34", - "type": "" - }, - { - "name": "value4_1", - "nodeType": "YulTypedName", - "src": "4388:8:34", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "4470:18:34", - "value": { - "name": "value3_1", - "nodeType": "YulIdentifier", - "src": "4480:8:34" - }, - "variableNames": [ - { - "name": "value3", - "nodeType": "YulIdentifier", - "src": "4470:6:34" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "4497:18:34", - "value": { - "name": "value4_1", - "nodeType": "YulIdentifier", - "src": "4507:8:34" - }, - "variableNames": [ - { - "name": "value4", - "nodeType": "YulIdentifier", - "src": "4497:6:34" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "4524:48:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4557:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4568:2:34", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4553:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "4553:18:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "4540:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "4540:32:34" - }, - "variables": [ - { - "name": "offset_2", - "nodeType": "YulTypedName", - "src": "4528:8:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4601:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4610:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4613:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "4603:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "4603:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "4603:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset_2", - "nodeType": "YulIdentifier", - "src": "4587:8:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "4597:2:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "4584:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "4584:16:34" - }, - "nodeType": "YulIf", - "src": "4581:36:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "4626:87:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4683:9:34" - }, - { - "name": "offset_2", - "nodeType": "YulIdentifier", - "src": "4694:8:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4679:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "4679:24:34" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "4705:7:34" - } - ], - "functionName": { - "name": "abi_decode_string_calldata", - "nodeType": "YulIdentifier", - "src": "4652:26:34" - }, - "nodeType": "YulFunctionCall", - "src": "4652:61:34" - }, - "variables": [ - { - "name": "value5_1", - "nodeType": "YulTypedName", - "src": "4630:8:34", - "type": "" - }, - { - "name": "value6_1", - "nodeType": "YulTypedName", - "src": "4640:8:34", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "4722:18:34", - "value": { - "name": "value5_1", - "nodeType": "YulIdentifier", - "src": "4732:8:34" - }, - "variableNames": [ - { - "name": "value5", - "nodeType": "YulIdentifier", - "src": "4722:6:34" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "4749:18:34", - "value": { - "name": "value6_1", - "nodeType": "YulIdentifier", - "src": "4759:8:34" - }, - "variableNames": [ - { - "name": "value6", - "nodeType": "YulIdentifier", - "src": "4749:6:34" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_bytes32t_string_calldata_ptrt_string_calldata_ptrt_bytes_calldata_ptr", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "3793:9:34", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "3804:7:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "3816:6:34", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "3824:6:34", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "3832:6:34", - "type": "" - }, - { - "name": "value3", - "nodeType": "YulTypedName", - "src": "3840:6:34", - "type": "" - }, - { - "name": "value4", - "nodeType": "YulTypedName", - "src": "3848:6:34", - "type": "" - }, - { - "name": "value5", - "nodeType": "YulTypedName", - "src": "3856:6:34", - "type": "" - }, - { - "name": "value6", - "nodeType": "YulTypedName", - "src": "3864:6:34", - "type": "" - } - ], - "src": "3695:1078:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4905:125:34", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "4915:26:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4927:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4938:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4923:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "4923:18:34" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "4915:4:34" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4957:9:34" - }, - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "4972:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4980:42:34", - "type": "", - "value": "0xffffffffffffffffffffffffffffffffffffffff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "4968:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "4968:55:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "4950:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "4950:74:34" - }, - "nodeType": "YulExpressionStatement", - "src": "4950:74:34" - } - ] - }, - "name": "abi_encode_tuple_t_contract$_IAxelarGasService_$5359__to_t_address__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "4874:9:34", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "4885:6:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "4896:4:34", - "type": "" - } - ], - "src": "4778:252:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5067:152:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5084:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5087:77:34", - "type": "", - "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "5077:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "5077:88:34" - }, - "nodeType": "YulExpressionStatement", - "src": "5077:88:34" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5181:1:34", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5184:4:34", - "type": "", - "value": "0x41" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "5174:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "5174:15:34" - }, - "nodeType": "YulExpressionStatement", - "src": "5174:15:34" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5205:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5208:4:34", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "5198:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "5198:15:34" - }, - "nodeType": "YulExpressionStatement", - "src": "5198:15:34" - } - ] - }, - "name": "panic_error_0x41", - "nodeType": "YulFunctionDefinition", - "src": "5035:184:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5277:666:34", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "5326:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5335:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5338:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "5328:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "5328:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "5328:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "5305:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5313:4:34", - "type": "", - "value": "0x1f" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5301:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "5301:17:34" - }, - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "5320:3:34" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "5297:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "5297:27:34" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "5290:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "5290:35:34" - }, - "nodeType": "YulIf", - "src": "5287:55:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "5351:30:34", - "value": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "5374:6:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "5361:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "5361:20:34" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "5355:2:34", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "5390:28:34", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5400:18:34", - "type": "", - "value": "0xffffffffffffffff" - }, - "variables": [ - { - "name": "_2", - "nodeType": "YulTypedName", - "src": "5394:2:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5441:22:34", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x41", - "nodeType": "YulIdentifier", - "src": "5443:16:34" - }, - "nodeType": "YulFunctionCall", - "src": "5443:18:34" - }, - "nodeType": "YulExpressionStatement", - "src": "5443:18:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "5433:2:34" - }, - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "5437:2:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "5430:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "5430:10:34" - }, - "nodeType": "YulIf", - "src": "5427:36:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "5472:17:34", - "value": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5486:2:34", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "5482:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "5482:7:34" - }, - "variables": [ - { - "name": "_3", - "nodeType": "YulTypedName", - "src": "5476:2:34", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "5498:23:34", - "value": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5518:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "5512:5:34" - }, - "nodeType": "YulFunctionCall", - "src": "5512:9:34" - }, - "variables": [ - { - "name": "memPtr", - "nodeType": "YulTypedName", - "src": "5502:6:34", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "5530:71:34", - "value": { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "5552:6:34" - }, - { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "5576:2:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5580:4:34", - "type": "", - "value": "0x1f" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5572:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "5572:13:34" - }, - { - "name": "_3", - "nodeType": "YulIdentifier", - "src": "5587:2:34" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "5568:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "5568:22:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5592:2:34", - "type": "", - "value": "63" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5564:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "5564:31:34" - }, - { - "name": "_3", - "nodeType": "YulIdentifier", - "src": "5597:2:34" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "5560:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "5560:40:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5548:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "5548:53:34" - }, - "variables": [ - { - "name": "newFreePtr", - "nodeType": "YulTypedName", - "src": "5534:10:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5660:22:34", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x41", - "nodeType": "YulIdentifier", - "src": "5662:16:34" - }, - "nodeType": "YulFunctionCall", - "src": "5662:18:34" - }, - "nodeType": "YulExpressionStatement", - "src": "5662:18:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "newFreePtr", - "nodeType": "YulIdentifier", - "src": "5619:10:34" - }, - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "5631:2:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "5616:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "5616:18:34" - }, - { - "arguments": [ - { - "name": "newFreePtr", - "nodeType": "YulIdentifier", - "src": "5639:10:34" - }, - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "5651:6:34" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "5636:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "5636:22:34" - } - ], - "functionName": { - "name": "or", - "nodeType": "YulIdentifier", - "src": "5613:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "5613:46:34" - }, - "nodeType": "YulIf", - "src": "5610:72:34" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5698:2:34", - "type": "", - "value": "64" - }, - { - "name": "newFreePtr", - "nodeType": "YulIdentifier", - "src": "5702:10:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "5691:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "5691:22:34" - }, - "nodeType": "YulExpressionStatement", - "src": "5691:22:34" - }, - { - "expression": { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "5729:6:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "5737:2:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "5722:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "5722:18:34" - }, - "nodeType": "YulExpressionStatement", - "src": "5722:18:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5788:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5797:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5800:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "5790:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "5790:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "5790:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "5763:6:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "5771:2:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5759:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "5759:15:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5776:4:34", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5755:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "5755:26:34" - }, - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "5783:3:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "5752:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "5752:35:34" - }, - "nodeType": "YulIf", - "src": "5749:55:34" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "5830:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5838:4:34", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5826:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "5826:17:34" - }, - { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "5849:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5857:4:34", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5845:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "5845:17:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "5864:2:34" - } - ], - "functionName": { - "name": "calldatacopy", - "nodeType": "YulIdentifier", - "src": "5813:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "5813:54:34" - }, - "nodeType": "YulExpressionStatement", - "src": "5813:54:34" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "5891:6:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "5899:2:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5887:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "5887:15:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5904:4:34", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5883:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "5883:26:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5911:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "5876:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "5876:37:34" - }, - "nodeType": "YulExpressionStatement", - "src": "5876:37:34" - }, - { - "nodeType": "YulAssignment", - "src": "5922:15:34", - "value": { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "5931:6:34" - }, - "variableNames": [ - { - "name": "array", - "nodeType": "YulIdentifier", - "src": "5922:5:34" - } - ] - } - ] - }, - "name": "abi_decode_string", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "5251:6:34", - "type": "" - }, - { - "name": "end", - "nodeType": "YulTypedName", - "src": "5259:3:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "array", - "nodeType": "YulTypedName", - "src": "5267:5:34", - "type": "" - } - ], - "src": "5224:719:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "6028:242:34", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "6074:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6083:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6086:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "6076:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "6076:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "6076:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "6049:7:34" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6058:9:34" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "6045:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "6045:23:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6070:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "6041:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "6041:32:34" - }, - "nodeType": "YulIf", - "src": "6038:52:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "6099:37:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6126:9:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "6113:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "6113:23:34" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "6103:6:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "6179:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6188:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6191:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "6181:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "6181:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "6181:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "6151:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6159:18:34", - "type": "", - "value": "0xffffffffffffffff" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "6148:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "6148:30:34" - }, - "nodeType": "YulIf", - "src": "6145:50:34" - }, - { - "nodeType": "YulAssignment", - "src": "6204:60:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6236:9:34" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "6247:6:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6232:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "6232:22:34" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "6256:7:34" - } - ], - "functionName": { - "name": "abi_decode_string", - "nodeType": "YulIdentifier", - "src": "6214:17:34" - }, - "nodeType": "YulFunctionCall", - "src": "6214:50:34" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "6204:6:34" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_string_memory_ptr", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "5994:9:34", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "6005:7:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "6017:6:34", - "type": "" - } - ], - "src": "5948:322:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "6392:515:34", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "6438:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6447:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6450:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "6440:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "6440:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "6440:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "6413:7:34" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6422:9:34" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "6409:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "6409:23:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6434:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "6405:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "6405:32:34" - }, - "nodeType": "YulIf", - "src": "6402:52:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "6463:37:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6490:9:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "6477:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "6477:23:34" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "6467:6:34", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "6509:28:34", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6519:18:34", - "type": "", - "value": "0xffffffffffffffff" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "6513:2:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "6564:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6573:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6576:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "6566:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "6566:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "6566:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "6552:6:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "6560:2:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "6549:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "6549:14:34" - }, - "nodeType": "YulIf", - "src": "6546:34:34" - }, - { - "nodeType": "YulAssignment", - "src": "6589:60:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6621:9:34" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "6632:6:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6617:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "6617:22:34" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "6641:7:34" - } - ], - "functionName": { - "name": "abi_decode_string", - "nodeType": "YulIdentifier", - "src": "6599:17:34" - }, - "nodeType": "YulFunctionCall", - "src": "6599:50:34" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "6589:6:34" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "6658:48:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6691:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6702:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6687:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "6687:18:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "6674:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "6674:32:34" - }, - "variables": [ - { - "name": "offset_1", - "nodeType": "YulTypedName", - "src": "6662:8:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "6735:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6744:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6747:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "6737:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "6737:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "6737:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset_1", - "nodeType": "YulIdentifier", - "src": "6721:8:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "6731:2:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "6718:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "6718:16:34" - }, - "nodeType": "YulIf", - "src": "6715:36:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "6760:87:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6817:9:34" - }, - { - "name": "offset_1", - "nodeType": "YulIdentifier", - "src": "6828:8:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6813:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "6813:24:34" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "6839:7:34" - } - ], - "functionName": { - "name": "abi_decode_string_calldata", - "nodeType": "YulIdentifier", - "src": "6786:26:34" - }, - "nodeType": "YulFunctionCall", - "src": "6786:61:34" - }, - "variables": [ - { - "name": "value1_1", - "nodeType": "YulTypedName", - "src": "6764:8:34", - "type": "" - }, - { - "name": "value2_1", - "nodeType": "YulTypedName", - "src": "6774:8:34", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "6856:18:34", - "value": { - "name": "value1_1", - "nodeType": "YulIdentifier", - "src": "6866:8:34" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "6856:6:34" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "6883:18:34", - "value": { - "name": "value2_1", - "nodeType": "YulIdentifier", - "src": "6893:8:34" - }, - "variableNames": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "6883:6:34" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_string_memory_ptrt_string_calldata_ptr", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "6342:9:34", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "6353:7:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "6365:6:34", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "6373:6:34", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "6381:6:34", - "type": "" - } - ], - "src": "6275:632:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "7059:124:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "7082:3:34" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "7087:6:34" - }, - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "7095:6:34" - } - ], - "functionName": { - "name": "calldatacopy", - "nodeType": "YulIdentifier", - "src": "7069:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "7069:33:34" - }, - "nodeType": "YulExpressionStatement", - "src": "7069:33:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "7111:26:34", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "7125:3:34" - }, - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "7130:6:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7121:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "7121:16:34" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "7115:2:34", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "7153:2:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7157:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "7146:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "7146:13:34" - }, - "nodeType": "YulExpressionStatement", - "src": "7146:13:34" - }, - { - "nodeType": "YulAssignment", - "src": "7168:9:34", - "value": { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "7175:2:34" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "7168:3:34" - } - ] - } - ] - }, - "name": "abi_encode_tuple_packed_t_bytes_calldata_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "7027:3:34", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "7032:6:34", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "7040:6:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "7051:3:34", - "type": "" - } - ], - "src": "6912:271:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "7255:200:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "7272:3:34" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "7277:6:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "7265:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "7265:19:34" - }, - "nodeType": "YulExpressionStatement", - "src": "7265:19:34" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "7310:3:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7315:4:34", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7306:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "7306:14:34" - }, - { - "name": "start", - "nodeType": "YulIdentifier", - "src": "7322:5:34" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "7329:6:34" - } - ], - "functionName": { - "name": "calldatacopy", - "nodeType": "YulIdentifier", - "src": "7293:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "7293:43:34" - }, - "nodeType": "YulExpressionStatement", - "src": "7293:43:34" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "7360:3:34" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "7365:6:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7356:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "7356:16:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7374:4:34", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7352:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "7352:27:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7381:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "7345:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "7345:38:34" - }, - "nodeType": "YulExpressionStatement", - "src": "7345:38:34" - }, - { - "nodeType": "YulAssignment", - "src": "7392:57:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "7407:3:34" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "7420:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7428:2:34", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7416:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "7416:15:34" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7437:2:34", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "7433:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "7433:7:34" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "7412:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "7412:29:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7403:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "7403:39:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7444:4:34", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7399:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "7399:50:34" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "7392:3:34" - } - ] - } - ] - }, - "name": "abi_encode_string_calldata", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "start", - "nodeType": "YulTypedName", - "src": "7224:5:34", - "type": "" - }, - { - "name": "length", - "nodeType": "YulTypedName", - "src": "7231:6:34", - "type": "" - }, - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "7239:3:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "7247:3:34", - "type": "" - } - ], - "src": "7188:267:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "7791:513:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7808:9:34" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "7819:6:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "7801:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "7801:25:34" - }, - "nodeType": "YulExpressionStatement", - "src": "7801:25:34" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7846:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7857:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7842:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "7842:18:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7862:3:34", - "type": "", - "value": "192" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "7835:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "7835:31:34" - }, - "nodeType": "YulExpressionStatement", - "src": "7835:31:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "7875:77:34", - "value": { - "arguments": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "7916:6:34" - }, - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "7924:6:34" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7936:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7947:3:34", - "type": "", - "value": "192" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7932:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "7932:19:34" - } - ], - "functionName": { - "name": "abi_encode_string_calldata", - "nodeType": "YulIdentifier", - "src": "7889:26:34" - }, - "nodeType": "YulFunctionCall", - "src": "7889:63:34" - }, - "variables": [ - { - "name": "tail_1", - "nodeType": "YulTypedName", - "src": "7879:6:34", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7972:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7983:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7968:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "7968:18:34" - }, - { - "arguments": [ - { - "name": "tail_1", - "nodeType": "YulIdentifier", - "src": "7992:6:34" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "8000:9:34" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "7988:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "7988:22:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "7961:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "7961:50:34" - }, - "nodeType": "YulExpressionStatement", - "src": "7961:50:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "8020:64:34", - "value": { - "arguments": [ - { - "name": "value3", - "nodeType": "YulIdentifier", - "src": "8061:6:34" - }, - { - "name": "value4", - "nodeType": "YulIdentifier", - "src": "8069:6:34" - }, - { - "name": "tail_1", - "nodeType": "YulIdentifier", - "src": "8077:6:34" - } - ], - "functionName": { - "name": "abi_encode_string_calldata", - "nodeType": "YulIdentifier", - "src": "8034:26:34" - }, - "nodeType": "YulFunctionCall", - "src": "8034:50:34" - }, - "variables": [ - { - "name": "tail_2", - "nodeType": "YulTypedName", - "src": "8024:6:34", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "8104:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8115:2:34", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8100:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "8100:18:34" - }, - { - "name": "value5", - "nodeType": "YulIdentifier", - "src": "8120:6:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "8093:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "8093:34:34" - }, - "nodeType": "YulExpressionStatement", - "src": "8093:34:34" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "8147:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8158:3:34", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8143:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "8143:19:34" - }, - { - "arguments": [ - { - "name": "tail_2", - "nodeType": "YulIdentifier", - "src": "8168:6:34" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "8176:9:34" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "8164:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "8164:22:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "8136:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "8136:51:34" - }, - "nodeType": "YulExpressionStatement", - "src": "8136:51:34" - }, - { - "nodeType": "YulAssignment", - "src": "8196:58:34", - "value": { - "arguments": [ - { - "name": "value6", - "nodeType": "YulIdentifier", - "src": "8231:6:34" - }, - { - "name": "value7", - "nodeType": "YulIdentifier", - "src": "8239:6:34" - }, - { - "name": "tail_2", - "nodeType": "YulIdentifier", - "src": "8247:6:34" - } - ], - "functionName": { - "name": "abi_encode_string_calldata", - "nodeType": "YulIdentifier", - "src": "8204:26:34" - }, - "nodeType": "YulFunctionCall", - "src": "8204:50:34" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "8196:4:34" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "8274:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8285:3:34", - "type": "", - "value": "160" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8270:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "8270:19:34" - }, - { - "name": "value8", - "nodeType": "YulIdentifier", - "src": "8291:6:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "8263:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "8263:35:34" - }, - "nodeType": "YulExpressionStatement", - "src": "8263:35:34" - } - ] - }, - "name": "abi_encode_tuple_t_bytes32_t_string_calldata_ptr_t_string_calldata_ptr_t_bytes32_t_string_calldata_ptr_t_uint256__to_t_bytes32_t_string_memory_ptr_t_string_memory_ptr_t_bytes32_t_string_memory_ptr_t_uint256__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "7696:9:34", - "type": "" - }, - { - "name": "value8", - "nodeType": "YulTypedName", - "src": "7707:6:34", - "type": "" - }, - { - "name": "value7", - "nodeType": "YulTypedName", - "src": "7715:6:34", - "type": "" - }, - { - "name": "value6", - "nodeType": "YulTypedName", - "src": "7723:6:34", - "type": "" - }, - { - "name": "value5", - "nodeType": "YulTypedName", - "src": "7731:6:34", - "type": "" - }, - { - "name": "value4", - "nodeType": "YulTypedName", - "src": "7739:6:34", - "type": "" - }, - { - "name": "value3", - "nodeType": "YulTypedName", - "src": "7747:6:34", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "7755:6:34", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "7763:6:34", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "7771:6:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "7782:4:34", - "type": "" - } - ], - "src": "7460:844:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "8387:199:34", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "8433:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8442:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8445:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "8435:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "8435:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "8435:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "8408:7:34" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "8417:9:34" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "8404:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "8404:23:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8429:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "8400:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "8400:32:34" - }, - "nodeType": "YulIf", - "src": "8397:52:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "8458:29:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "8477:9:34" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "8471:5:34" - }, - "nodeType": "YulFunctionCall", - "src": "8471:16:34" - }, - "variables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "8462:5:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "8540:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8549:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8552:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "8542:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "8542:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "8542:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "8509:5:34" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "8530:5:34" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "8523:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "8523:13:34" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "8516:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "8516:21:34" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "8506:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "8506:32:34" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "8499:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "8499:40:34" - }, - "nodeType": "YulIf", - "src": "8496:60:34" - }, - { - "nodeType": "YulAssignment", - "src": "8565:15:34", - "value": { - "name": "value", - "nodeType": "YulIdentifier", - "src": "8575:5:34" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "8565:6:34" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_bool_fromMemory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "8353:9:34", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "8364:7:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "8376:6:34", - "type": "" - } - ], - "src": "8309:277:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "8646:382:34", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "8656:22:34", - "value": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8670:1:34", - "type": "", - "value": "1" - }, - { - "name": "data", - "nodeType": "YulIdentifier", - "src": "8673:4:34" - } - ], - "functionName": { - "name": "shr", - "nodeType": "YulIdentifier", - "src": "8666:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "8666:12:34" - }, - "variableNames": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "8656:6:34" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "8687:38:34", - "value": { - "arguments": [ - { - "name": "data", - "nodeType": "YulIdentifier", - "src": "8717:4:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8723:1:34", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "8713:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "8713:12:34" - }, - "variables": [ - { - "name": "outOfPlaceEncoding", - "nodeType": "YulTypedName", - "src": "8691:18:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "8764:31:34", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "8766:27:34", - "value": { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "8780:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8788:4:34", - "type": "", - "value": "0x7f" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "8776:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "8776:17:34" - }, - "variableNames": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "8766:6:34" - } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "outOfPlaceEncoding", - "nodeType": "YulIdentifier", - "src": "8744:18:34" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "8737:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "8737:26:34" - }, - "nodeType": "YulIf", - "src": "8734:61:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "8854:168:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8875:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8878:77:34", - "type": "", - "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "8868:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "8868:88:34" - }, - "nodeType": "YulExpressionStatement", - "src": "8868:88:34" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8976:1:34", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8979:4:34", - "type": "", - "value": "0x22" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "8969:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "8969:15:34" - }, - "nodeType": "YulExpressionStatement", - "src": "8969:15:34" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9004:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9007:4:34", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "8997:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "8997:15:34" - }, - "nodeType": "YulExpressionStatement", - "src": "8997:15:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "outOfPlaceEncoding", - "nodeType": "YulIdentifier", - "src": "8810:18:34" - }, - { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "8833:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8841:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "8830:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "8830:14:34" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "8807:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "8807:38:34" - }, - "nodeType": "YulIf", - "src": "8804:218:34" - } - ] - }, - "name": "extract_byte_array_length", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "data", - "nodeType": "YulTypedName", - "src": "8626:4:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "8635:6:34", - "type": "" - } - ], - "src": "8591:437:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "9182:124:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "9205:3:34" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "9210:6:34" - }, - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "9218:6:34" - } - ], - "functionName": { - "name": "calldatacopy", - "nodeType": "YulIdentifier", - "src": "9192:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "9192:33:34" - }, - "nodeType": "YulExpressionStatement", - "src": "9192:33:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "9234:26:34", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "9248:3:34" - }, - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "9253:6:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9244:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "9244:16:34" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "9238:2:34", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "9276:2:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9280:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "9269:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "9269:13:34" - }, - "nodeType": "YulExpressionStatement", - "src": "9269:13:34" - }, - { - "nodeType": "YulAssignment", - "src": "9291:9:34", - "value": { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "9298:2:34" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "9291:3:34" - } - ] - } - ] - }, - "name": "abi_encode_tuple_packed_t_string_calldata_ptr__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "9150:3:34", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "9155:6:34", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "9163:6:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "9174:3:34", - "type": "" - } - ], - "src": "9033:273:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "9556:336:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9573:9:34" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "9584:6:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "9566:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "9566:25:34" - }, - "nodeType": "YulExpressionStatement", - "src": "9566:25:34" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9611:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9622:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9607:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "9607:18:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9627:3:34", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "9600:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "9600:31:34" - }, - "nodeType": "YulExpressionStatement", - "src": "9600:31:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "9640:77:34", - "value": { - "arguments": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "9681:6:34" - }, - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "9689:6:34" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9701:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9712:3:34", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9697:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "9697:19:34" - } - ], - "functionName": { - "name": "abi_encode_string_calldata", - "nodeType": "YulIdentifier", - "src": "9654:26:34" - }, - "nodeType": "YulFunctionCall", - "src": "9654:63:34" - }, - "variables": [ - { - "name": "tail_1", - "nodeType": "YulTypedName", - "src": "9644:6:34", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9737:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9748:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9733:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "9733:18:34" - }, - { - "arguments": [ - { - "name": "tail_1", - "nodeType": "YulIdentifier", - "src": "9757:6:34" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9765:9:34" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "9753:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "9753:22:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "9726:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "9726:50:34" - }, - "nodeType": "YulExpressionStatement", - "src": "9726:50:34" - }, - { - "nodeType": "YulAssignment", - "src": "9785:58:34", - "value": { - "arguments": [ - { - "name": "value3", - "nodeType": "YulIdentifier", - "src": "9820:6:34" - }, - { - "name": "value4", - "nodeType": "YulIdentifier", - "src": "9828:6:34" - }, - { - "name": "tail_1", - "nodeType": "YulIdentifier", - "src": "9836:6:34" - } - ], - "functionName": { - "name": "abi_encode_string_calldata", - "nodeType": "YulIdentifier", - "src": "9793:26:34" - }, - "nodeType": "YulFunctionCall", - "src": "9793:50:34" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "9785:4:34" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9863:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9874:2:34", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9859:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "9859:18:34" - }, - { - "name": "value5", - "nodeType": "YulIdentifier", - "src": "9879:6:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "9852:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "9852:34:34" - }, - "nodeType": "YulExpressionStatement", - "src": "9852:34:34" - } - ] - }, - "name": "abi_encode_tuple_t_bytes32_t_string_calldata_ptr_t_string_calldata_ptr_t_bytes32__to_t_bytes32_t_string_memory_ptr_t_string_memory_ptr_t_bytes32__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "9485:9:34", - "type": "" - }, - { - "name": "value5", - "nodeType": "YulTypedName", - "src": "9496:6:34", - "type": "" - }, - { - "name": "value4", - "nodeType": "YulTypedName", - "src": "9504:6:34", - "type": "" - }, - { - "name": "value3", - "nodeType": "YulTypedName", - "src": "9512:6:34", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "9520:6:34", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "9528:6:34", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "9536:6:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "9547:4:34", - "type": "" - } - ], - "src": "9311:581:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "10028:116:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "10045:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10056:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "10038:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "10038:21:34" - }, - "nodeType": "YulExpressionStatement", - "src": "10038:21:34" - }, - { - "nodeType": "YulAssignment", - "src": "10068:70:34", - "value": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "10103:6:34" - }, - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "10111:6:34" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "10123:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10134:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "10119:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "10119:18:34" - } - ], - "functionName": { - "name": "abi_encode_string_calldata", - "nodeType": "YulIdentifier", - "src": "10076:26:34" - }, - "nodeType": "YulFunctionCall", - "src": "10076:62:34" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "10068:4:34" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_string_calldata_ptr__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "9989:9:34", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "10000:6:34", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "10008:6:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "10019:4:34", - "type": "" - } - ], - "src": "9897:247:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "10288:137:34", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "10298:27:34", - "value": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "10318:6:34" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "10312:5:34" - }, - "nodeType": "YulFunctionCall", - "src": "10312:13:34" - }, - "variables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "10302:6:34", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "10360:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10368:4:34", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "10356:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "10356:17:34" - }, - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "10375:3:34" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "10380:6:34" - } - ], - "functionName": { - "name": "copy_memory_to_memory", - "nodeType": "YulIdentifier", - "src": "10334:21:34" - }, - "nodeType": "YulFunctionCall", - "src": "10334:53:34" - }, - "nodeType": "YulExpressionStatement", - "src": "10334:53:34" - }, - { - "nodeType": "YulAssignment", - "src": "10396:23:34", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "10407:3:34" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "10412:6:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "10403:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "10403:16:34" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "10396:3:34" - } - ] - } - ] - }, - "name": "abi_encode_tuple_packed_t_string_memory_ptr__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "10264:3:34", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "10269:6:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "10280:3:34", - "type": "" - } - ], - "src": "10149:276:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "10486:65:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10503:1:34", - "type": "", - "value": "0" - }, - { - "name": "ptr", - "nodeType": "YulIdentifier", - "src": "10506:3:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "10496:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "10496:14:34" - }, - "nodeType": "YulExpressionStatement", - "src": "10496:14:34" - }, - { - "nodeType": "YulAssignment", - "src": "10519:26:34", - "value": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10537:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10540:4:34", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "keccak256", - "nodeType": "YulIdentifier", - "src": "10527:9:34" - }, - "nodeType": "YulFunctionCall", - "src": "10527:18:34" - }, - "variableNames": [ - { - "name": "data", - "nodeType": "YulIdentifier", - "src": "10519:4:34" - } - ] - } - ] - }, - "name": "array_dataslot_string_storage", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "ptr", - "nodeType": "YulTypedName", - "src": "10469:3:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "data", - "nodeType": "YulTypedName", - "src": "10477:4:34", - "type": "" - } - ], - "src": "10430:121:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "10614:1041:34", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "10624:29:34", - "value": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "10647:5:34" - } - ], - "functionName": { - "name": "sload", - "nodeType": "YulIdentifier", - "src": "10641:5:34" - }, - "nodeType": "YulFunctionCall", - "src": "10641:12:34" - }, - "variables": [ - { - "name": "slotValue", - "nodeType": "YulTypedName", - "src": "10628:9:34", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "10662:15:34", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10676:1:34", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "10666:6:34", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "10686:11:34", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10696:1:34", - "type": "", - "value": "1" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "10690:2:34", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "10706:28:34", - "value": { - "arguments": [ - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "10720:2:34" - }, - { - "name": "slotValue", - "nodeType": "YulIdentifier", - "src": "10724:9:34" - } - ], - "functionName": { - "name": "shr", - "nodeType": "YulIdentifier", - "src": "10716:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "10716:18:34" - }, - "variableNames": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "10706:6:34" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "10743:44:34", - "value": { - "arguments": [ - { - "name": "slotValue", - "nodeType": "YulIdentifier", - "src": "10773:9:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "10784:2:34" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "10769:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "10769:18:34" - }, - "variables": [ - { - "name": "outOfPlaceEncoding", - "nodeType": "YulTypedName", - "src": "10747:18:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "10826:31:34", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "10828:27:34", - "value": { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "10842:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10850:4:34", - "type": "", - "value": "0x7f" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "10838:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "10838:17:34" - }, - "variableNames": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "10828:6:34" - } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "outOfPlaceEncoding", - "nodeType": "YulIdentifier", - "src": "10806:18:34" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "10799:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "10799:26:34" - }, - "nodeType": "YulIf", - "src": "10796:61:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "10866:12:34", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10876:2:34", - "type": "", - "value": "32" - }, - "variables": [ - { - "name": "_2", - "nodeType": "YulTypedName", - "src": "10870:2:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "10937:168:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10958:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10961:77:34", - "type": "", - "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "10951:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "10951:88:34" - }, - "nodeType": "YulExpressionStatement", - "src": "10951:88:34" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11059:1:34", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11062:4:34", - "type": "", - "value": "0x22" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "11052:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "11052:15:34" - }, - "nodeType": "YulExpressionStatement", - "src": "11052:15:34" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11087:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11090:4:34", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "11080:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "11080:15:34" - }, - "nodeType": "YulExpressionStatement", - "src": "11080:15:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "outOfPlaceEncoding", - "nodeType": "YulIdentifier", - "src": "10893:18:34" - }, - { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "10916:6:34" - }, - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "10924:2:34" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "10913:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "10913:14:34" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "10890:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "10890:38:34" - }, - "nodeType": "YulIf", - "src": "10887:218:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "11114:61:34", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "11163:3:34" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "11168:6:34" - } - ], - "functionName": { - "name": "array_storeLengthForEncoding_string", - "nodeType": "YulIdentifier", - "src": "11127:35:34" - }, - "nodeType": "YulFunctionCall", - "src": "11127:48:34" - }, - "variables": [ - { - "name": "pos_1", - "nodeType": "YulTypedName", - "src": "11118:5:34", - "type": "" - } - ] - }, - { - "cases": [ - { - "body": { - "nodeType": "YulBlock", - "src": "11225:97:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "pos_1", - "nodeType": "YulIdentifier", - "src": "11246:5:34" - }, - { - "arguments": [ - { - "name": "slotValue", - "nodeType": "YulIdentifier", - "src": "11257:9:34" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11272:3:34", - "type": "", - "value": "255" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "11268:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "11268:8:34" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "11253:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "11253:24:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "11239:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "11239:39:34" - }, - "nodeType": "YulExpressionStatement", - "src": "11239:39:34" - }, - { - "nodeType": "YulAssignment", - "src": "11291:21:34", - "value": { - "arguments": [ - { - "name": "pos_1", - "nodeType": "YulIdentifier", - "src": "11302:5:34" - }, - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "11309:2:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "11298:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "11298:14:34" - }, - "variableNames": [ - { - "name": "ret", - "nodeType": "YulIdentifier", - "src": "11291:3:34" - } - ] - } - ] - }, - "nodeType": "YulCase", - "src": "11218:104:34", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11223:1:34", - "type": "", - "value": "0" - } - }, - { - "body": { - "nodeType": "YulBlock", - "src": "11338:311:34", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "11352:51:34", - "value": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "11397:5:34" - } - ], - "functionName": { - "name": "array_dataslot_string_storage", - "nodeType": "YulIdentifier", - "src": "11367:29:34" - }, - "nodeType": "YulFunctionCall", - "src": "11367:36:34" - }, - "variables": [ - { - "name": "dataPos", - "nodeType": "YulTypedName", - "src": "11356:7:34", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "11416:10:34", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11425:1:34", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "i", - "nodeType": "YulTypedName", - "src": "11420:1:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "11493:113:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "pos_1", - "nodeType": "YulIdentifier", - "src": "11522:5:34" - }, - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "11529:1:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "11518:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "11518:13:34" - }, - { - "arguments": [ - { - "name": "dataPos", - "nodeType": "YulIdentifier", - "src": "11539:7:34" - } - ], - "functionName": { - "name": "sload", - "nodeType": "YulIdentifier", - "src": "11533:5:34" - }, - "nodeType": "YulFunctionCall", - "src": "11533:14:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "11511:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "11511:37:34" - }, - "nodeType": "YulExpressionStatement", - "src": "11511:37:34" - }, - { - "nodeType": "YulAssignment", - "src": "11565:27:34", - "value": { - "arguments": [ - { - "name": "dataPos", - "nodeType": "YulIdentifier", - "src": "11580:7:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "11589:2:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "11576:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "11576:16:34" - }, - "variableNames": [ - { - "name": "dataPos", - "nodeType": "YulIdentifier", - "src": "11565:7:34" - } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "11450:1:34" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "11453:6:34" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "11447:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "11447:13:34" - }, - "nodeType": "YulForLoop", - "post": { - "nodeType": "YulBlock", - "src": "11461:19:34", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "11463:15:34", - "value": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "11472:1:34" - }, - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "11475:2:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "11468:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "11468:10:34" - }, - "variableNames": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "11463:1:34" - } - ] - } - ] - }, - "pre": { - "nodeType": "YulBlock", - "src": "11443:3:34", - "statements": [] - }, - "src": "11439:167:34" - }, - { - "nodeType": "YulAssignment", - "src": "11619:20:34", - "value": { - "arguments": [ - { - "name": "pos_1", - "nodeType": "YulIdentifier", - "src": "11630:5:34" - }, - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "11637:1:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "11626:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "11626:13:34" - }, - "variableNames": [ - { - "name": "ret", - "nodeType": "YulIdentifier", - "src": "11619:3:34" - } - ] - } - ] - }, - "nodeType": "YulCase", - "src": "11331:318:34", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11336:1:34", - "type": "", - "value": "1" - } - } - ], - "expression": { - "name": "outOfPlaceEncoding", - "nodeType": "YulIdentifier", - "src": "11191:18:34" - }, - "nodeType": "YulSwitch", - "src": "11184:465:34" - } - ] - }, - "name": "abi_encode_string_storage", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "10591:5:34", - "type": "" - }, - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "10598:3:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "ret", - "nodeType": "YulTypedName", - "src": "10606:3:34", - "type": "" - } - ], - "src": "10556:1099:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "11928:505:34", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "11938:52:34", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11948:42:34", - "type": "", - "value": "0xffffffffffffffffffffffffffffffffffffffff" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "11942:2:34", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "12006:9:34" - }, - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "12021:6:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "12029:2:34" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "12017:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "12017:15:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "11999:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "11999:34:34" - }, - "nodeType": "YulExpressionStatement", - "src": "11999:34:34" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "12053:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12064:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "12049:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "12049:18:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12069:3:34", - "type": "", - "value": "160" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "12042:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "12042:31:34" - }, - "nodeType": "YulExpressionStatement", - "src": "12042:31:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "12082:60:34", - "value": { - "arguments": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "12114:6:34" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "12126:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12137:3:34", - "type": "", - "value": "160" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "12122:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "12122:19:34" - } - ], - "functionName": { - "name": "abi_encode_string", - "nodeType": "YulIdentifier", - "src": "12096:17:34" - }, - "nodeType": "YulFunctionCall", - "src": "12096:46:34" - }, - "variables": [ - { - "name": "tail_1", - "nodeType": "YulTypedName", - "src": "12086:6:34", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "12162:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12173:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "12158:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "12158:18:34" - }, - { - "arguments": [ - { - "name": "tail_1", - "nodeType": "YulIdentifier", - "src": "12182:6:34" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "12190:9:34" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "12178:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "12178:22:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "12151:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "12151:50:34" - }, - "nodeType": "YulExpressionStatement", - "src": "12151:50:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "12210:55:34", - "value": { - "arguments": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "12250:6:34" - }, - { - "name": "tail_1", - "nodeType": "YulIdentifier", - "src": "12258:6:34" - } - ], - "functionName": { - "name": "abi_encode_string_storage", - "nodeType": "YulIdentifier", - "src": "12224:25:34" - }, - "nodeType": "YulFunctionCall", - "src": "12224:41:34" - }, - "variables": [ - { - "name": "tail_2", - "nodeType": "YulTypedName", - "src": "12214:6:34", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "12285:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12296:2:34", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "12281:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "12281:18:34" - }, - { - "arguments": [ - { - "name": "tail_2", - "nodeType": "YulIdentifier", - "src": "12305:6:34" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "12313:9:34" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "12301:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "12301:22:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "12274:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "12274:50:34" - }, - "nodeType": "YulExpressionStatement", - "src": "12274:50:34" - }, - { - "nodeType": "YulAssignment", - "src": "12333:41:34", - "value": { - "arguments": [ - { - "name": "value3", - "nodeType": "YulIdentifier", - "src": "12359:6:34" - }, - { - "name": "tail_2", - "nodeType": "YulIdentifier", - "src": "12367:6:34" - } - ], - "functionName": { - "name": "abi_encode_string", - "nodeType": "YulIdentifier", - "src": "12341:17:34" - }, - "nodeType": "YulFunctionCall", - "src": "12341:33:34" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "12333:4:34" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "12394:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12405:3:34", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "12390:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "12390:19:34" - }, - { - "arguments": [ - { - "name": "value4", - "nodeType": "YulIdentifier", - "src": "12415:6:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "12423:2:34" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "12411:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "12411:15:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "12383:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "12383:44:34" - }, - "nodeType": "YulExpressionStatement", - "src": "12383:44:34" - } - ] - }, - "name": "abi_encode_tuple_t_address_t_string_memory_ptr_t_string_storage_t_bytes_memory_ptr_t_address__to_t_address_t_string_memory_ptr_t_string_memory_ptr_t_bytes_memory_ptr_t_address__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "11865:9:34", - "type": "" - }, - { - "name": "value4", - "nodeType": "YulTypedName", - "src": "11876:6:34", - "type": "" - }, - { - "name": "value3", - "nodeType": "YulTypedName", - "src": "11884:6:34", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "11892:6:34", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "11900:6:34", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "11908:6:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "11919:4:34", - "type": "" - } - ], - "src": "11660:773:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "12650:337:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "12667:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12678:2:34", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "12660:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "12660:21:34" - }, - "nodeType": "YulExpressionStatement", - "src": "12660:21:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "12690:59:34", - "value": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "12722:6:34" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "12734:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12745:2:34", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "12730:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "12730:18:34" - } - ], - "functionName": { - "name": "abi_encode_string", - "nodeType": "YulIdentifier", - "src": "12704:17:34" - }, - "nodeType": "YulFunctionCall", - "src": "12704:45:34" - }, - "variables": [ - { - "name": "tail_1", - "nodeType": "YulTypedName", - "src": "12694:6:34", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "12769:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12780:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "12765:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "12765:18:34" - }, - { - "arguments": [ - { - "name": "tail_1", - "nodeType": "YulIdentifier", - "src": "12789:6:34" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "12797:9:34" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "12785:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "12785:22:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "12758:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "12758:50:34" - }, - "nodeType": "YulExpressionStatement", - "src": "12758:50:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "12817:55:34", - "value": { - "arguments": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "12857:6:34" - }, - { - "name": "tail_1", - "nodeType": "YulIdentifier", - "src": "12865:6:34" - } - ], - "functionName": { - "name": "abi_encode_string_storage", - "nodeType": "YulIdentifier", - "src": "12831:25:34" - }, - "nodeType": "YulFunctionCall", - "src": "12831:41:34" - }, - "variables": [ - { - "name": "tail_2", - "nodeType": "YulTypedName", - "src": "12821:6:34", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "12892:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12903:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "12888:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "12888:18:34" - }, - { - "arguments": [ - { - "name": "tail_2", - "nodeType": "YulIdentifier", - "src": "12912:6:34" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "12920:9:34" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "12908:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "12908:22:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "12881:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "12881:50:34" - }, - "nodeType": "YulExpressionStatement", - "src": "12881:50:34" - }, - { - "nodeType": "YulAssignment", - "src": "12940:41:34", - "value": { - "arguments": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "12966:6:34" - }, - { - "name": "tail_2", - "nodeType": "YulIdentifier", - "src": "12974:6:34" - } - ], - "functionName": { - "name": "abi_encode_string", - "nodeType": "YulIdentifier", - "src": "12948:17:34" - }, - "nodeType": "YulFunctionCall", - "src": "12948:33:34" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "12940:4:34" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_string_memory_ptr_t_string_storage_t_bytes_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr_t_bytes_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "12603:9:34", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "12614:6:34", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "12622:6:34", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "12630:6:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "12641:4:34", - "type": "" - } - ], - "src": "12438:549:34" - } - ] - }, - "contents": "{\n { }\n function abi_encode_tuple_t_contract$_IAxelarGateway_$5700__to_t_address__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, 0xffffffffffffffffffffffffffffffffffffffff))\n }\n function abi_decode_string_calldata(offset, end) -> arrayPos, length\n {\n if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n length := calldataload(offset)\n if gt(length, 0xffffffffffffffff) { revert(0, 0) }\n arrayPos := add(offset, 0x20)\n if gt(add(add(offset, length), 0x20), end) { revert(0, 0) }\n }\n function abi_decode_tuple_t_bytes32t_string_calldata_ptrt_string_calldata_ptrt_bytes_calldata_ptrt_string_calldata_ptrt_uint256(headStart, dataEnd) -> value0, value1, value2, value3, value4, value5, value6, value7, value8, value9\n {\n if slt(sub(dataEnd, headStart), 192) { revert(0, 0) }\n value0 := calldataload(headStart)\n let offset := calldataload(add(headStart, 32))\n let _1 := 0xffffffffffffffff\n if gt(offset, _1) { revert(0, 0) }\n let value1_1, value2_1 := abi_decode_string_calldata(add(headStart, offset), dataEnd)\n value1 := value1_1\n value2 := value2_1\n let offset_1 := calldataload(add(headStart, 64))\n if gt(offset_1, _1) { revert(0, 0) }\n let value3_1, value4_1 := abi_decode_string_calldata(add(headStart, offset_1), dataEnd)\n value3 := value3_1\n value4 := value4_1\n let offset_2 := calldataload(add(headStart, 96))\n if gt(offset_2, _1) { revert(0, 0) }\n let value5_1, value6_1 := abi_decode_string_calldata(add(headStart, offset_2), dataEnd)\n value5 := value5_1\n value6 := value6_1\n let offset_3 := calldataload(add(headStart, 128))\n if gt(offset_3, _1) { revert(0, 0) }\n let value7_1, value8_1 := abi_decode_string_calldata(add(headStart, offset_3), dataEnd)\n value7 := value7_1\n value8 := value8_1\n value9 := calldataload(add(headStart, 160))\n }\n function array_storeLengthForEncoding_string(pos, length) -> updated_pos\n {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\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 abi_encode_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_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n {\n mstore(headStart, 32)\n tail := abi_encode_string(value0, add(headStart, 32))\n }\n function abi_decode_tuple_t_string_calldata_ptrt_string_calldata_ptr(headStart, dataEnd) -> value0, value1, value2, value3\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n let offset := calldataload(headStart)\n let _1 := 0xffffffffffffffff\n if gt(offset, _1) { revert(0, 0) }\n let value0_1, value1_1 := abi_decode_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(0, 0) }\n let value2_1, value3_1 := abi_decode_string_calldata(add(headStart, offset_1), dataEnd)\n value2 := value2_1\n value3 := value3_1\n }\n function abi_decode_tuple_t_bytes32t_string_calldata_ptrt_string_calldata_ptrt_bytes_calldata_ptr(headStart, dataEnd) -> value0, value1, value2, value3, value4, value5, value6\n {\n if slt(sub(dataEnd, headStart), 128) { revert(0, 0) }\n value0 := calldataload(headStart)\n let offset := calldataload(add(headStart, 32))\n let _1 := 0xffffffffffffffff\n if gt(offset, _1) { revert(0, 0) }\n let value1_1, value2_1 := abi_decode_string_calldata(add(headStart, offset), dataEnd)\n value1 := value1_1\n value2 := value2_1\n let offset_1 := calldataload(add(headStart, 64))\n if gt(offset_1, _1) { revert(0, 0) }\n let value3_1, value4_1 := abi_decode_string_calldata(add(headStart, offset_1), dataEnd)\n value3 := value3_1\n value4 := value4_1\n let offset_2 := calldataload(add(headStart, 96))\n if gt(offset_2, _1) { revert(0, 0) }\n let value5_1, value6_1 := abi_decode_string_calldata(add(headStart, offset_2), dataEnd)\n value5 := value5_1\n value6 := value6_1\n }\n function abi_encode_tuple_t_contract$_IAxelarGasService_$5359__to_t_address__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, 0xffffffffffffffffffffffffffffffffffffffff))\n }\n function panic_error_0x41()\n {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n function abi_decode_string(offset, end) -> array\n {\n if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n let _1 := calldataload(offset)\n let _2 := 0xffffffffffffffff\n if gt(_1, _2) { panic_error_0x41() }\n let _3 := not(31)\n let memPtr := mload(64)\n let newFreePtr := add(memPtr, and(add(and(add(_1, 0x1f), _3), 63), _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), 0x20), end) { revert(0, 0) }\n calldatacopy(add(memPtr, 0x20), add(offset, 0x20), _1)\n mstore(add(add(memPtr, _1), 0x20), 0)\n array := memPtr\n }\n function abi_decode_tuple_t_string_memory_ptr(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let offset := calldataload(headStart)\n if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n value0 := abi_decode_string(add(headStart, offset), dataEnd)\n }\n function abi_decode_tuple_t_string_memory_ptrt_string_calldata_ptr(headStart, dataEnd) -> value0, value1, value2\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n let offset := calldataload(headStart)\n let _1 := 0xffffffffffffffff\n if gt(offset, _1) { revert(0, 0) }\n value0 := abi_decode_string(add(headStart, offset), dataEnd)\n let offset_1 := calldataload(add(headStart, 32))\n if gt(offset_1, _1) { revert(0, 0) }\n let value1_1, value2_1 := abi_decode_string_calldata(add(headStart, offset_1), dataEnd)\n value1 := value1_1\n value2 := value2_1\n }\n function abi_encode_tuple_packed_t_bytes_calldata_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value1, value0) -> end\n {\n calldatacopy(pos, value0, value1)\n let _1 := add(pos, value1)\n mstore(_1, 0)\n end := _1\n }\n function abi_encode_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), 0)\n end := add(add(pos, and(add(length, 31), not(31))), 0x20)\n }\n function abi_encode_tuple_t_bytes32_t_string_calldata_ptr_t_string_calldata_ptr_t_bytes32_t_string_calldata_ptr_t_uint256__to_t_bytes32_t_string_memory_ptr_t_string_memory_ptr_t_bytes32_t_string_memory_ptr_t_uint256__fromStack_reversed(headStart, value8, value7, value6, value5, value4, value3, value2, value1, value0) -> tail\n {\n mstore(headStart, value0)\n mstore(add(headStart, 32), 192)\n let tail_1 := abi_encode_string_calldata(value1, value2, add(headStart, 192))\n mstore(add(headStart, 64), sub(tail_1, headStart))\n let tail_2 := abi_encode_string_calldata(value3, value4, tail_1)\n mstore(add(headStart, 96), value5)\n mstore(add(headStart, 128), sub(tail_2, headStart))\n tail := abi_encode_string_calldata(value6, value7, tail_2)\n mstore(add(headStart, 160), value8)\n }\n function abi_decode_tuple_t_bool_fromMemory(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let value := mload(headStart)\n if iszero(eq(value, iszero(iszero(value)))) { revert(0, 0) }\n value0 := value\n }\n function extract_byte_array_length(data) -> length\n {\n length := shr(1, data)\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 abi_encode_tuple_packed_t_string_calldata_ptr__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value1, value0) -> end\n {\n calldatacopy(pos, value0, value1)\n let _1 := add(pos, value1)\n mstore(_1, 0)\n end := _1\n }\n function abi_encode_tuple_t_bytes32_t_string_calldata_ptr_t_string_calldata_ptr_t_bytes32__to_t_bytes32_t_string_memory_ptr_t_string_memory_ptr_t_bytes32__fromStack_reversed(headStart, value5, value4, value3, value2, value1, value0) -> tail\n {\n mstore(headStart, value0)\n mstore(add(headStart, 32), 128)\n let tail_1 := abi_encode_string_calldata(value1, value2, add(headStart, 128))\n mstore(add(headStart, 64), sub(tail_1, headStart))\n tail := abi_encode_string_calldata(value3, value4, tail_1)\n mstore(add(headStart, 96), value5)\n }\n function abi_encode_tuple_t_string_calldata_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart, value1, value0) -> tail\n {\n mstore(headStart, 32)\n tail := abi_encode_string_calldata(value0, value1, add(headStart, 32))\n }\n function abi_encode_tuple_packed_t_string_memory_ptr__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value0) -> end\n {\n let length := mload(value0)\n copy_memory_to_memory(add(value0, 0x20), pos, length)\n end := add(pos, length)\n }\n function array_dataslot_string_storage(ptr) -> data\n {\n mstore(0, ptr)\n data := keccak256(0, 0x20)\n }\n function abi_encode_string_storage(value, pos) -> ret\n {\n let slotValue := sload(value)\n let length := 0\n let _1 := 1\n length := shr(_1, slotValue)\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(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n let pos_1 := array_storeLengthForEncoding_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_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_address_t_string_memory_ptr_t_string_storage_t_bytes_memory_ptr_t_address__to_t_address_t_string_memory_ptr_t_string_memory_ptr_t_bytes_memory_ptr_t_address__fromStack_reversed(headStart, value4, value3, value2, value1, value0) -> tail\n {\n let _1 := 0xffffffffffffffffffffffffffffffffffffffff\n mstore(headStart, and(value0, _1))\n mstore(add(headStart, 32), 160)\n let tail_1 := abi_encode_string(value1, add(headStart, 160))\n mstore(add(headStart, 64), sub(tail_1, headStart))\n let tail_2 := abi_encode_string_storage(value2, tail_1)\n mstore(add(headStart, 96), sub(tail_2, headStart))\n tail := abi_encode_string(value3, tail_2)\n mstore(add(headStart, 128), and(value4, _1))\n }\n function abi_encode_tuple_t_string_memory_ptr_t_string_storage_t_bytes_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr_t_bytes_memory_ptr__fromStack_reversed(headStart, value2, value1, value0) -> tail\n {\n mstore(headStart, 96)\n let tail_1 := abi_encode_string(value0, add(headStart, 96))\n mstore(add(headStart, 32), sub(tail_1, headStart))\n let tail_2 := abi_encode_string_storage(value1, tail_1)\n mstore(add(headStart, 64), sub(tail_2, headStart))\n tail := abi_encode_string(value2, tail_2)\n }\n}", - "id": 34, - "language": "Yul", - "name": "#utility.yul" - } - ], - "immutableReferences": {}, - "linkReferences": {}, - "object": "6080604052600436106100b15760003560e01c80634916065811610069578063a7798b691161004e578063a7798b69146101ac578063b0fa8444146101cc578063e942b516146101e157600080fd5b8063491606581461016c57806380d14b4a1461018c57600080fd5b80631c6ffa461161009a5780631c6ffa46146101155780633fa4f2451461013757806345b48eb91461014c57600080fd5b8063116191b6146100b65780631a98b2e0146100f3575b600080fd5b3480156100c257600080fd5b506000546100d6906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156100ff57600080fd5b5061011361010e366004610912565b6101f4565b005b34801561012157600080fd5b5061012a61038f565b6040516100ea9190610a48565b34801561014357600080fd5b5061012a61041d565b34801561015857600080fd5b50610113610167366004610a62565b61042a565b34801561017857600080fd5b50610113610187366004610ace565b61045f565b34801561019857600080fd5b506004546100d6906001600160a01b031681565b3480156101b857600080fd5b5061012a6101c7366004610c15565b6105bb565b3480156101d857600080fd5b5061012a6105df565b6101136101ef366004610c52565b6105ec565b60008585604051610206929190610cbb565b6040519081900381206000547f1876eed90000000000000000000000000000000000000000000000000000000083529092506001600160a01b031690631876eed990610266908e908e908e908e908e9089908d908d908d90600401610cf4565b602060405180830381600087803b15801561028057600080fd5b505af1158015610294573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102b89190610d53565b6102d557604051631403112d60e21b815260040160405180910390fd5b6103828a8a8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8e018190048102820181019092528c815292508c91508b908190840183828082843760009201919091525050604080516020601f8b018190048102820181019092528981528c93508b9250908a908a90819084018382808284376000920191909152508a925061076c915050565b5050505050505050505050565b6002805461039c90610d75565b80601f01602080910402602001604051908101604052809291908181526020018280546103c890610d75565b80156104155780601f106103ea57610100808354040283529160200191610415565b820191906000526020600020905b8154815290600101906020018083116103f857829003601f168201915b505050505081565b6001805461039c90610d75565b81816005868660405161043e929190610cbb565b9081526040519081900360200190206104589290916107bc565b5050505050565b60008282604051610471929190610cbb565b6040519081900381206000547f5f6970c30000000000000000000000000000000000000000000000000000000083529092506001600160a01b031690635f6970c3906104cb908b908b908b908b908b908990600401610db0565b602060405180830381600087803b1580156104e557600080fd5b505af11580156104f9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061051d9190610d53565b61053a57604051631403112d60e21b815260040160405180910390fd5b6105b187878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8b0181900481028201810190925289815292508991508890819084018382808284376000920191909152508892508791506107749050565b5050505050505050565b80516020818301810180516005825292820191909301209152805461039c90610d75565b6003805461039c90610d75565b6105f8600183836107bc565b506000828260405160200161060e929190610df1565b60408051601f19818403018152919052905034156106cf576004546040516001600160a01b0390911690630c93e3bb90349030908890600590610652908390610e05565b9081526040519081900360200181207fffffffff0000000000000000000000000000000000000000000000000000000060e087901b16825261069c93929188903390600401610ec1565b6000604051808303818588803b1580156106b557600080fd5b505af11580156106c9573d6000803e3d6000fd5b50505050505b6000546040516001600160a01b0390911690631c92115f9086906005906106f7908390610e05565b9081526040519081900360200181207fffffffff0000000000000000000000000000000000000000000000000000000060e085901b16825261073e92918690600401610f20565b600060405180830381600087803b15801561075857600080fd5b505af11580156105b1573d6000803e3d6000fd5b505050505050565b61078081830183610c15565b805161079491600191602090910190610840565b5083516107a8906002906020870190610840565b508251610458906003906020860190610840565b8280546107c890610d75565b90600052602060002090601f0160209004810192826107ea5760008555610830565b82601f106108035782800160ff19823516178555610830565b82800160010185558215610830579182015b82811115610830578235825591602001919060010190610815565b5061083c9291506108b4565b5090565b82805461084c90610d75565b90600052602060002090601f01602090048101928261086e5760008555610830565b82601f1061088757805160ff1916838001178555610830565b82800160010185558215610830579182015b82811115610830578251825591602001919060010190610899565b5b8082111561083c57600081556001016108b5565b60008083601f8401126108db57600080fd5b50813567ffffffffffffffff8111156108f357600080fd5b60208301915083602082850101111561090b57600080fd5b9250929050565b60008060008060008060008060008060c08b8d03121561093157600080fd5b8a35995060208b013567ffffffffffffffff8082111561095057600080fd5b61095c8e838f016108c9565b909b50995060408d013591508082111561097557600080fd5b6109818e838f016108c9565b909950975060608d013591508082111561099a57600080fd5b6109a68e838f016108c9565b909750955060808d01359150808211156109bf57600080fd5b506109cc8d828e016108c9565b9150809450508092505060a08b013590509295989b9194979a5092959850565b60005b83811015610a075781810151838201526020016109ef565b83811115610a16576000848401525b50505050565b60008151808452610a348160208601602086016109ec565b601f01601f19169290920160200192915050565b602081526000610a5b6020830184610a1c565b9392505050565b60008060008060408587031215610a7857600080fd5b843567ffffffffffffffff80821115610a9057600080fd5b610a9c888389016108c9565b90965094506020870135915080821115610ab557600080fd5b50610ac2878288016108c9565b95989497509550505050565b60008060008060008060006080888a031215610ae957600080fd5b87359650602088013567ffffffffffffffff80821115610b0857600080fd5b610b148b838c016108c9565b909850965060408a0135915080821115610b2d57600080fd5b610b398b838c016108c9565b909650945060608a0135915080821115610b5257600080fd5b50610b5f8a828b016108c9565b989b979a50959850939692959293505050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112610b9957600080fd5b813567ffffffffffffffff80821115610bb457610bb4610b72565b604051601f8301601f19908116603f01168101908282118183101715610bdc57610bdc610b72565b81604052838152866020858801011115610bf557600080fd5b836020870160208301376000602085830101528094505050505092915050565b600060208284031215610c2757600080fd5b813567ffffffffffffffff811115610c3e57600080fd5b610c4a84828501610b88565b949350505050565b600080600060408486031215610c6757600080fd5b833567ffffffffffffffff80821115610c7f57600080fd5b610c8b87838801610b88565b94506020860135915080821115610ca157600080fd5b50610cae868287016108c9565b9497909650939450505050565b8183823760009101908152919050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b89815260c060208201526000610d0e60c083018a8c610ccb565b8281036040840152610d2181898b610ccb565b90508660608401528281036080840152610d3c818688610ccb565b9150508260a08301529a9950505050505050505050565b600060208284031215610d6557600080fd5b81518015158114610a5b57600080fd5b600181811c90821680610d8957607f821691505b60208210811415610daa57634e487b7160e01b600052602260045260246000fd5b50919050565b868152608060208201526000610dca608083018789610ccb565b8281036040840152610ddd818688610ccb565b915050826060830152979650505050505050565b602081526000610c4a602083018486610ccb565b60008251610e178184602087016109ec565b9190910192915050565b8054600090600181811c9080831680610e3b57607f831692505b6020808410821415610e5d57634e487b7160e01b600052602260045260246000fd5b83885260208801828015610e785760018114610e8957610eb4565b60ff19871682528282019750610eb4565b60008981526020902060005b87811015610eae57815484820152908601908401610e95565b83019850505b5050505050505092915050565b60006001600160a01b03808816835260a06020840152610ee460a0840188610a1c565b8381036040850152610ef68188610e21565b90508381036060850152610f0a8187610a1c565b9250508084166080840152509695505050505050565b606081526000610f336060830186610a1c565b8281036020840152610f458186610e21565b90508281036040840152610f598185610a1c565b969550505050505056fea2646970667358221220545371037fa224d924417ac4a807b3d9f405c5217172fe594583d0fe32f28a5b64736f6c63430008090033", - "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0xB1 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x49160658 GT PUSH2 0x69 JUMPI DUP1 PUSH4 0xA7798B69 GT PUSH2 0x4E JUMPI DUP1 PUSH4 0xA7798B69 EQ PUSH2 0x1AC JUMPI DUP1 PUSH4 0xB0FA8444 EQ PUSH2 0x1CC JUMPI DUP1 PUSH4 0xE942B516 EQ PUSH2 0x1E1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x49160658 EQ PUSH2 0x16C JUMPI DUP1 PUSH4 0x80D14B4A EQ PUSH2 0x18C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x1C6FFA46 GT PUSH2 0x9A JUMPI DUP1 PUSH4 0x1C6FFA46 EQ PUSH2 0x115 JUMPI DUP1 PUSH4 0x3FA4F245 EQ PUSH2 0x137 JUMPI DUP1 PUSH4 0x45B48EB9 EQ PUSH2 0x14C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x116191B6 EQ PUSH2 0xB6 JUMPI DUP1 PUSH4 0x1A98B2E0 EQ PUSH2 0xF3 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x0 SLOAD PUSH2 0xD6 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xFF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x113 PUSH2 0x10E CALLDATASIZE PUSH1 0x4 PUSH2 0x912 JUMP JUMPDEST PUSH2 0x1F4 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x121 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x12A PUSH2 0x38F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xEA SWAP2 SWAP1 PUSH2 0xA48 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x143 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x12A PUSH2 0x41D JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x158 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x113 PUSH2 0x167 CALLDATASIZE PUSH1 0x4 PUSH2 0xA62 JUMP JUMPDEST PUSH2 0x42A JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x178 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x113 PUSH2 0x187 CALLDATASIZE PUSH1 0x4 PUSH2 0xACE JUMP JUMPDEST PUSH2 0x45F JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x198 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 SLOAD PUSH2 0xD6 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1B8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x12A PUSH2 0x1C7 CALLDATASIZE PUSH1 0x4 PUSH2 0xC15 JUMP JUMPDEST PUSH2 0x5BB JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1D8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x12A PUSH2 0x5DF JUMP JUMPDEST PUSH2 0x113 PUSH2 0x1EF CALLDATASIZE PUSH1 0x4 PUSH2 0xC52 JUMP JUMPDEST PUSH2 0x5EC JUMP JUMPDEST PUSH1 0x0 DUP6 DUP6 PUSH1 0x40 MLOAD PUSH2 0x206 SWAP3 SWAP2 SWAP1 PUSH2 0xCBB JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 SWAP1 SUB DUP2 KECCAK256 PUSH1 0x0 SLOAD PUSH32 0x1876EED900000000000000000000000000000000000000000000000000000000 DUP4 MSTORE SWAP1 SWAP3 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0x1876EED9 SWAP1 PUSH2 0x266 SWAP1 DUP15 SWAP1 DUP15 SWAP1 DUP15 SWAP1 DUP15 SWAP1 DUP15 SWAP1 DUP10 SWAP1 DUP14 SWAP1 DUP14 SWAP1 DUP14 SWAP1 PUSH1 0x4 ADD PUSH2 0xCF4 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x280 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x294 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x2B8 SWAP2 SWAP1 PUSH2 0xD53 JUMP JUMPDEST PUSH2 0x2D5 JUMPI PUSH1 0x40 MLOAD PUSH4 0x1403112D PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x382 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 PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 PUSH1 0x1F DUP15 ADD DUP2 SWAP1 DIV DUP2 MUL DUP3 ADD DUP2 ADD SWAP1 SWAP3 MSTORE DUP13 DUP2 MSTORE SWAP3 POP DUP13 SWAP2 POP DUP12 SWAP1 DUP2 SWAP1 DUP5 ADD DUP4 DUP3 DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 SWAP3 ADD SWAP2 SWAP1 SWAP2 MSTORE POP 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 DUP13 SWAP4 POP DUP12 SWAP3 POP SWAP1 DUP11 SWAP1 DUP11 SWAP1 DUP2 SWAP1 DUP5 ADD DUP4 DUP3 DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 SWAP3 ADD SWAP2 SWAP1 SWAP2 MSTORE POP DUP11 SWAP3 POP PUSH2 0x76C SWAP2 POP POP JUMP JUMPDEST POP POP POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x2 DUP1 SLOAD PUSH2 0x39C SWAP1 PUSH2 0xD75 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 0x3C8 SWAP1 PUSH2 0xD75 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x415 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x3EA JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x415 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 0x3F8 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 JUMP JUMPDEST PUSH1 0x1 DUP1 SLOAD PUSH2 0x39C SWAP1 PUSH2 0xD75 JUMP JUMPDEST DUP2 DUP2 PUSH1 0x5 DUP7 DUP7 PUSH1 0x40 MLOAD PUSH2 0x43E SWAP3 SWAP2 SWAP1 PUSH2 0xCBB JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x40 MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 KECCAK256 PUSH2 0x458 SWAP3 SWAP1 SWAP2 PUSH2 0x7BC JUMP JUMPDEST POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 PUSH1 0x40 MLOAD PUSH2 0x471 SWAP3 SWAP2 SWAP1 PUSH2 0xCBB JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 SWAP1 SUB DUP2 KECCAK256 PUSH1 0x0 SLOAD PUSH32 0x5F6970C300000000000000000000000000000000000000000000000000000000 DUP4 MSTORE SWAP1 SWAP3 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0x5F6970C3 SWAP1 PUSH2 0x4CB SWAP1 DUP12 SWAP1 DUP12 SWAP1 DUP12 SWAP1 DUP12 SWAP1 DUP12 SWAP1 DUP10 SWAP1 PUSH1 0x4 ADD PUSH2 0xDB0 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x4E5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x4F9 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x51D SWAP2 SWAP1 PUSH2 0xD53 JUMP JUMPDEST PUSH2 0x53A JUMPI PUSH1 0x40 MLOAD PUSH4 0x1403112D PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x5B1 DUP8 DUP8 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 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 SWAP3 POP DUP10 SWAP2 POP DUP9 SWAP1 DUP2 SWAP1 DUP5 ADD DUP4 DUP3 DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 SWAP3 ADD SWAP2 SWAP1 SWAP2 MSTORE POP DUP9 SWAP3 POP DUP8 SWAP2 POP PUSH2 0x774 SWAP1 POP JUMP JUMPDEST POP POP POP POP POP POP POP POP JUMP JUMPDEST DUP1 MLOAD PUSH1 0x20 DUP2 DUP4 ADD DUP2 ADD DUP1 MLOAD PUSH1 0x5 DUP3 MSTORE SWAP3 DUP3 ADD SWAP2 SWAP1 SWAP4 ADD KECCAK256 SWAP2 MSTORE DUP1 SLOAD PUSH2 0x39C SWAP1 PUSH2 0xD75 JUMP JUMPDEST PUSH1 0x3 DUP1 SLOAD PUSH2 0x39C SWAP1 PUSH2 0xD75 JUMP JUMPDEST PUSH2 0x5F8 PUSH1 0x1 DUP4 DUP4 PUSH2 0x7BC JUMP JUMPDEST POP PUSH1 0x0 DUP3 DUP3 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x60E SWAP3 SWAP2 SWAP1 PUSH2 0xDF1 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F NOT DUP2 DUP5 SUB ADD DUP2 MSTORE SWAP2 SWAP1 MSTORE SWAP1 POP CALLVALUE ISZERO PUSH2 0x6CF JUMPI PUSH1 0x4 SLOAD PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0xC93E3BB SWAP1 CALLVALUE SWAP1 ADDRESS SWAP1 DUP9 SWAP1 PUSH1 0x5 SWAP1 PUSH2 0x652 SWAP1 DUP4 SWAP1 PUSH2 0xE05 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x40 MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD DUP2 KECCAK256 PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 PUSH1 0xE0 DUP8 SWAP1 SHL AND DUP3 MSTORE PUSH2 0x69C SWAP4 SWAP3 SWAP2 DUP9 SWAP1 CALLER SWAP1 PUSH1 0x4 ADD PUSH2 0xEC1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP9 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x6B5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x6C9 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP POP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x1C92115F SWAP1 DUP7 SWAP1 PUSH1 0x5 SWAP1 PUSH2 0x6F7 SWAP1 DUP4 SWAP1 PUSH2 0xE05 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x40 MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD DUP2 KECCAK256 PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 PUSH1 0xE0 DUP6 SWAP1 SHL AND DUP3 MSTORE PUSH2 0x73E SWAP3 SWAP2 DUP7 SWAP1 PUSH1 0x4 ADD PUSH2 0xF20 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x758 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x5B1 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x780 DUP2 DUP4 ADD DUP4 PUSH2 0xC15 JUMP JUMPDEST DUP1 MLOAD PUSH2 0x794 SWAP2 PUSH1 0x1 SWAP2 PUSH1 0x20 SWAP1 SWAP2 ADD SWAP1 PUSH2 0x840 JUMP JUMPDEST POP DUP4 MLOAD PUSH2 0x7A8 SWAP1 PUSH1 0x2 SWAP1 PUSH1 0x20 DUP8 ADD SWAP1 PUSH2 0x840 JUMP JUMPDEST POP DUP3 MLOAD PUSH2 0x458 SWAP1 PUSH1 0x3 SWAP1 PUSH1 0x20 DUP7 ADD SWAP1 PUSH2 0x840 JUMP JUMPDEST DUP3 DUP1 SLOAD PUSH2 0x7C8 SWAP1 PUSH2 0xD75 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 PUSH2 0x7EA JUMPI PUSH1 0x0 DUP6 SSTORE PUSH2 0x830 JUMP JUMPDEST DUP3 PUSH1 0x1F LT PUSH2 0x803 JUMPI DUP3 DUP1 ADD PUSH1 0xFF NOT DUP3 CALLDATALOAD AND OR DUP6 SSTORE PUSH2 0x830 JUMP JUMPDEST DUP3 DUP1 ADD PUSH1 0x1 ADD DUP6 SSTORE DUP3 ISZERO PUSH2 0x830 JUMPI SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH2 0x830 JUMPI DUP3 CALLDATALOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x815 JUMP JUMPDEST POP PUSH2 0x83C SWAP3 SWAP2 POP PUSH2 0x8B4 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST DUP3 DUP1 SLOAD PUSH2 0x84C SWAP1 PUSH2 0xD75 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 PUSH2 0x86E JUMPI PUSH1 0x0 DUP6 SSTORE PUSH2 0x830 JUMP JUMPDEST DUP3 PUSH1 0x1F LT PUSH2 0x887 JUMPI DUP1 MLOAD PUSH1 0xFF NOT AND DUP4 DUP1 ADD OR DUP6 SSTORE PUSH2 0x830 JUMP JUMPDEST DUP3 DUP1 ADD PUSH1 0x1 ADD DUP6 SSTORE DUP3 ISZERO PUSH2 0x830 JUMPI SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH2 0x830 JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x899 JUMP JUMPDEST JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x83C JUMPI PUSH1 0x0 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x8B5 JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0x8DB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP DUP2 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x8F3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x20 DUP3 DUP6 ADD ADD GT ISZERO PUSH2 0x90B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0xC0 DUP12 DUP14 SUB SLT ISZERO PUSH2 0x931 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP11 CALLDATALOAD SWAP10 POP PUSH1 0x20 DUP12 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x950 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x95C DUP15 DUP4 DUP16 ADD PUSH2 0x8C9 JUMP JUMPDEST SWAP1 SWAP12 POP SWAP10 POP PUSH1 0x40 DUP14 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x975 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x981 DUP15 DUP4 DUP16 ADD PUSH2 0x8C9 JUMP JUMPDEST SWAP1 SWAP10 POP SWAP8 POP PUSH1 0x60 DUP14 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x99A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x9A6 DUP15 DUP4 DUP16 ADD PUSH2 0x8C9 JUMP JUMPDEST SWAP1 SWAP8 POP SWAP6 POP PUSH1 0x80 DUP14 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x9BF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x9CC DUP14 DUP3 DUP15 ADD PUSH2 0x8C9 JUMP JUMPDEST SWAP2 POP DUP1 SWAP5 POP POP DUP1 SWAP3 POP POP PUSH1 0xA0 DUP12 ADD CALLDATALOAD SWAP1 POP SWAP3 SWAP6 SWAP9 SWAP12 SWAP2 SWAP5 SWAP8 SWAP11 POP SWAP3 SWAP6 SWAP9 POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0xA07 JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x9EF JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0xA16 JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH2 0xA34 DUP2 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP7 ADD PUSH2 0x9EC JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x20 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0xA5B PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0xA1C JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x40 DUP6 DUP8 SUB SLT ISZERO PUSH2 0xA78 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP5 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0xA90 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xA9C DUP9 DUP4 DUP10 ADD PUSH2 0x8C9 JUMP JUMPDEST SWAP1 SWAP7 POP SWAP5 POP PUSH1 0x20 DUP8 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0xAB5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xAC2 DUP8 DUP3 DUP9 ADD PUSH2 0x8C9 JUMP JUMPDEST SWAP6 SWAP9 SWAP5 SWAP8 POP SWAP6 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x80 DUP9 DUP11 SUB SLT ISZERO PUSH2 0xAE9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP8 CALLDATALOAD SWAP7 POP PUSH1 0x20 DUP9 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0xB08 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xB14 DUP12 DUP4 DUP13 ADD PUSH2 0x8C9 JUMP JUMPDEST SWAP1 SWAP9 POP SWAP7 POP PUSH1 0x40 DUP11 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0xB2D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xB39 DUP12 DUP4 DUP13 ADD PUSH2 0x8C9 JUMP JUMPDEST SWAP1 SWAP7 POP SWAP5 POP PUSH1 0x60 DUP11 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0xB52 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xB5F DUP11 DUP3 DUP12 ADD PUSH2 0x8C9 JUMP JUMPDEST SWAP9 SWAP12 SWAP8 SWAP11 POP SWAP6 SWAP9 POP SWAP4 SWAP7 SWAP3 SWAP6 SWAP3 SWAP4 POP POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0xB99 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0xBB4 JUMPI PUSH2 0xBB4 PUSH2 0xB72 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP4 ADD PUSH1 0x1F NOT SWAP1 DUP2 AND PUSH1 0x3F ADD AND DUP2 ADD SWAP1 DUP3 DUP3 GT DUP2 DUP4 LT OR ISZERO PUSH2 0xBDC JUMPI PUSH2 0xBDC PUSH2 0xB72 JUMP JUMPDEST DUP2 PUSH1 0x40 MSTORE DUP4 DUP2 MSTORE DUP7 PUSH1 0x20 DUP6 DUP9 ADD ADD GT ISZERO PUSH2 0xBF5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 PUSH1 0x20 DUP8 ADD PUSH1 0x20 DUP4 ADD CALLDATACOPY PUSH1 0x0 PUSH1 0x20 DUP6 DUP4 ADD ADD MSTORE DUP1 SWAP5 POP POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xC27 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xC3E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xC4A DUP5 DUP3 DUP6 ADD PUSH2 0xB88 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x40 DUP5 DUP7 SUB SLT ISZERO PUSH2 0xC67 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0xC7F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xC8B DUP8 DUP4 DUP9 ADD PUSH2 0xB88 JUMP JUMPDEST SWAP5 POP PUSH1 0x20 DUP7 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0xCA1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xCAE DUP7 DUP3 DUP8 ADD PUSH2 0x8C9 JUMP JUMPDEST SWAP5 SWAP8 SWAP1 SWAP7 POP SWAP4 SWAP5 POP POP POP POP JUMP JUMPDEST DUP2 DUP4 DUP3 CALLDATACOPY PUSH1 0x0 SWAP2 ADD SWAP1 DUP2 MSTORE SWAP2 SWAP1 POP JUMP JUMPDEST DUP2 DUP4 MSTORE DUP2 DUP2 PUSH1 0x20 DUP6 ADD CALLDATACOPY POP PUSH1 0x0 DUP3 DUP3 ADD PUSH1 0x20 SWAP1 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x1F SWAP1 SWAP2 ADD PUSH1 0x1F NOT AND SWAP1 SWAP2 ADD ADD SWAP1 JUMP JUMPDEST DUP10 DUP2 MSTORE PUSH1 0xC0 PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x0 PUSH2 0xD0E PUSH1 0xC0 DUP4 ADD DUP11 DUP13 PUSH2 0xCCB JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x40 DUP5 ADD MSTORE PUSH2 0xD21 DUP2 DUP10 DUP12 PUSH2 0xCCB JUMP JUMPDEST SWAP1 POP DUP7 PUSH1 0x60 DUP5 ADD MSTORE DUP3 DUP2 SUB PUSH1 0x80 DUP5 ADD MSTORE PUSH2 0xD3C DUP2 DUP7 DUP9 PUSH2 0xCCB JUMP JUMPDEST SWAP2 POP POP DUP3 PUSH1 0xA0 DUP4 ADD MSTORE SWAP11 SWAP10 POP POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xD65 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0xA5B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0xD89 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH2 0xDAA 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 DUP7 DUP2 MSTORE PUSH1 0x80 PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x0 PUSH2 0xDCA PUSH1 0x80 DUP4 ADD DUP8 DUP10 PUSH2 0xCCB JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x40 DUP5 ADD MSTORE PUSH2 0xDDD DUP2 DUP7 DUP9 PUSH2 0xCCB JUMP JUMPDEST SWAP2 POP POP DUP3 PUSH1 0x60 DUP4 ADD MSTORE SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0xC4A PUSH1 0x20 DUP4 ADD DUP5 DUP7 PUSH2 0xCCB JUMP JUMPDEST PUSH1 0x0 DUP3 MLOAD PUSH2 0xE17 DUP2 DUP5 PUSH1 0x20 DUP8 ADD PUSH2 0x9EC JUMP JUMPDEST SWAP2 SWAP1 SWAP2 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST DUP1 SLOAD PUSH1 0x0 SWAP1 PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP1 DUP4 AND DUP1 PUSH2 0xE3B JUMPI PUSH1 0x7F DUP4 AND SWAP3 POP JUMPDEST PUSH1 0x20 DUP1 DUP5 LT DUP3 EQ ISZERO PUSH2 0xE5D JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP4 DUP9 MSTORE PUSH1 0x20 DUP9 ADD DUP3 DUP1 ISZERO PUSH2 0xE78 JUMPI PUSH1 0x1 DUP2 EQ PUSH2 0xE89 JUMPI PUSH2 0xEB4 JUMP JUMPDEST PUSH1 0xFF NOT DUP8 AND DUP3 MSTORE DUP3 DUP3 ADD SWAP8 POP PUSH2 0xEB4 JUMP JUMPDEST PUSH1 0x0 DUP10 DUP2 MSTORE PUSH1 0x20 SWAP1 KECCAK256 PUSH1 0x0 JUMPDEST DUP8 DUP2 LT ISZERO PUSH2 0xEAE JUMPI DUP2 SLOAD DUP5 DUP3 ADD MSTORE SWAP1 DUP7 ADD SWAP1 DUP5 ADD PUSH2 0xE95 JUMP JUMPDEST DUP4 ADD SWAP9 POP POP JUMPDEST POP POP POP POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP9 AND DUP4 MSTORE PUSH1 0xA0 PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0xEE4 PUSH1 0xA0 DUP5 ADD DUP9 PUSH2 0xA1C JUMP JUMPDEST DUP4 DUP2 SUB PUSH1 0x40 DUP6 ADD MSTORE PUSH2 0xEF6 DUP2 DUP9 PUSH2 0xE21 JUMP JUMPDEST SWAP1 POP DUP4 DUP2 SUB PUSH1 0x60 DUP6 ADD MSTORE PUSH2 0xF0A DUP2 DUP8 PUSH2 0xA1C JUMP JUMPDEST SWAP3 POP POP DUP1 DUP5 AND PUSH1 0x80 DUP5 ADD MSTORE POP SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x60 DUP2 MSTORE PUSH1 0x0 PUSH2 0xF33 PUSH1 0x60 DUP4 ADD DUP7 PUSH2 0xA1C JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0xF45 DUP2 DUP7 PUSH2 0xE21 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 SUB PUSH1 0x40 DUP5 ADD MSTORE PUSH2 0xF59 DUP2 DUP6 PUSH2 0xA1C JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SLOAD MSTORE8 PUSH18 0x37FA224D924417AC4A807B3D9F405C52171 PUSH19 0xFE594583D0FE32F28A5B64736F6C6343000809 STOP CALLER ", - "sourceMap": "290:1525:32:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;190:29:17;;;;;;;;;;-1:-1:-1;190:29:17;;;;-1:-1:-1;;;;;190:29:17;;;;;;-1:-1:-1;;;;;201:55:34;;;183:74;;171:2;156:18;190:29:17;;;;;;;;724:546;;;;;;;;;;-1:-1:-1;724:546:17;;;;;:::i;:::-;;:::i;:::-;;362:25:32;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;337:19::-;;;;;;;;;;;;;:::i;752:123::-;;;;;;;;;;-1:-1:-1;752:123:32;;;;;:::i;:::-;;:::i;313:405:17:-;;;;;;;;;;-1:-1:-1;313:405:17;;;;;:::i;:::-;;:::i;426:36:32:-;;;;;;;;;;-1:-1:-1;426:36:32;;;;-1:-1:-1;;;;;426:36:32;;;468:41;;;;;;;;;;-1:-1:-1;468:41:32;;;;;:::i;:::-;;:::i;393:27::-;;;;;;;;;;;;;:::i;973:392::-;;;;;;:::i;:::-;;:::i;724:546:17:-;971:19;1003:7;;993:18;;;;;;;:::i;:::-;;;;;;;;;1026:7;;:108;;;993:18;;-1:-1:-1;;;;;;1026:7:17;;:35;;:108;;1062:9;;1073:11;;;;1086:13;;;;993:18;;1114:11;;;;1127:6;;1026:108;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1021:156;;1155:22;;-1:-1:-1;;;1155:22:17;;;;;;;;;;;1021:156;1188:75;1206:11;;1188:75;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1188:75:17;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1219:13:17;;-1:-1:-1;1219:13:17;;;;1188:75;;1219:13;;;;1188:75;;;;;;;;;-1:-1:-1;;1188:75:17;;;;;;;;;;;;;;;;;;;;;;1234:7;;-1:-1:-1;1234:7:17;;-1:-1:-1;1188:75:17;1243:11;;;;;;1188:75;;1243:11;;;;1188:75;;;;;;;;;-1:-1:-1;1256:6:17;;-1:-1:-1;1188:17:17;;-1:-1:-1;;1188:75:17:i;:::-;961:309;724:546;;;;;;;;;;:::o;362:25:32:-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;337:19::-;;;;;;;:::i;752:123::-;860:8;;841;850:6;;841:16;;;;;;;:::i;:::-;;;;;;;;;;;;;;:27;;:16;;:27;:::i;:::-;;752:123;;;;:::o;313:405:17:-;490:19;522:7;;512:18;;;;;;;:::i;:::-;;;;;;;;;545:7;;:80;;;512:18;;-1:-1:-1;;;;;;545:7:17;;:28;;:80;;574:9;;585:11;;;;598:13;;;;512:18;;545:80;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;540:116;;634:22;;-1:-1:-1;;;634:22:17;;;;;;;;;;;540:116;666:45;675:11;;666:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;666:45:17;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;688:13:17;;-1:-1:-1;688:13:17;;;;666:45;;688:13;;;;666:45;;;;;;;;;-1:-1:-1;703:7:17;;-1:-1:-1;703:7:17;;-1:-1:-1;666:8:17;;-1:-1:-1;666:45:17:i;:::-;480:238;313:405;;;;;;;:::o;468:41:32:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;393:27::-;;;;;;;:::i;973:392::-;1058:14;:5;1066:6;;1058:14;:::i;:::-;;1082:20;1116:6;;1105:18;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;1105:18:32;;;;;;;;;;-1:-1:-1;1137:9:32;:13;1133:163;;1166:11;;1248:15;;-1:-1:-1;;;;;1166:11:32;;;;:39;;1214:9;;1234:4;;1241:5;;1248:8;;:15;;1241:5;;1248:15;:::i;:::-;;;;;;;;;;;;;;1166:119;;;;;;;;;;;;1265:7;;1274:10;;1166:119;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1133:163;1305:7;;1333:15;;-1:-1:-1;;;;;1305:7:32;;;;:20;;1326:5;;1333:8;;:15;;1326:5;;1333:15;:::i;:::-;;;;;;;;;;;;;;1305:53;;;;;;;;;;;1350:7;;1305:53;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1429:215:17;;;;;;;:::o;1531:282:32:-;1700:30;;;;1711:8;1700:30;:::i;:::-;1690:40;;;;1691:5;;1690:40;;;;;;:::i;:::-;-1:-1:-1;1740:26:32;;;;:11;;:26;;;;;:::i;:::-;-1:-1:-1;1776:30:32;;;;:13;;:30;;;;;:::i;-1:-1:-1:-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;268:348:34;320:8;330:6;384:3;377:4;369:6;365:17;361:27;351:55;;402:1;399;392:12;351:55;-1:-1:-1;425:20:34;;468:18;457:30;;454:50;;;500:1;497;490:12;454:50;537:4;529:6;525:17;513:29;;589:3;582:4;573:6;565;561:19;557:30;554:39;551:59;;;606:1;603;596:12;551:59;268:348;;;;;:::o;621:1437::-;772:6;780;788;796;804;812;820;828;836;844;897:3;885:9;876:7;872:23;868:33;865:53;;;914:1;911;904:12;865:53;950:9;937:23;927:33;;1011:2;1000:9;996:18;983:32;1034:18;1075:2;1067:6;1064:14;1061:34;;;1091:1;1088;1081:12;1061:34;1130:59;1181:7;1172:6;1161:9;1157:22;1130:59;:::i;:::-;1208:8;;-1:-1:-1;1104:85:34;-1:-1:-1;1296:2:34;1281:18;;1268:32;;-1:-1:-1;1312:16:34;;;1309:36;;;1341:1;1338;1331:12;1309:36;1380:61;1433:7;1422:8;1411:9;1407:24;1380:61;:::i;:::-;1460:8;;-1:-1:-1;1354:87:34;-1:-1:-1;1548:2:34;1533:18;;1520:32;;-1:-1:-1;1564:16:34;;;1561:36;;;1593:1;1590;1583:12;1561:36;1632:61;1685:7;1674:8;1663:9;1659:24;1632:61;:::i;:::-;1712:8;;-1:-1:-1;1606:87:34;-1:-1:-1;1800:3:34;1785:19;;1772:33;;-1:-1:-1;1817:16:34;;;1814:36;;;1846:1;1843;1836:12;1814:36;;1885:61;1938:7;1927:8;1916:9;1912:24;1885:61;:::i;:::-;1859:87;;1965:8;1955:18;;;1992:8;1982:18;;;2047:3;2036:9;2032:19;2019:33;2009:43;;621:1437;;;;;;;;;;;;;:::o;2218:258::-;2290:1;2300:113;2314:6;2311:1;2308:13;2300:113;;;2390:11;;;2384:18;2371:11;;;2364:39;2336:2;2329:10;2300:113;;;2431:6;2428:1;2425:13;2422:48;;;2466:1;2457:6;2452:3;2448:16;2441:27;2422:48;;2218:258;;;:::o;2481:::-;2523:3;2561:5;2555:12;2588:6;2583:3;2576:19;2604:63;2660:6;2653:4;2648:3;2644:14;2637:4;2630:5;2626:16;2604:63;:::i;:::-;2721:2;2700:15;-1:-1:-1;;2696:29:34;2687:39;;;;2728:4;2683:50;;2481:258;-1:-1:-1;;2481:258:34:o;2744:220::-;2893:2;2882:9;2875:21;2856:4;2913:45;2954:2;2943:9;2939:18;2931:6;2913:45;:::i;:::-;2905:53;2744:220;-1:-1:-1;;;2744:220:34:o;2969:721::-;3061:6;3069;3077;3085;3138:2;3126:9;3117:7;3113:23;3109:32;3106:52;;;3154:1;3151;3144:12;3106:52;3194:9;3181:23;3223:18;3264:2;3256:6;3253:14;3250:34;;;3280:1;3277;3270:12;3250:34;3319:59;3370:7;3361:6;3350:9;3346:22;3319:59;:::i;:::-;3397:8;;-1:-1:-1;3293:85:34;-1:-1:-1;3485:2:34;3470:18;;3457:32;;-1:-1:-1;3501:16:34;;;3498:36;;;3530:1;3527;3520:12;3498:36;;3569:61;3622:7;3611:8;3600:9;3596:24;3569:61;:::i;:::-;2969:721;;;;-1:-1:-1;3649:8:34;-1:-1:-1;;;;2969:721:34:o;3695:1078::-;3816:6;3824;3832;3840;3848;3856;3864;3917:3;3905:9;3896:7;3892:23;3888:33;3885:53;;;3934:1;3931;3924:12;3885:53;3970:9;3957:23;3947:33;;4031:2;4020:9;4016:18;4003:32;4054:18;4095:2;4087:6;4084:14;4081:34;;;4111:1;4108;4101:12;4081:34;4150:59;4201:7;4192:6;4181:9;4177:22;4150:59;:::i;:::-;4228:8;;-1:-1:-1;4124:85:34;-1:-1:-1;4316:2:34;4301:18;;4288:32;;-1:-1:-1;4332:16:34;;;4329:36;;;4361:1;4358;4351:12;4329:36;4400:61;4453:7;4442:8;4431:9;4427:24;4400:61;:::i;:::-;4480:8;;-1:-1:-1;4374:87:34;-1:-1:-1;4568:2:34;4553:18;;4540:32;;-1:-1:-1;4584:16:34;;;4581:36;;;4613:1;4610;4603:12;4581:36;;4652:61;4705:7;4694:8;4683:9;4679:24;4652:61;:::i;:::-;3695:1078;;;;-1:-1:-1;3695:1078:34;;-1:-1:-1;3695:1078:34;;;;4626:87;;-1:-1:-1;;;3695:1078:34:o;5035:184::-;-1:-1:-1;;;5084:1:34;5077:88;5184:4;5181:1;5174:15;5208:4;5205:1;5198:15;5224:719;5267:5;5320:3;5313:4;5305:6;5301:17;5297:27;5287:55;;5338:1;5335;5328:12;5287:55;5374:6;5361:20;5400:18;5437:2;5433;5430:10;5427:36;;;5443:18;;:::i;:::-;5518:2;5512:9;5486:2;5572:13;;-1:-1:-1;;5568:22:34;;;5592:2;5564:31;5560:40;5548:53;;;5616:18;;;5636:22;;;5613:46;5610:72;;;5662:18;;:::i;:::-;5702:10;5698:2;5691:22;5737:2;5729:6;5722:18;5783:3;5776:4;5771:2;5763:6;5759:15;5755:26;5752:35;5749:55;;;5800:1;5797;5790:12;5749:55;5864:2;5857:4;5849:6;5845:17;5838:4;5830:6;5826:17;5813:54;5911:1;5904:4;5899:2;5891:6;5887:15;5883:26;5876:37;5931:6;5922:15;;;;;;5224:719;;;;:::o;5948:322::-;6017:6;6070:2;6058:9;6049:7;6045:23;6041:32;6038:52;;;6086:1;6083;6076:12;6038:52;6126:9;6113:23;6159:18;6151:6;6148:30;6145:50;;;6191:1;6188;6181:12;6145:50;6214;6256:7;6247:6;6236:9;6232:22;6214:50;:::i;:::-;6204:60;5948:322;-1:-1:-1;;;;5948:322:34:o;6275:632::-;6365:6;6373;6381;6434:2;6422:9;6413:7;6409:23;6405:32;6402:52;;;6450:1;6447;6440:12;6402:52;6490:9;6477:23;6519:18;6560:2;6552:6;6549:14;6546:34;;;6576:1;6573;6566:12;6546:34;6599:50;6641:7;6632:6;6621:9;6617:22;6599:50;:::i;:::-;6589:60;;6702:2;6691:9;6687:18;6674:32;6658:48;;6731:2;6721:8;6718:16;6715:36;;;6747:1;6744;6737:12;6715:36;;6786:61;6839:7;6828:8;6817:9;6813:24;6786:61;:::i;:::-;6275:632;;6866:8;;-1:-1:-1;6760:87:34;;-1:-1:-1;;;;6275:632:34:o;6912:271::-;7095:6;7087;7082:3;7069:33;7051:3;7121:16;;7146:13;;;7121:16;6912:271;-1:-1:-1;6912:271:34:o;7188:267::-;7277:6;7272:3;7265:19;7329:6;7322:5;7315:4;7310:3;7306:14;7293:43;-1:-1:-1;7381:1:34;7356:16;;;7374:4;7352:27;;;7345:38;;;;7437:2;7416:15;;;-1:-1:-1;;7412:29:34;7403:39;;;7399:50;;7188:267::o;7460:844::-;7819:6;7808:9;7801:25;7862:3;7857:2;7846:9;7842:18;7835:31;7782:4;7889:63;7947:3;7936:9;7932:19;7924:6;7916;7889:63;:::i;:::-;8000:9;7992:6;7988:22;7983:2;7972:9;7968:18;7961:50;8034;8077:6;8069;8061;8034:50;:::i;:::-;8020:64;;8120:6;8115:2;8104:9;8100:18;8093:34;8176:9;8168:6;8164:22;8158:3;8147:9;8143:19;8136:51;8204:50;8247:6;8239;8231;8204:50;:::i;:::-;8196:58;;;8291:6;8285:3;8274:9;8270:19;8263:35;7460:844;;;;;;;;;;;;:::o;8309:277::-;8376:6;8429:2;8417:9;8408:7;8404:23;8400:32;8397:52;;;8445:1;8442;8435:12;8397:52;8477:9;8471:16;8530:5;8523:13;8516:21;8509:5;8506:32;8496:60;;8552:1;8549;8542:12;8591:437;8670:1;8666:12;;;;8713;;;8734:61;;8788:4;8780:6;8776:17;8766:27;;8734:61;8841:2;8833:6;8830:14;8810:18;8807:38;8804:218;;;-1:-1:-1;;;8875:1:34;8868:88;8979:4;8976:1;8969:15;9007:4;9004:1;8997:15;8804:218;;8591:437;;;:::o;9311:581::-;9584:6;9573:9;9566:25;9627:3;9622:2;9611:9;9607:18;9600:31;9547:4;9654:63;9712:3;9701:9;9697:19;9689:6;9681;9654:63;:::i;:::-;9765:9;9757:6;9753:22;9748:2;9737:9;9733:18;9726:50;9793;9836:6;9828;9820;9793:50;:::i;:::-;9785:58;;;9879:6;9874:2;9863:9;9859:18;9852:34;9311:581;;;;;;;;;:::o;9897:247::-;10056:2;10045:9;10038:21;10019:4;10076:62;10134:2;10123:9;10119:18;10111:6;10103;10076:62;:::i;10149:276::-;10280:3;10318:6;10312:13;10334:53;10380:6;10375:3;10368:4;10360:6;10356:17;10334:53;:::i;:::-;10403:16;;;;;10149:276;-1:-1:-1;;10149:276:34:o;10556:1099::-;10641:12;;10606:3;;10696:1;10716:18;;;;10769;;;;10796:61;;10850:4;10842:6;10838:17;10828:27;;10796:61;10876:2;10924;10916:6;10913:14;10893:18;10890:38;10887:218;;;-1:-1:-1;;;10958:1:34;10951:88;11062:4;11059:1;11052:15;11090:4;11087:1;11080:15;10887:218;2150:19;;;2202:4;2193:14;;11191:18;11218:104;;;;11336:1;11331:318;;;;11184:465;;11218:104;-1:-1:-1;;11253:24:34;;11239:39;;11298:14;;;;-1:-1:-1;11218:104:34;;11331:318;10503:1;10496:14;;;10540:4;10527:18;;11425:1;11439:167;11453:6;11450:1;11447:13;11439:167;;;11533:14;;11518:13;;;11511:37;11576:16;;;;11468:10;;11439:167;;;11626:13;;;-1:-1:-1;;11184:465:34;;;;;;;;10556:1099;;;;:::o;11660:773::-;11919:4;-1:-1:-1;;;;;12029:2:34;12021:6;12017:15;12006:9;11999:34;12069:3;12064:2;12053:9;12049:18;12042:31;12096:46;12137:3;12126:9;12122:19;12114:6;12096:46;:::i;:::-;12190:9;12182:6;12178:22;12173:2;12162:9;12158:18;12151:50;12224:41;12258:6;12250;12224:41;:::i;:::-;12210:55;;12313:9;12305:6;12301:22;12296:2;12285:9;12281:18;12274:50;12341:33;12367:6;12359;12341:33;:::i;:::-;12333:41;;;12423:2;12415:6;12411:15;12405:3;12394:9;12390:19;12383:44;;11660:773;;;;;;;;:::o;12438:549::-;12678:2;12667:9;12660:21;12641:4;12704:45;12745:2;12734:9;12730:18;12722:6;12704:45;:::i;:::-;12797:9;12789:6;12785:22;12780:2;12769:9;12765:18;12758:50;12831:41;12865:6;12857;12831:41;:::i;:::-;12817:55;;12920:9;12912:6;12908:22;12903:2;12892:9;12888:18;12881:50;12948:33;12974:6;12966;12948:33;:::i;:::-;12940:41;12438:549;-1:-1:-1;;;;;;12438:549:34:o" - }, - "methodIdentifiers": { - "addSibling(string,string)": "45b48eb9", - "execute(bytes32,string,string,bytes)": "49160658", - "executeWithToken(bytes32,string,string,bytes,string,uint256)": "1a98b2e0", - "gasReceiver()": "80d14b4a", - "gateway()": "116191b6", - "set(string,string)": "e942b516", - "siblings(string)": "a7798b69", - "sourceAddress()": "b0fa8444", - "sourceChain()": "1c6ffa46", - "value()": "3fa4f245" - } - }, - "metadata": "{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"gateway_\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"gasReceiver_\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"NotApprovedByGateway\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"chain_\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"address_\",\"type\":\"string\"}],\"name\":\"addSibling\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"commandId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"sourceChain\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"sourceAddress\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"payload\",\"type\":\"bytes\"}],\"name\":\"execute\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"commandId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"sourceChain\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"sourceAddress\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"payload\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"tokenSymbol\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"executeWithToken\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"gasReceiver\",\"outputs\":[{\"internalType\":\"contract IAxelarGasService\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"gateway\",\"outputs\":[{\"internalType\":\"contract IAxelarGateway\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"chain\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"value_\",\"type\":\"string\"}],\"name\":\"set\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"siblings\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"sourceAddress\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"sourceChain\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"value\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/contracts/test/Executable.sol\":\"Executable\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1000},\"remappings\":[]},\"sources\":{\"@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarExecutable.sol\":{\"keccak256\":\"0xda06c5d3145ef8848d9b90ede90ec1017efa93aea976f3da4dc267a424cdc9f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://896bdfcb40209eb4d49ff1f96658e6d4e2001ec8e58984764974fc7b2ac3e8f4\",\"dweb:/ipfs/QmeAmpyxfdxY1auBXMNL1DL5wZrLeZCEaXnrB9UFHZMKpX\"]},\"@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarGasService.sol\":{\"keccak256\":\"0x4b334fc7688935dce33cdedca89d8cfd90dd49fef79c7f7c04d3c34b5b7a4a25\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ccce823d074846bb19c41a1576d290ec5dca5f9ec1069b7719aef6a03372ee5d\",\"dweb:/ipfs/QmZGnfVm2FEp7qxyQxgBQWKhCKVVaYtya5NX3EwqAe8B3M\"]},\"@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarGateway.sol\":{\"keccak256\":\"0x1ab75989d0869cf2b919b82aec52e75b1cd34395dcf78d99a6d852eb46432462\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://35d3164de1eba58778bb57c9495056e933551cde899ab2e4326dccf00c137e93\",\"dweb:/ipfs/QmYqH4jvacF3fuRqGhXZ1cLzkuBhBwp4qtNdV4uoa2NivG\"]},\"@axelar-network/axelar-cgp-solidity/contracts/interfaces/IUpgradable.sol\":{\"keccak256\":\"0x47d64169b4d38921c7ee78feecc75f3eb48246d28a5c6a5f24a1ab1d7031e344\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://56ab6a5e6464a29afff81cb57fdbb812c5574b545b549535427c2371950389fc\",\"dweb:/ipfs/QmW1joAce7d54PnP7RjWKVrvsqGMDHozELLFEKC1A6ctNe\"]},\"src/contracts/test/Executable.sol\":{\"keccak256\":\"0xe82664993ff69cc8e41829afb0aa92c69f3b7e9895bbc93b702a4bb13bff5e7e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4bfe2880e10ff09c2b88bfdd853f777dbd79a88bb57629232c7a575964eff4ba\",\"dweb:/ipfs/Qme5uHrzaGjNd3JWomXL5gdaDsP5oAabN4DeDuJqnsAogp\"]}},\"version\":1}" - } - }, - "src/contracts/test/ExecutableWithToken.sol": { - "ExecutableWithToken": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "gateway_", - "type": "address" - }, - { - "internalType": "address", - "name": "gasReceiver_", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "name": "NotApprovedByGateway", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "chain_", - "type": "string" - }, - { - "internalType": "string", - "name": "address_", - "type": "string" - } - ], - "name": "addSibling", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "commandId", - "type": "bytes32" - }, - { - "internalType": "string", - "name": "sourceChain", - "type": "string" - }, - { - "internalType": "string", - "name": "sourceAddress", - "type": "string" - }, - { - "internalType": "bytes", - "name": "payload", - "type": "bytes" - } - ], - "name": "execute", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "commandId", - "type": "bytes32" - }, - { - "internalType": "string", - "name": "sourceChain", - "type": "string" - }, - { - "internalType": "string", - "name": "sourceAddress", - "type": "string" - }, - { - "internalType": "bytes", - "name": "payload", - "type": "bytes" - }, - { - "internalType": "string", - "name": "tokenSymbol", - "type": "string" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "executeWithToken", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "gasReceiver", - "outputs": [ - { - "internalType": "contract IAxelarGasService", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "gateway", - "outputs": [ - { - "internalType": "contract IAxelarGateway", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "chain", - "type": "string" - }, - { - "internalType": "string", - "name": "value_", - "type": "string" - }, - { - "internalType": "address", - "name": "destinationAddress", - "type": "address" - }, - { - "internalType": "string", - "name": "symbol", - "type": "string" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "setAndSend", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "name": "siblings", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "sourceAddress", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "sourceChain", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "value", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "evm": { - "bytecode": { - "functionDebugData": { - "@_5047": { - "entryPoint": null, - "id": 5047, - "parameterSlots": 1, - "returnSlots": 0 - }, - "@_6395": { - "entryPoint": null, - "id": 6395, - "parameterSlots": 2, - "returnSlots": 0 - }, - "abi_decode_address_fromMemory": { - "entryPoint": 96, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "abi_decode_tuple_t_addresst_address_fromMemory": { - "entryPoint": 124, - "id": null, - "parameterSlots": 2, - "returnSlots": 2 - } - }, - "generatedSources": [ - { - "ast": { - "nodeType": "YulBlock", - "src": "0:491:34", - "statements": [ - { - "nodeType": "YulBlock", - "src": "6:3:34", - "statements": [] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "74:117:34", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "84:22:34", - "value": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "99:6:34" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "93:5:34" - }, - "nodeType": "YulFunctionCall", - "src": "93:13:34" - }, - "variableNames": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "84:5:34" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "169:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "178:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "181:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "171:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "171:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "171:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "128:5:34" - }, - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "139:5:34" - }, - { - "arguments": [ - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "154:3:34", - "type": "", - "value": "160" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "159:1:34", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "shl", - "nodeType": "YulIdentifier", - "src": "150:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "150:11:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "163:1:34", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "146:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "146:19:34" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "135:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "135:31:34" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "125:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "125:42:34" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "118:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "118:50:34" - }, - "nodeType": "YulIf", - "src": "115:70:34" - } - ] - }, - "name": "abi_decode_address_fromMemory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "53:6:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "64:5:34", - "type": "" - } - ], - "src": "14:177:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "294:195:34", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "340:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "349:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "352:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "342:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "342:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "342:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "315:7:34" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "324:9:34" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "311:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "311:23:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "336:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "307:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "307:32:34" - }, - "nodeType": "YulIf", - "src": "304:52:34" - }, - { - "nodeType": "YulAssignment", - "src": "365:50:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "405:9:34" - } - ], - "functionName": { - "name": "abi_decode_address_fromMemory", - "nodeType": "YulIdentifier", - "src": "375:29:34" - }, - "nodeType": "YulFunctionCall", - "src": "375:40:34" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "365:6:34" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "424:59:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "468:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "479:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "464:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "464:18:34" - } - ], - "functionName": { - "name": "abi_decode_address_fromMemory", - "nodeType": "YulIdentifier", - "src": "434:29:34" - }, - "nodeType": "YulFunctionCall", - "src": "434:49:34" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "424:6:34" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_addresst_address_fromMemory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "252:9:34", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "263:7:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "275:6:34", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "283:6:34", - "type": "" - } - ], - "src": "196:293:34" - } - ] - }, - "contents": "{\n { }\n function abi_decode_address_fromMemory(offset) -> value\n {\n value := mload(offset)\n if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n }\n function abi_decode_tuple_t_addresst_address_fromMemory(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := abi_decode_address_fromMemory(headStart)\n value1 := abi_decode_address_fromMemory(add(headStart, 32))\n }\n}", - "id": 34, - "language": "Yul", - "name": "#utility.yul" - } - ], - "linkReferences": {}, - "object": "608060405234801561001057600080fd5b5060405161147b38038061147b83398101604081905261002f9161007c565b600080546001600160a01b039384166001600160a01b031991821617909155600480549290931691161790556100af565b80516001600160a01b038116811461007757600080fd5b919050565b6000806040838503121561008f57600080fd5b61009883610060565b91506100a660208401610060565b90509250929050565b6113bd806100be6000396000f3fe6080604052600436106100b15760003560e01c8063491606581161006957806389471c941161004e57806389471c94146101ac578063a7798b69146101bf578063b0fa8444146101df57600080fd5b8063491606581461016c57806380d14b4a1461018c57600080fd5b80631c6ffa461161009a5780631c6ffa46146101155780633fa4f2451461013757806345b48eb91461014c57600080fd5b8063116191b6146100b65780631a98b2e0146100f3575b600080fd5b3480156100c257600080fd5b506000546100d6906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156100ff57600080fd5b5061011361010e366004610c20565b6101f4565b005b34801561012157600080fd5b5061012a61038f565b6040516100ea9190610d52565b34801561014357600080fd5b5061012a61041d565b34801561015857600080fd5b50610113610167366004610d6c565b61042a565b34801561017857600080fd5b50610113610187366004610dd8565b61045f565b34801561019857600080fd5b506004546100d6906001600160a01b031681565b6101136101ba366004610f37565b6105bb565b3480156101cb57600080fd5b5061012a6101da366004610fe2565b610917565b3480156101eb57600080fd5b5061012a61093b565b6000858560405161020692919061101f565b6040519081900381206000547f1876eed90000000000000000000000000000000000000000000000000000000083529092506001600160a01b031690631876eed990610266908e908e908e908e908e9089908d908d908d90600401611058565b602060405180830381600087803b15801561028057600080fd5b505af1158015610294573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102b891906110b7565b6102d557604051631403112d60e21b815260040160405180910390fd5b6103828a8a8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8e018190048102820181019092528c815292508c91508b908190840183828082843760009201919091525050604080516020601f8b018190048102820181019092528981528c93508b9250908a908a90819084018382808284376000920191909152508a9250610948915050565b5050505050505050505050565b6002805461039c906110d9565b80601f01602080910402602001604051908101604052809291908181526020018280546103c8906110d9565b80156104155780601f106103ea57610100808354040283529160200191610415565b820191906000526020600020905b8154815290600101906020018083116103f857829003601f168201915b505050505081565b6001805461039c906110d9565b81816005868660405161043e92919061101f565b908152604051908190036020019020610458929091610aca565b5050505050565b6000828260405161047192919061101f565b6040519081900381206000547f5f6970c30000000000000000000000000000000000000000000000000000000083529092506001600160a01b031690635f6970c3906104cb908b908b908b908b908b908990600401611114565b602060405180830381600087803b1580156104e557600080fd5b505af11580156104f9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061051d91906110b7565b61053a57604051631403112d60e21b815260040160405180910390fd5b6105b187878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8b018190048102820181019092528981529250899150889081908401838280828437600092019190915250889250879150610ac49050565b5050505050505050565b6105c760018686610aca565b5060008585856040516020016105df93929190611155565b60408051601f19818403018152919052905034156106a4576004546040516001600160a01b039091169063c62c200290349030908b90600590610623908390611182565b9081526040519081900360200181207fffffffff0000000000000000000000000000000000000000000000000000000060e087901b16825261067193929188908b908b90339060040161123e565b6000604051808303818588803b15801561068a57600080fd5b505af115801561069e573d6000803e3d6000fd5b50505050505b600080546040516349ad89fb60e11b81526001600160a01b039091169063935b13f6906106d5908790600401610d52565b60206040518083038186803b1580156106ed57600080fd5b505afa158015610701573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061072591906112b8565b6040517f23b872dd000000000000000000000000000000000000000000000000000000008152336004820152306024820152604481018590529091506001600160a01b038216906323b872dd90606401602060405180830381600087803b15801561078f57600080fd5b505af11580156107a3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107c791906110b7565b506000546040517f095ea7b30000000000000000000000000000000000000000000000000000000081526001600160a01b039182166004820152602481018590529082169063095ea7b390604401602060405180830381600087803b15801561082f57600080fd5b505af1158015610843573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061086791906110b7565b506000546040516001600160a01b039091169063b5417084908a90600590610890908390611182565b9081526040519081900360200181207fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1682526108db929187908a908a906004016112d5565b600060405180830381600087803b1580156108f557600080fd5b505af1158015610909573d6000803e3d6000fd5b505050505050505050505050565b80516020818301810180516005825292820191909301209152805461039c906110d9565b6003805461039c906110d9565b600061095684860186611335565b8151909250829061096e906001906020850190610b4e565b50508751610984915060029060208a0190610b4e565b508551610998906003906020890190610b4e565b50600080546040516349ad89fb60e11b81526001600160a01b039091169063935b13f6906109ca908790600401610d52565b60206040518083038186803b1580156109e257600080fd5b505afa1580156109f6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a1a91906112b8565b6040517fa9059cbb0000000000000000000000000000000000000000000000000000000081526001600160a01b038481166004830152602482018690529192509082169063a9059cbb90604401602060405180830381600087803b158015610a8157600080fd5b505af1158015610a95573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ab991906110b7565b505050505050505050565b50505050565b828054610ad6906110d9565b90600052602060002090601f016020900481019282610af85760008555610b3e565b82601f10610b115782800160ff19823516178555610b3e565b82800160010185558215610b3e579182015b82811115610b3e578235825591602001919060010190610b23565b50610b4a929150610bc2565b5090565b828054610b5a906110d9565b90600052602060002090601f016020900481019282610b7c5760008555610b3e565b82601f10610b9557805160ff1916838001178555610b3e565b82800160010185558215610b3e579182015b82811115610b3e578251825591602001919060010190610ba7565b5b80821115610b4a5760008155600101610bc3565b60008083601f840112610be957600080fd5b50813567ffffffffffffffff811115610c0157600080fd5b602083019150836020828501011115610c1957600080fd5b9250929050565b60008060008060008060008060008060c08b8d031215610c3f57600080fd5b8a35995060208b013567ffffffffffffffff80821115610c5e57600080fd5b610c6a8e838f01610bd7565b909b50995060408d0135915080821115610c8357600080fd5b610c8f8e838f01610bd7565b909950975060608d0135915080821115610ca857600080fd5b610cb48e838f01610bd7565b909750955060808d0135915080821115610ccd57600080fd5b50610cda8d828e01610bd7565b9150809450508092505060a08b013590509295989b9194979a5092959850565b60005b83811015610d15578181015183820152602001610cfd565b83811115610ac45750506000910152565b60008151808452610d3e816020860160208601610cfa565b601f01601f19169290920160200192915050565b602081526000610d656020830184610d26565b9392505050565b60008060008060408587031215610d8257600080fd5b843567ffffffffffffffff80821115610d9a57600080fd5b610da688838901610bd7565b90965094506020870135915080821115610dbf57600080fd5b50610dcc87828801610bd7565b95989497509550505050565b60008060008060008060006080888a031215610df357600080fd5b87359650602088013567ffffffffffffffff80821115610e1257600080fd5b610e1e8b838c01610bd7565b909850965060408a0135915080821115610e3757600080fd5b610e438b838c01610bd7565b909650945060608a0135915080821115610e5c57600080fd5b50610e698a828b01610bd7565b989b979a50959850939692959293505050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112610ea357600080fd5b813567ffffffffffffffff80821115610ebe57610ebe610e7c565b604051601f8301601f19908116603f01168101908282118183101715610ee657610ee6610e7c565b81604052838152866020858801011115610eff57600080fd5b836020870160208301376000602085830101528094505050505092915050565b6001600160a01b0381168114610f3457600080fd5b50565b60008060008060008060a08789031215610f5057600080fd5b863567ffffffffffffffff80821115610f6857600080fd5b610f748a838b01610e92565b97506020890135915080821115610f8a57600080fd5b610f968a838b01610bd7565b909750955060408901359150610fab82610f1f565b90935060608801359080821115610fc157600080fd5b50610fce89828a01610e92565b925050608087013590509295509295509295565b600060208284031215610ff457600080fd5b813567ffffffffffffffff81111561100b57600080fd5b61101784828501610e92565b949350505050565b8183823760009101908152919050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b89815260c06020820152600061107260c083018a8c61102f565b828103604084015261108581898b61102f565b905086606084015282810360808401526110a081868861102f565b9150508260a08301529a9950505050505050505050565b6000602082840312156110c957600080fd5b81518015158114610d6557600080fd5b600181811c908216806110ed57607f821691505b6020821081141561110e57634e487b7160e01b600052602260045260246000fd5b50919050565b86815260806020820152600061112e60808301878961102f565b828103604084015261114181868861102f565b915050826060830152979650505050505050565b60408152600061116960408301858761102f565b90506001600160a01b0383166020830152949350505050565b60008251611194818460208701610cfa565b9190910192915050565b8054600090600181811c90808316806111b857607f831692505b60208084108214156111da57634e487b7160e01b600052602260045260246000fd5b838852602088018280156111f5576001811461120657611231565b60ff19871682528282019750611231565b60008981526020902060005b8781101561122b57815484820152908601908401611212565b83019850505b5050505050505092915050565b60006001600160a01b03808a16835260e0602084015261126160e084018a610d26565b8381036040850152611273818a61119e565b905083810360608501526112878189610d26565b9050838103608085015261129b8188610d26565b60a0850196909652509290921660c0909101525095945050505050565b6000602082840312156112ca57600080fd5b8151610d6581610f1f565b60a0815260006112e860a0830188610d26565b82810360208401526112fa818861119e565b9050828103604084015261130e8187610d26565b905082810360608401526113228186610d26565b9150508260808301529695505050505050565b6000806040838503121561134857600080fd5b823567ffffffffffffffff81111561135f57600080fd5b61136b85828601610e92565b925050602083013561137c81610f1f565b80915050925092905056fea2646970667358221220423df6f44476d4f6856a92b73b23f593e5b063bee8acaae6cad055ae2b1b66bc64736f6c63430008090033", - "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH2 0x147B CODESIZE SUB DUP1 PUSH2 0x147B DUP4 CODECOPY DUP2 ADD PUSH1 0x40 DUP2 SWAP1 MSTORE PUSH2 0x2F SWAP2 PUSH2 0x7C JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP4 DUP5 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT SWAP2 DUP3 AND OR SWAP1 SWAP2 SSTORE PUSH1 0x4 DUP1 SLOAD SWAP3 SWAP1 SWAP4 AND SWAP2 AND OR SWAP1 SSTORE PUSH2 0xAF JUMP JUMPDEST DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x77 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x8F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x98 DUP4 PUSH2 0x60 JUMP JUMPDEST SWAP2 POP PUSH2 0xA6 PUSH1 0x20 DUP5 ADD PUSH2 0x60 JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH2 0x13BD DUP1 PUSH2 0xBE PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0xB1 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x49160658 GT PUSH2 0x69 JUMPI DUP1 PUSH4 0x89471C94 GT PUSH2 0x4E JUMPI DUP1 PUSH4 0x89471C94 EQ PUSH2 0x1AC JUMPI DUP1 PUSH4 0xA7798B69 EQ PUSH2 0x1BF JUMPI DUP1 PUSH4 0xB0FA8444 EQ PUSH2 0x1DF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x49160658 EQ PUSH2 0x16C JUMPI DUP1 PUSH4 0x80D14B4A EQ PUSH2 0x18C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x1C6FFA46 GT PUSH2 0x9A JUMPI DUP1 PUSH4 0x1C6FFA46 EQ PUSH2 0x115 JUMPI DUP1 PUSH4 0x3FA4F245 EQ PUSH2 0x137 JUMPI DUP1 PUSH4 0x45B48EB9 EQ PUSH2 0x14C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x116191B6 EQ PUSH2 0xB6 JUMPI DUP1 PUSH4 0x1A98B2E0 EQ PUSH2 0xF3 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x0 SLOAD PUSH2 0xD6 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xFF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x113 PUSH2 0x10E CALLDATASIZE PUSH1 0x4 PUSH2 0xC20 JUMP JUMPDEST PUSH2 0x1F4 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x121 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x12A PUSH2 0x38F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xEA SWAP2 SWAP1 PUSH2 0xD52 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x143 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x12A PUSH2 0x41D JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x158 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x113 PUSH2 0x167 CALLDATASIZE PUSH1 0x4 PUSH2 0xD6C JUMP JUMPDEST PUSH2 0x42A JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x178 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x113 PUSH2 0x187 CALLDATASIZE PUSH1 0x4 PUSH2 0xDD8 JUMP JUMPDEST PUSH2 0x45F JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x198 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 SLOAD PUSH2 0xD6 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST PUSH2 0x113 PUSH2 0x1BA CALLDATASIZE PUSH1 0x4 PUSH2 0xF37 JUMP JUMPDEST PUSH2 0x5BB JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1CB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x12A PUSH2 0x1DA CALLDATASIZE PUSH1 0x4 PUSH2 0xFE2 JUMP JUMPDEST PUSH2 0x917 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1EB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x12A PUSH2 0x93B JUMP JUMPDEST PUSH1 0x0 DUP6 DUP6 PUSH1 0x40 MLOAD PUSH2 0x206 SWAP3 SWAP2 SWAP1 PUSH2 0x101F JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 SWAP1 SUB DUP2 KECCAK256 PUSH1 0x0 SLOAD PUSH32 0x1876EED900000000000000000000000000000000000000000000000000000000 DUP4 MSTORE SWAP1 SWAP3 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0x1876EED9 SWAP1 PUSH2 0x266 SWAP1 DUP15 SWAP1 DUP15 SWAP1 DUP15 SWAP1 DUP15 SWAP1 DUP15 SWAP1 DUP10 SWAP1 DUP14 SWAP1 DUP14 SWAP1 DUP14 SWAP1 PUSH1 0x4 ADD PUSH2 0x1058 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x280 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x294 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x2B8 SWAP2 SWAP1 PUSH2 0x10B7 JUMP JUMPDEST PUSH2 0x2D5 JUMPI PUSH1 0x40 MLOAD PUSH4 0x1403112D PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x382 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 PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 PUSH1 0x1F DUP15 ADD DUP2 SWAP1 DIV DUP2 MUL DUP3 ADD DUP2 ADD SWAP1 SWAP3 MSTORE DUP13 DUP2 MSTORE SWAP3 POP DUP13 SWAP2 POP DUP12 SWAP1 DUP2 SWAP1 DUP5 ADD DUP4 DUP3 DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 SWAP3 ADD SWAP2 SWAP1 SWAP2 MSTORE POP 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 DUP13 SWAP4 POP DUP12 SWAP3 POP SWAP1 DUP11 SWAP1 DUP11 SWAP1 DUP2 SWAP1 DUP5 ADD DUP4 DUP3 DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 SWAP3 ADD SWAP2 SWAP1 SWAP2 MSTORE POP DUP11 SWAP3 POP PUSH2 0x948 SWAP2 POP POP JUMP JUMPDEST POP POP POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x2 DUP1 SLOAD PUSH2 0x39C SWAP1 PUSH2 0x10D9 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 0x3C8 SWAP1 PUSH2 0x10D9 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x415 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x3EA JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x415 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 0x3F8 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 JUMP JUMPDEST PUSH1 0x1 DUP1 SLOAD PUSH2 0x39C SWAP1 PUSH2 0x10D9 JUMP JUMPDEST DUP2 DUP2 PUSH1 0x5 DUP7 DUP7 PUSH1 0x40 MLOAD PUSH2 0x43E SWAP3 SWAP2 SWAP1 PUSH2 0x101F JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x40 MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 KECCAK256 PUSH2 0x458 SWAP3 SWAP1 SWAP2 PUSH2 0xACA JUMP JUMPDEST POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 PUSH1 0x40 MLOAD PUSH2 0x471 SWAP3 SWAP2 SWAP1 PUSH2 0x101F JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 SWAP1 SUB DUP2 KECCAK256 PUSH1 0x0 SLOAD PUSH32 0x5F6970C300000000000000000000000000000000000000000000000000000000 DUP4 MSTORE SWAP1 SWAP3 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0x5F6970C3 SWAP1 PUSH2 0x4CB SWAP1 DUP12 SWAP1 DUP12 SWAP1 DUP12 SWAP1 DUP12 SWAP1 DUP12 SWAP1 DUP10 SWAP1 PUSH1 0x4 ADD PUSH2 0x1114 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x4E5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x4F9 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x51D SWAP2 SWAP1 PUSH2 0x10B7 JUMP JUMPDEST PUSH2 0x53A JUMPI PUSH1 0x40 MLOAD PUSH4 0x1403112D PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x5B1 DUP8 DUP8 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 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 SWAP3 POP DUP10 SWAP2 POP DUP9 SWAP1 DUP2 SWAP1 DUP5 ADD DUP4 DUP3 DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 SWAP3 ADD SWAP2 SWAP1 SWAP2 MSTORE POP DUP9 SWAP3 POP DUP8 SWAP2 POP PUSH2 0xAC4 SWAP1 POP JUMP JUMPDEST POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x5C7 PUSH1 0x1 DUP7 DUP7 PUSH2 0xACA JUMP JUMPDEST POP PUSH1 0x0 DUP6 DUP6 DUP6 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x5DF SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x1155 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F NOT DUP2 DUP5 SUB ADD DUP2 MSTORE SWAP2 SWAP1 MSTORE SWAP1 POP CALLVALUE ISZERO PUSH2 0x6A4 JUMPI PUSH1 0x4 SLOAD PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0xC62C2002 SWAP1 CALLVALUE SWAP1 ADDRESS SWAP1 DUP12 SWAP1 PUSH1 0x5 SWAP1 PUSH2 0x623 SWAP1 DUP4 SWAP1 PUSH2 0x1182 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x40 MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD DUP2 KECCAK256 PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 PUSH1 0xE0 DUP8 SWAP1 SHL AND DUP3 MSTORE PUSH2 0x671 SWAP4 SWAP3 SWAP2 DUP9 SWAP1 DUP12 SWAP1 DUP12 SWAP1 CALLER SWAP1 PUSH1 0x4 ADD PUSH2 0x123E JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP9 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x68A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x69E JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP POP JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH1 0x40 MLOAD PUSH4 0x49AD89FB PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x935B13F6 SWAP1 PUSH2 0x6D5 SWAP1 DUP8 SWAP1 PUSH1 0x4 ADD PUSH2 0xD52 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x6ED JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x701 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x725 SWAP2 SWAP1 PUSH2 0x12B8 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH32 0x23B872DD00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE CALLER PUSH1 0x4 DUP3 ADD MSTORE ADDRESS PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x44 DUP2 ADD DUP6 SWAP1 MSTORE SWAP1 SWAP2 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND SWAP1 PUSH4 0x23B872DD SWAP1 PUSH1 0x64 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x78F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x7A3 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x7C7 SWAP2 SWAP1 PUSH2 0x10B7 JUMP JUMPDEST POP PUSH1 0x0 SLOAD PUSH1 0x40 MLOAD PUSH32 0x95EA7B300000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 DUP3 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP2 ADD DUP6 SWAP1 MSTORE SWAP1 DUP3 AND SWAP1 PUSH4 0x95EA7B3 SWAP1 PUSH1 0x44 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x82F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x843 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x867 SWAP2 SWAP1 PUSH2 0x10B7 JUMP JUMPDEST POP PUSH1 0x0 SLOAD PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0xB5417084 SWAP1 DUP11 SWAP1 PUSH1 0x5 SWAP1 PUSH2 0x890 SWAP1 DUP4 SWAP1 PUSH2 0x1182 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x40 MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD DUP2 KECCAK256 PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 PUSH1 0xE0 DUP6 SWAP1 SHL AND DUP3 MSTORE PUSH2 0x8DB SWAP3 SWAP2 DUP8 SWAP1 DUP11 SWAP1 DUP11 SWAP1 PUSH1 0x4 ADD PUSH2 0x12D5 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x8F5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x909 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP POP POP POP POP POP POP POP POP JUMP JUMPDEST DUP1 MLOAD PUSH1 0x20 DUP2 DUP4 ADD DUP2 ADD DUP1 MLOAD PUSH1 0x5 DUP3 MSTORE SWAP3 DUP3 ADD SWAP2 SWAP1 SWAP4 ADD KECCAK256 SWAP2 MSTORE DUP1 SLOAD PUSH2 0x39C SWAP1 PUSH2 0x10D9 JUMP JUMPDEST PUSH1 0x3 DUP1 SLOAD PUSH2 0x39C SWAP1 PUSH2 0x10D9 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x956 DUP5 DUP7 ADD DUP7 PUSH2 0x1335 JUMP JUMPDEST DUP2 MLOAD SWAP1 SWAP3 POP DUP3 SWAP1 PUSH2 0x96E SWAP1 PUSH1 0x1 SWAP1 PUSH1 0x20 DUP6 ADD SWAP1 PUSH2 0xB4E JUMP JUMPDEST POP POP DUP8 MLOAD PUSH2 0x984 SWAP2 POP PUSH1 0x2 SWAP1 PUSH1 0x20 DUP11 ADD SWAP1 PUSH2 0xB4E JUMP JUMPDEST POP DUP6 MLOAD PUSH2 0x998 SWAP1 PUSH1 0x3 SWAP1 PUSH1 0x20 DUP10 ADD SWAP1 PUSH2 0xB4E JUMP JUMPDEST POP PUSH1 0x0 DUP1 SLOAD PUSH1 0x40 MLOAD PUSH4 0x49AD89FB PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x935B13F6 SWAP1 PUSH2 0x9CA SWAP1 DUP8 SWAP1 PUSH1 0x4 ADD PUSH2 0xD52 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x9E2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x9F6 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xA1A SWAP2 SWAP1 PUSH2 0x12B8 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH32 0xA9059CBB00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 DUP2 AND PUSH1 0x4 DUP4 ADD MSTORE PUSH1 0x24 DUP3 ADD DUP7 SWAP1 MSTORE SWAP2 SWAP3 POP SWAP1 DUP3 AND SWAP1 PUSH4 0xA9059CBB SWAP1 PUSH1 0x44 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xA81 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0xA95 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xAB9 SWAP2 SWAP1 PUSH2 0x10B7 JUMP JUMPDEST POP POP POP POP POP POP POP POP POP JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST DUP3 DUP1 SLOAD PUSH2 0xAD6 SWAP1 PUSH2 0x10D9 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 PUSH2 0xAF8 JUMPI PUSH1 0x0 DUP6 SSTORE PUSH2 0xB3E JUMP JUMPDEST DUP3 PUSH1 0x1F LT PUSH2 0xB11 JUMPI DUP3 DUP1 ADD PUSH1 0xFF NOT DUP3 CALLDATALOAD AND OR DUP6 SSTORE PUSH2 0xB3E JUMP JUMPDEST DUP3 DUP1 ADD PUSH1 0x1 ADD DUP6 SSTORE DUP3 ISZERO PUSH2 0xB3E JUMPI SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH2 0xB3E JUMPI DUP3 CALLDATALOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0xB23 JUMP JUMPDEST POP PUSH2 0xB4A SWAP3 SWAP2 POP PUSH2 0xBC2 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST DUP3 DUP1 SLOAD PUSH2 0xB5A SWAP1 PUSH2 0x10D9 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 PUSH2 0xB7C JUMPI PUSH1 0x0 DUP6 SSTORE PUSH2 0xB3E JUMP JUMPDEST DUP3 PUSH1 0x1F LT PUSH2 0xB95 JUMPI DUP1 MLOAD PUSH1 0xFF NOT AND DUP4 DUP1 ADD OR DUP6 SSTORE PUSH2 0xB3E JUMP JUMPDEST DUP3 DUP1 ADD PUSH1 0x1 ADD DUP6 SSTORE DUP3 ISZERO PUSH2 0xB3E JUMPI SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH2 0xB3E JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0xBA7 JUMP JUMPDEST JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0xB4A JUMPI PUSH1 0x0 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0xBC3 JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0xBE9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP DUP2 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xC01 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x20 DUP3 DUP6 ADD ADD GT ISZERO PUSH2 0xC19 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0xC0 DUP12 DUP14 SUB SLT ISZERO PUSH2 0xC3F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP11 CALLDATALOAD SWAP10 POP PUSH1 0x20 DUP12 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0xC5E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xC6A DUP15 DUP4 DUP16 ADD PUSH2 0xBD7 JUMP JUMPDEST SWAP1 SWAP12 POP SWAP10 POP PUSH1 0x40 DUP14 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0xC83 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xC8F DUP15 DUP4 DUP16 ADD PUSH2 0xBD7 JUMP JUMPDEST SWAP1 SWAP10 POP SWAP8 POP PUSH1 0x60 DUP14 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0xCA8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xCB4 DUP15 DUP4 DUP16 ADD PUSH2 0xBD7 JUMP JUMPDEST SWAP1 SWAP8 POP SWAP6 POP PUSH1 0x80 DUP14 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0xCCD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xCDA DUP14 DUP3 DUP15 ADD PUSH2 0xBD7 JUMP JUMPDEST SWAP2 POP DUP1 SWAP5 POP POP DUP1 SWAP3 POP POP PUSH1 0xA0 DUP12 ADD CALLDATALOAD SWAP1 POP SWAP3 SWAP6 SWAP9 SWAP12 SWAP2 SWAP5 SWAP8 SWAP11 POP SWAP3 SWAP6 SWAP9 POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0xD15 JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0xCFD JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0xAC4 JUMPI POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH2 0xD3E DUP2 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP7 ADD PUSH2 0xCFA JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x20 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0xD65 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0xD26 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x40 DUP6 DUP8 SUB SLT ISZERO PUSH2 0xD82 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP5 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0xD9A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xDA6 DUP9 DUP4 DUP10 ADD PUSH2 0xBD7 JUMP JUMPDEST SWAP1 SWAP7 POP SWAP5 POP PUSH1 0x20 DUP8 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0xDBF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xDCC DUP8 DUP3 DUP9 ADD PUSH2 0xBD7 JUMP JUMPDEST SWAP6 SWAP9 SWAP5 SWAP8 POP SWAP6 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x80 DUP9 DUP11 SUB SLT ISZERO PUSH2 0xDF3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP8 CALLDATALOAD SWAP7 POP PUSH1 0x20 DUP9 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0xE12 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xE1E DUP12 DUP4 DUP13 ADD PUSH2 0xBD7 JUMP JUMPDEST SWAP1 SWAP9 POP SWAP7 POP PUSH1 0x40 DUP11 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0xE37 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xE43 DUP12 DUP4 DUP13 ADD PUSH2 0xBD7 JUMP JUMPDEST SWAP1 SWAP7 POP SWAP5 POP PUSH1 0x60 DUP11 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0xE5C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xE69 DUP11 DUP3 DUP12 ADD PUSH2 0xBD7 JUMP JUMPDEST SWAP9 SWAP12 SWAP8 SWAP11 POP SWAP6 SWAP9 POP SWAP4 SWAP7 SWAP3 SWAP6 SWAP3 SWAP4 POP POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0xEA3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0xEBE JUMPI PUSH2 0xEBE PUSH2 0xE7C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP4 ADD PUSH1 0x1F NOT SWAP1 DUP2 AND PUSH1 0x3F ADD AND DUP2 ADD SWAP1 DUP3 DUP3 GT DUP2 DUP4 LT OR ISZERO PUSH2 0xEE6 JUMPI PUSH2 0xEE6 PUSH2 0xE7C JUMP JUMPDEST DUP2 PUSH1 0x40 MSTORE DUP4 DUP2 MSTORE DUP7 PUSH1 0x20 DUP6 DUP9 ADD ADD GT ISZERO PUSH2 0xEFF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 PUSH1 0x20 DUP8 ADD PUSH1 0x20 DUP4 ADD CALLDATACOPY PUSH1 0x0 PUSH1 0x20 DUP6 DUP4 ADD ADD MSTORE DUP1 SWAP5 POP POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0xF34 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0xA0 DUP8 DUP10 SUB SLT ISZERO PUSH2 0xF50 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP7 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0xF68 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xF74 DUP11 DUP4 DUP12 ADD PUSH2 0xE92 JUMP JUMPDEST SWAP8 POP PUSH1 0x20 DUP10 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0xF8A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xF96 DUP11 DUP4 DUP12 ADD PUSH2 0xBD7 JUMP JUMPDEST SWAP1 SWAP8 POP SWAP6 POP PUSH1 0x40 DUP10 ADD CALLDATALOAD SWAP2 POP PUSH2 0xFAB DUP3 PUSH2 0xF1F JUMP JUMPDEST SWAP1 SWAP4 POP PUSH1 0x60 DUP9 ADD CALLDATALOAD SWAP1 DUP1 DUP3 GT ISZERO PUSH2 0xFC1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xFCE DUP10 DUP3 DUP11 ADD PUSH2 0xE92 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x80 DUP8 ADD CALLDATALOAD SWAP1 POP SWAP3 SWAP6 POP SWAP3 SWAP6 POP SWAP3 SWAP6 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xFF4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x100B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1017 DUP5 DUP3 DUP6 ADD PUSH2 0xE92 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST DUP2 DUP4 DUP3 CALLDATACOPY PUSH1 0x0 SWAP2 ADD SWAP1 DUP2 MSTORE SWAP2 SWAP1 POP JUMP JUMPDEST DUP2 DUP4 MSTORE DUP2 DUP2 PUSH1 0x20 DUP6 ADD CALLDATACOPY POP PUSH1 0x0 DUP3 DUP3 ADD PUSH1 0x20 SWAP1 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x1F SWAP1 SWAP2 ADD PUSH1 0x1F NOT AND SWAP1 SWAP2 ADD ADD SWAP1 JUMP JUMPDEST DUP10 DUP2 MSTORE PUSH1 0xC0 PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x0 PUSH2 0x1072 PUSH1 0xC0 DUP4 ADD DUP11 DUP13 PUSH2 0x102F JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x40 DUP5 ADD MSTORE PUSH2 0x1085 DUP2 DUP10 DUP12 PUSH2 0x102F JUMP JUMPDEST SWAP1 POP DUP7 PUSH1 0x60 DUP5 ADD MSTORE DUP3 DUP2 SUB PUSH1 0x80 DUP5 ADD MSTORE PUSH2 0x10A0 DUP2 DUP7 DUP9 PUSH2 0x102F JUMP JUMPDEST SWAP2 POP POP DUP3 PUSH1 0xA0 DUP4 ADD MSTORE SWAP11 SWAP10 POP POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x10C9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0xD65 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0x10ED JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH2 0x110E 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 DUP7 DUP2 MSTORE PUSH1 0x80 PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x0 PUSH2 0x112E PUSH1 0x80 DUP4 ADD DUP8 DUP10 PUSH2 0x102F JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x40 DUP5 ADD MSTORE PUSH2 0x1141 DUP2 DUP7 DUP9 PUSH2 0x102F JUMP JUMPDEST SWAP2 POP POP DUP3 PUSH1 0x60 DUP4 ADD MSTORE SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x40 DUP2 MSTORE PUSH1 0x0 PUSH2 0x1169 PUSH1 0x40 DUP4 ADD DUP6 DUP8 PUSH2 0x102F JUMP JUMPDEST SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x20 DUP4 ADD MSTORE SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 MLOAD PUSH2 0x1194 DUP2 DUP5 PUSH1 0x20 DUP8 ADD PUSH2 0xCFA JUMP JUMPDEST SWAP2 SWAP1 SWAP2 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST DUP1 SLOAD PUSH1 0x0 SWAP1 PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP1 DUP4 AND DUP1 PUSH2 0x11B8 JUMPI PUSH1 0x7F DUP4 AND SWAP3 POP JUMPDEST PUSH1 0x20 DUP1 DUP5 LT DUP3 EQ ISZERO PUSH2 0x11DA JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP4 DUP9 MSTORE PUSH1 0x20 DUP9 ADD DUP3 DUP1 ISZERO PUSH2 0x11F5 JUMPI PUSH1 0x1 DUP2 EQ PUSH2 0x1206 JUMPI PUSH2 0x1231 JUMP JUMPDEST PUSH1 0xFF NOT DUP8 AND DUP3 MSTORE DUP3 DUP3 ADD SWAP8 POP PUSH2 0x1231 JUMP JUMPDEST PUSH1 0x0 DUP10 DUP2 MSTORE PUSH1 0x20 SWAP1 KECCAK256 PUSH1 0x0 JUMPDEST DUP8 DUP2 LT ISZERO PUSH2 0x122B JUMPI DUP2 SLOAD DUP5 DUP3 ADD MSTORE SWAP1 DUP7 ADD SWAP1 DUP5 ADD PUSH2 0x1212 JUMP JUMPDEST DUP4 ADD SWAP9 POP POP JUMPDEST POP POP POP POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP11 AND DUP4 MSTORE PUSH1 0xE0 PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x1261 PUSH1 0xE0 DUP5 ADD DUP11 PUSH2 0xD26 JUMP JUMPDEST DUP4 DUP2 SUB PUSH1 0x40 DUP6 ADD MSTORE PUSH2 0x1273 DUP2 DUP11 PUSH2 0x119E JUMP JUMPDEST SWAP1 POP DUP4 DUP2 SUB PUSH1 0x60 DUP6 ADD MSTORE PUSH2 0x1287 DUP2 DUP10 PUSH2 0xD26 JUMP JUMPDEST SWAP1 POP DUP4 DUP2 SUB PUSH1 0x80 DUP6 ADD MSTORE PUSH2 0x129B DUP2 DUP9 PUSH2 0xD26 JUMP JUMPDEST PUSH1 0xA0 DUP6 ADD SWAP7 SWAP1 SWAP7 MSTORE POP SWAP3 SWAP1 SWAP3 AND PUSH1 0xC0 SWAP1 SWAP2 ADD MSTORE POP SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x12CA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0xD65 DUP2 PUSH2 0xF1F JUMP JUMPDEST PUSH1 0xA0 DUP2 MSTORE PUSH1 0x0 PUSH2 0x12E8 PUSH1 0xA0 DUP4 ADD DUP9 PUSH2 0xD26 JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x12FA DUP2 DUP9 PUSH2 0x119E JUMP JUMPDEST SWAP1 POP DUP3 DUP2 SUB PUSH1 0x40 DUP5 ADD MSTORE PUSH2 0x130E DUP2 DUP8 PUSH2 0xD26 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 SUB PUSH1 0x60 DUP5 ADD MSTORE PUSH2 0x1322 DUP2 DUP7 PUSH2 0xD26 JUMP JUMPDEST SWAP2 POP POP DUP3 PUSH1 0x80 DUP4 ADD MSTORE SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1348 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x135F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x136B DUP6 DUP3 DUP7 ADD PUSH2 0xE92 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH2 0x137C DUP2 PUSH2 0xF1F JUMP JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 TIMESTAMP RETURNDATASIZE 0xF6 DELEGATECALL DIFFICULTY PUSH23 0xD4F6856A92B73B23F593E5B063BEE8ACAAE6CAD055AE2B SHL PUSH7 0xBC64736F6C6343 STOP ADDMOD MULMOD STOP CALLER ", - "sourceMap": "384:2277:33:-:0;;;619:142;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;266:7:17;:34;;-1:-1:-1;;;;;266:34:17;;;-1:-1:-1;;;;;;266:34:17;;;;;;;709:11:33::1;:45:::0;;;;;::::1;::::0;::::1;;::::0;;384:2277;;14:177:34;93:13;;-1:-1:-1;;;;;135:31:34;;125:42;;115:70;;181:1;178;171:12;115:70;14:177;;;:::o;196:293::-;275:6;283;336:2;324:9;315:7;311:23;307:32;304:52;;;352:1;349;342:12;304:52;375:40;405:9;375:40;:::i;:::-;365:50;;434:49;479:2;468:9;464:18;434:49;:::i;:::-;424:59;;196:293;;;;;:::o;:::-;384:2277:33;;;;;;" - }, - "deployedBytecode": { - "functionDebugData": { - "@_executeWithToken_6560": { - "entryPoint": 2376, - "id": 6560, - "parameterSlots": 6, - "returnSlots": 0 - }, - "@_execute_5137": { - "entryPoint": 2756, - "id": 5137, - "parameterSlots": 4, - "returnSlots": 0 - }, - "@addSibling_6409": { - "entryPoint": 1066, - "id": 6409, - "parameterSlots": 4, - "returnSlots": 0 - }, - "@executeWithToken_5127": { - "entryPoint": 500, - "id": 5127, - "parameterSlots": 10, - "returnSlots": 0 - }, - "@execute_5083": { - "entryPoint": 1119, - "id": 5083, - "parameterSlots": 7, - "returnSlots": 0 - }, - "@gasReceiver_6374": { - "entryPoint": null, - "id": 6374, - "parameterSlots": 0, - "returnSlots": 0 - }, - "@gateway_5035": { - "entryPoint": null, - "id": 5035, - "parameterSlots": 0, - "returnSlots": 0 - }, - "@setAndSend_6505": { - "entryPoint": 1467, - "id": 6505, - "parameterSlots": 6, - "returnSlots": 0 - }, - "@siblings_6378": { - "entryPoint": 2327, - "id": 6378, - "parameterSlots": 0, - "returnSlots": 0 - }, - "@sourceAddress_6371": { - "entryPoint": 2363, - "id": 6371, - "parameterSlots": 0, - "returnSlots": 0 - }, - "@sourceChain_6369": { - "entryPoint": 911, - "id": 6369, - "parameterSlots": 0, - "returnSlots": 0 - }, - "@value_6367": { - "entryPoint": 1053, - "id": 6367, - "parameterSlots": 0, - "returnSlots": 0 - }, - "abi_decode_string": { - "entryPoint": 3730, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_decode_string_calldata": { - "entryPoint": 3031, - "id": null, - "parameterSlots": 2, - "returnSlots": 2 - }, - "abi_decode_tuple_t_address_fromMemory": { - "entryPoint": 4792, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_decode_tuple_t_bool_fromMemory": { - "entryPoint": 4279, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_decode_tuple_t_bytes32t_string_calldata_ptrt_string_calldata_ptrt_bytes_calldata_ptr": { - "entryPoint": 3544, - "id": null, - "parameterSlots": 2, - "returnSlots": 7 - }, - "abi_decode_tuple_t_bytes32t_string_calldata_ptrt_string_calldata_ptrt_bytes_calldata_ptrt_string_calldata_ptrt_uint256": { - "entryPoint": 3104, - "id": null, - "parameterSlots": 2, - "returnSlots": 10 - }, - "abi_decode_tuple_t_string_calldata_ptrt_string_calldata_ptr": { - "entryPoint": 3436, - "id": null, - "parameterSlots": 2, - "returnSlots": 4 - }, - "abi_decode_tuple_t_string_memory_ptr": { - "entryPoint": 4066, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_decode_tuple_t_string_memory_ptrt_address_payable": { - "entryPoint": 4917, - "id": null, - "parameterSlots": 2, - "returnSlots": 2 - }, - "abi_decode_tuple_t_string_memory_ptrt_string_calldata_ptrt_addresst_string_memory_ptrt_uint256": { - "entryPoint": 3895, - "id": null, - "parameterSlots": 2, - "returnSlots": 6 - }, - "abi_encode_string": { - "entryPoint": 3366, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_encode_string_calldata": { - "entryPoint": 4143, - "id": null, - "parameterSlots": 3, - "returnSlots": 1 - }, - "abi_encode_string_storage": { - "entryPoint": 4510, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_encode_tuple_packed_t_bytes_calldata_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed": { - "entryPoint": 4127, - "id": null, - "parameterSlots": 3, - "returnSlots": 1 - }, - "abi_encode_tuple_packed_t_string_calldata_ptr__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed": { - "entryPoint": null, - "id": null, - "parameterSlots": 3, - "returnSlots": 1 - }, - "abi_encode_tuple_packed_t_string_memory_ptr__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed": { - "entryPoint": 4482, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_encode_tuple_t_address_t_address_t_uint256__to_t_address_t_address_t_uint256__fromStack_reversed": { - "entryPoint": null, - "id": null, - "parameterSlots": 4, - "returnSlots": 1 - }, - "abi_encode_tuple_t_address_t_string_memory_ptr_t_string_storage_t_bytes_memory_ptr_t_string_memory_ptr_t_uint256_t_address__to_t_address_t_string_memory_ptr_t_string_memory_ptr_t_bytes_memory_ptr_t_string_memory_ptr_t_uint256_t_address__fromStack_reversed": { - "entryPoint": 4670, - "id": null, - "parameterSlots": 8, - "returnSlots": 1 - }, - "abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed": { - "entryPoint": null, - "id": null, - "parameterSlots": 3, - "returnSlots": 1 - }, - "abi_encode_tuple_t_bytes32_t_string_calldata_ptr_t_string_calldata_ptr_t_bytes32__to_t_bytes32_t_string_memory_ptr_t_string_memory_ptr_t_bytes32__fromStack_reversed": { - "entryPoint": 4372, - "id": null, - "parameterSlots": 7, - "returnSlots": 1 - }, - "abi_encode_tuple_t_bytes32_t_string_calldata_ptr_t_string_calldata_ptr_t_bytes32_t_string_calldata_ptr_t_uint256__to_t_bytes32_t_string_memory_ptr_t_string_memory_ptr_t_bytes32_t_string_memory_ptr_t_uint256__fromStack_reversed": { - "entryPoint": 4184, - "id": null, - "parameterSlots": 10, - "returnSlots": 1 - }, - "abi_encode_tuple_t_contract$_IAxelarGasService_$5359__to_t_address__fromStack_reversed": { - "entryPoint": null, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_encode_tuple_t_contract$_IAxelarGateway_$5700__to_t_address__fromStack_reversed": { - "entryPoint": null, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_encode_tuple_t_string_calldata_ptr_t_address__to_t_string_memory_ptr_t_address__fromStack_reversed": { - "entryPoint": 4437, - "id": null, - "parameterSlots": 4, - "returnSlots": 1 - }, - "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed": { - "entryPoint": 3410, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "abi_encode_tuple_t_string_memory_ptr_t_string_storage_t_bytes_memory_ptr_t_string_memory_ptr_t_uint256__to_t_string_memory_ptr_t_string_memory_ptr_t_bytes_memory_ptr_t_string_memory_ptr_t_uint256__fromStack_reversed": { - "entryPoint": 4821, - "id": null, - "parameterSlots": 6, - "returnSlots": 1 - }, - "array_dataslot_string_storage": { - "entryPoint": null, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "array_storeLengthForEncoding_string": { - "entryPoint": null, - "id": null, - "parameterSlots": 2, - "returnSlots": 1 - }, - "copy_memory_to_memory": { - "entryPoint": 3322, - "id": null, - "parameterSlots": 3, - "returnSlots": 0 - }, - "extract_byte_array_length": { - "entryPoint": 4313, - "id": null, - "parameterSlots": 1, - "returnSlots": 1 - }, - "panic_error_0x41": { - "entryPoint": 3708, - "id": null, - "parameterSlots": 0, - "returnSlots": 0 - }, - "validator_revert_address": { - "entryPoint": 3871, - "id": null, - "parameterSlots": 1, - "returnSlots": 0 - } - }, - "generatedSources": [ - { - "ast": { - "nodeType": "YulBlock", - "src": "0:15577:34", - "statements": [ - { - "nodeType": "YulBlock", - "src": "6:3:34", - "statements": [] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "138:125:34", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "148:26:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "160:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "171:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "156:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "156:18:34" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "148:4:34" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "190:9:34" - }, - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "205:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "213:42:34", - "type": "", - "value": "0xffffffffffffffffffffffffffffffffffffffff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "201:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "201:55:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "183:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "183:74:34" - }, - "nodeType": "YulExpressionStatement", - "src": "183:74:34" - } - ] - }, - "name": "abi_encode_tuple_t_contract$_IAxelarGateway_$5700__to_t_address__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "107:9:34", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "118:6:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "129:4:34", - "type": "" - } - ], - "src": "14:249:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "341:275:34", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "390:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "399:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "402:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "392:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "392:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "392:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "369:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "377:4:34", - "type": "", - "value": "0x1f" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "365:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "365:17:34" - }, - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "384:3:34" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "361:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "361:27:34" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "354:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "354:35:34" - }, - "nodeType": "YulIf", - "src": "351:55:34" - }, - { - "nodeType": "YulAssignment", - "src": "415:30:34", - "value": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "438:6:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "425:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "425:20:34" - }, - "variableNames": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "415:6:34" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "488:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "497:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "500:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "490:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "490:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "490:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "460:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "468:18:34", - "type": "", - "value": "0xffffffffffffffff" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "457:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "457:30:34" - }, - "nodeType": "YulIf", - "src": "454:50:34" - }, - { - "nodeType": "YulAssignment", - "src": "513:29:34", - "value": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "529:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "537:4:34", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "525:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "525:17:34" - }, - "variableNames": [ - { - "name": "arrayPos", - "nodeType": "YulIdentifier", - "src": "513:8:34" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "594:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "603:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "606:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "596:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "596:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "596:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "565:6:34" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "573:6:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "561:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "561:19:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "582:4:34", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "557:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "557:30:34" - }, - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "589:3:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "554:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "554:39:34" - }, - "nodeType": "YulIf", - "src": "551:59:34" - } - ] - }, - "name": "abi_decode_string_calldata", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "304:6:34", - "type": "" - }, - { - "name": "end", - "nodeType": "YulTypedName", - "src": "312:3:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "arrayPos", - "nodeType": "YulTypedName", - "src": "320:8:34", - "type": "" - }, - { - "name": "length", - "nodeType": "YulTypedName", - "src": "330:6:34", - "type": "" - } - ], - "src": "268:348:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "855:1203:34", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "902:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "911:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "914:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "904:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "904:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "904:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "876:7:34" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "885:9:34" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "872:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "872:23:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "897:3:34", - "type": "", - "value": "192" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "868:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "868:33:34" - }, - "nodeType": "YulIf", - "src": "865:53:34" - }, - { - "nodeType": "YulAssignment", - "src": "927:33:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "950:9:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "937:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "937:23:34" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "927:6:34" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "969:46:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1000:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1011:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "996:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "996:18:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "983:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "983:32:34" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "973:6:34", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1024:28:34", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1034:18:34", - "type": "", - "value": "0xffffffffffffffff" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "1028:2:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1079:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1088:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1091:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "1081:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "1081:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "1081:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "1067:6:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "1075:2:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "1064:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "1064:14:34" - }, - "nodeType": "YulIf", - "src": "1061:34:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1104:85:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1161:9:34" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "1172:6:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1157:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1157:22:34" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "1181:7:34" - } - ], - "functionName": { - "name": "abi_decode_string_calldata", - "nodeType": "YulIdentifier", - "src": "1130:26:34" - }, - "nodeType": "YulFunctionCall", - "src": "1130:59:34" - }, - "variables": [ - { - "name": "value1_1", - "nodeType": "YulTypedName", - "src": "1108:8:34", - "type": "" - }, - { - "name": "value2_1", - "nodeType": "YulTypedName", - "src": "1118:8:34", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "1198:18:34", - "value": { - "name": "value1_1", - "nodeType": "YulIdentifier", - "src": "1208:8:34" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "1198:6:34" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "1225:18:34", - "value": { - "name": "value2_1", - "nodeType": "YulIdentifier", - "src": "1235:8:34" - }, - "variableNames": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "1225:6:34" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1252:48:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1285:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1296:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1281:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1281:18:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "1268:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "1268:32:34" - }, - "variables": [ - { - "name": "offset_1", - "nodeType": "YulTypedName", - "src": "1256:8:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1329:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1338:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1341:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "1331:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "1331:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "1331:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset_1", - "nodeType": "YulIdentifier", - "src": "1315:8:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "1325:2:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "1312:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "1312:16:34" - }, - "nodeType": "YulIf", - "src": "1309:36:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1354:87:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1411:9:34" - }, - { - "name": "offset_1", - "nodeType": "YulIdentifier", - "src": "1422:8:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1407:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1407:24:34" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "1433:7:34" - } - ], - "functionName": { - "name": "abi_decode_string_calldata", - "nodeType": "YulIdentifier", - "src": "1380:26:34" - }, - "nodeType": "YulFunctionCall", - "src": "1380:61:34" - }, - "variables": [ - { - "name": "value3_1", - "nodeType": "YulTypedName", - "src": "1358:8:34", - "type": "" - }, - { - "name": "value4_1", - "nodeType": "YulTypedName", - "src": "1368:8:34", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "1450:18:34", - "value": { - "name": "value3_1", - "nodeType": "YulIdentifier", - "src": "1460:8:34" - }, - "variableNames": [ - { - "name": "value3", - "nodeType": "YulIdentifier", - "src": "1450:6:34" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "1477:18:34", - "value": { - "name": "value4_1", - "nodeType": "YulIdentifier", - "src": "1487:8:34" - }, - "variableNames": [ - { - "name": "value4", - "nodeType": "YulIdentifier", - "src": "1477:6:34" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1504:48:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1537:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1548:2:34", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1533:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1533:18:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "1520:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "1520:32:34" - }, - "variables": [ - { - "name": "offset_2", - "nodeType": "YulTypedName", - "src": "1508:8:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1581:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1590:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1593:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "1583:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "1583:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "1583:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset_2", - "nodeType": "YulIdentifier", - "src": "1567:8:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "1577:2:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "1564:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "1564:16:34" - }, - "nodeType": "YulIf", - "src": "1561:36:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1606:87:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1663:9:34" - }, - { - "name": "offset_2", - "nodeType": "YulIdentifier", - "src": "1674:8:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1659:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1659:24:34" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "1685:7:34" - } - ], - "functionName": { - "name": "abi_decode_string_calldata", - "nodeType": "YulIdentifier", - "src": "1632:26:34" - }, - "nodeType": "YulFunctionCall", - "src": "1632:61:34" - }, - "variables": [ - { - "name": "value5_1", - "nodeType": "YulTypedName", - "src": "1610:8:34", - "type": "" - }, - { - "name": "value6_1", - "nodeType": "YulTypedName", - "src": "1620:8:34", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "1702:18:34", - "value": { - "name": "value5_1", - "nodeType": "YulIdentifier", - "src": "1712:8:34" - }, - "variableNames": [ - { - "name": "value5", - "nodeType": "YulIdentifier", - "src": "1702:6:34" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "1729:18:34", - "value": { - "name": "value6_1", - "nodeType": "YulIdentifier", - "src": "1739:8:34" - }, - "variableNames": [ - { - "name": "value6", - "nodeType": "YulIdentifier", - "src": "1729:6:34" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1756:49:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1789:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1800:3:34", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1785:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1785:19:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "1772:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "1772:33:34" - }, - "variables": [ - { - "name": "offset_3", - "nodeType": "YulTypedName", - "src": "1760:8:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1834:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1843:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1846:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "1836:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "1836:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "1836:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset_3", - "nodeType": "YulIdentifier", - "src": "1820:8:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "1830:2:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "1817:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "1817:16:34" - }, - "nodeType": "YulIf", - "src": "1814:36:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1859:87:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "1916:9:34" - }, - { - "name": "offset_3", - "nodeType": "YulIdentifier", - "src": "1927:8:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1912:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "1912:24:34" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "1938:7:34" - } - ], - "functionName": { - "name": "abi_decode_string_calldata", - "nodeType": "YulIdentifier", - "src": "1885:26:34" - }, - "nodeType": "YulFunctionCall", - "src": "1885:61:34" - }, - "variables": [ - { - "name": "value7_1", - "nodeType": "YulTypedName", - "src": "1863:8:34", - "type": "" - }, - { - "name": "value8_1", - "nodeType": "YulTypedName", - "src": "1873:8:34", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "1955:18:34", - "value": { - "name": "value7_1", - "nodeType": "YulIdentifier", - "src": "1965:8:34" - }, - "variableNames": [ - { - "name": "value7", - "nodeType": "YulIdentifier", - "src": "1955:6:34" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "1982:18:34", - "value": { - "name": "value8_1", - "nodeType": "YulIdentifier", - "src": "1992:8:34" - }, - "variableNames": [ - { - "name": "value8", - "nodeType": "YulIdentifier", - "src": "1982:6:34" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "2009:43:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2036:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2047:3:34", - "type": "", - "value": "160" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2032:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "2032:19:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "2019:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "2019:33:34" - }, - "variableNames": [ - { - "name": "value9", - "nodeType": "YulIdentifier", - "src": "2009:6:34" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_bytes32t_string_calldata_ptrt_string_calldata_ptrt_bytes_calldata_ptrt_string_calldata_ptrt_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "749:9:34", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "760:7:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "772:6:34", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "780:6:34", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "788:6:34", - "type": "" - }, - { - "name": "value3", - "nodeType": "YulTypedName", - "src": "796:6:34", - "type": "" - }, - { - "name": "value4", - "nodeType": "YulTypedName", - "src": "804:6:34", - "type": "" - }, - { - "name": "value5", - "nodeType": "YulTypedName", - "src": "812:6:34", - "type": "" - }, - { - "name": "value6", - "nodeType": "YulTypedName", - "src": "820:6:34", - "type": "" - }, - { - "name": "value7", - "nodeType": "YulTypedName", - "src": "828:6:34", - "type": "" - }, - { - "name": "value8", - "nodeType": "YulTypedName", - "src": "836:6:34", - "type": "" - }, - { - "name": "value9", - "nodeType": "YulTypedName", - "src": "844:6:34", - "type": "" - } - ], - "src": "621:1437:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2140:73:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "2157:3:34" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "2162:6:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2150:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "2150:19:34" - }, - "nodeType": "YulExpressionStatement", - "src": "2150:19:34" - }, - { - "nodeType": "YulAssignment", - "src": "2178:29:34", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "2197:3:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2202:4:34", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2193:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "2193:14:34" - }, - "variableNames": [ - { - "name": "updated_pos", - "nodeType": "YulIdentifier", - "src": "2178:11:34" - } - ] - } - ] - }, - "name": "array_storeLengthForEncoding_string", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "2108:3:34", - "type": "" - }, - { - "name": "length", - "nodeType": "YulTypedName", - "src": "2113:6:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "updated_pos", - "nodeType": "YulTypedName", - "src": "2124:11:34", - "type": "" - } - ], - "src": "2063:150:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2271:205:34", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "2281:10:34", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2290:1:34", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "i", - "nodeType": "YulTypedName", - "src": "2285:1:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2350:63:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "2375:3:34" - }, - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "2380:1:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2371:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "2371:11:34" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "2394:3:34" - }, - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "2399:1:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2390:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "2390:11:34" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "2384:5:34" - }, - "nodeType": "YulFunctionCall", - "src": "2384:18:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2364:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "2364:39:34" - }, - "nodeType": "YulExpressionStatement", - "src": "2364:39:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "2311:1:34" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "2314:6:34" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "2308:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "2308:13:34" - }, - "nodeType": "YulForLoop", - "post": { - "nodeType": "YulBlock", - "src": "2322:19:34", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "2324:15:34", - "value": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "2333:1:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2336:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2329:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "2329:10:34" - }, - "variableNames": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "2324:1:34" - } - ] - } - ] - }, - "pre": { - "nodeType": "YulBlock", - "src": "2304:3:34", - "statements": [] - }, - "src": "2300:113:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2439:31:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "2452:3:34" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "2457:6:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2448:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "2448:16:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2466:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2441:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "2441:27:34" - }, - "nodeType": "YulExpressionStatement", - "src": "2441:27:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "2428:1:34" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "2431:6:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "2425:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "2425:13:34" - }, - "nodeType": "YulIf", - "src": "2422:48:34" - } - ] - }, - "name": "copy_memory_to_memory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "src", - "nodeType": "YulTypedName", - "src": "2249:3:34", - "type": "" - }, - { - "name": "dst", - "nodeType": "YulTypedName", - "src": "2254:3:34", - "type": "" - }, - { - "name": "length", - "nodeType": "YulTypedName", - "src": "2259:6:34", - "type": "" - } - ], - "src": "2218:258:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2531:208:34", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "2541:26:34", - "value": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "2561:5:34" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "2555:5:34" - }, - "nodeType": "YulFunctionCall", - "src": "2555:12:34" - }, - "variables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "2545:6:34", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "2583:3:34" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "2588:6:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2576:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "2576:19:34" - }, - "nodeType": "YulExpressionStatement", - "src": "2576:19:34" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "2630:5:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2637:4:34", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2626:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "2626:16:34" - }, - { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "2648:3:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2653:4:34", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2644:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "2644:14:34" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "2660:6:34" - } - ], - "functionName": { - "name": "copy_memory_to_memory", - "nodeType": "YulIdentifier", - "src": "2604:21:34" - }, - "nodeType": "YulFunctionCall", - "src": "2604:63:34" - }, - "nodeType": "YulExpressionStatement", - "src": "2604:63:34" - }, - { - "nodeType": "YulAssignment", - "src": "2676:57:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "2691:3:34" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "2704:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2712:2:34", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2700:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "2700:15:34" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2721:2:34", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "2717:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "2717:7:34" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "2696:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "2696:29:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2687:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "2687:39:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2728:4:34", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2683:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "2683:50:34" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "2676:3:34" - } - ] - } - ] - }, - "name": "abi_encode_string", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "2508:5:34", - "type": "" - }, - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "2515:3:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "2523:3:34", - "type": "" - } - ], - "src": "2481:258:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "2865:99:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2882:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2893:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "2875:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "2875:21:34" - }, - "nodeType": "YulExpressionStatement", - "src": "2875:21:34" - }, - { - "nodeType": "YulAssignment", - "src": "2905:53:34", - "value": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "2931:6:34" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "2943:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "2954:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "2939:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "2939:18:34" - } - ], - "functionName": { - "name": "abi_encode_string", - "nodeType": "YulIdentifier", - "src": "2913:17:34" - }, - "nodeType": "YulFunctionCall", - "src": "2913:45:34" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "2905:4:34" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "2834:9:34", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "2845:6:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "2856:4:34", - "type": "" - } - ], - "src": "2744:220:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3096:594:34", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "3142:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3151:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3154:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "3144:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "3144:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "3144:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "3117:7:34" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3126:9:34" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "3113:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "3113:23:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3138:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "3109:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "3109:32:34" - }, - "nodeType": "YulIf", - "src": "3106:52:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "3167:37:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3194:9:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "3181:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "3181:23:34" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "3171:6:34", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "3213:28:34", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3223:18:34", - "type": "", - "value": "0xffffffffffffffff" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "3217:2:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3268:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3277:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3280:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "3270:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "3270:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "3270:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "3256:6:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "3264:2:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "3253:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "3253:14:34" - }, - "nodeType": "YulIf", - "src": "3250:34:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "3293:85:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3350:9:34" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "3361:6:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3346:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "3346:22:34" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "3370:7:34" - } - ], - "functionName": { - "name": "abi_decode_string_calldata", - "nodeType": "YulIdentifier", - "src": "3319:26:34" - }, - "nodeType": "YulFunctionCall", - "src": "3319:59:34" - }, - "variables": [ - { - "name": "value0_1", - "nodeType": "YulTypedName", - "src": "3297:8:34", - "type": "" - }, - { - "name": "value1_1", - "nodeType": "YulTypedName", - "src": "3307:8:34", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "3387:18:34", - "value": { - "name": "value0_1", - "nodeType": "YulIdentifier", - "src": "3397:8:34" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "3387:6:34" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "3414:18:34", - "value": { - "name": "value1_1", - "nodeType": "YulIdentifier", - "src": "3424:8:34" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "3414:6:34" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "3441:48:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3474:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3485:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3470:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "3470:18:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "3457:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "3457:32:34" - }, - "variables": [ - { - "name": "offset_1", - "nodeType": "YulTypedName", - "src": "3445:8:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3518:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3527:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3530:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "3520:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "3520:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "3520:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset_1", - "nodeType": "YulIdentifier", - "src": "3504:8:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "3514:2:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "3501:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "3501:16:34" - }, - "nodeType": "YulIf", - "src": "3498:36:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "3543:87:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3600:9:34" - }, - { - "name": "offset_1", - "nodeType": "YulIdentifier", - "src": "3611:8:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "3596:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "3596:24:34" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "3622:7:34" - } - ], - "functionName": { - "name": "abi_decode_string_calldata", - "nodeType": "YulIdentifier", - "src": "3569:26:34" - }, - "nodeType": "YulFunctionCall", - "src": "3569:61:34" - }, - "variables": [ - { - "name": "value2_1", - "nodeType": "YulTypedName", - "src": "3547:8:34", - "type": "" - }, - { - "name": "value3_1", - "nodeType": "YulTypedName", - "src": "3557:8:34", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "3639:18:34", - "value": { - "name": "value2_1", - "nodeType": "YulIdentifier", - "src": "3649:8:34" - }, - "variableNames": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "3639:6:34" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "3666:18:34", - "value": { - "name": "value3_1", - "nodeType": "YulIdentifier", - "src": "3676:8:34" - }, - "variableNames": [ - { - "name": "value3", - "nodeType": "YulIdentifier", - "src": "3666:6:34" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_string_calldata_ptrt_string_calldata_ptr", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "3038:9:34", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "3049:7:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "3061:6:34", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "3069:6:34", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "3077:6:34", - "type": "" - }, - { - "name": "value3", - "nodeType": "YulTypedName", - "src": "3085:6:34", - "type": "" - } - ], - "src": "2969:721:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "3875:898:34", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "3922:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3931:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3934:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "3924:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "3924:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "3924:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "3896:7:34" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3905:9:34" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "3892:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "3892:23:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "3917:3:34", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "3888:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "3888:33:34" - }, - "nodeType": "YulIf", - "src": "3885:53:34" - }, - { - "nodeType": "YulAssignment", - "src": "3947:33:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "3970:9:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "3957:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "3957:23:34" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "3947:6:34" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "3989:46:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4020:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4031:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4016:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "4016:18:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "4003:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "4003:32:34" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "3993:6:34", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "4044:28:34", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4054:18:34", - "type": "", - "value": "0xffffffffffffffff" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "4048:2:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4099:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4108:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4111:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "4101:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "4101:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "4101:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "4087:6:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "4095:2:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "4084:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "4084:14:34" - }, - "nodeType": "YulIf", - "src": "4081:34:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "4124:85:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4181:9:34" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "4192:6:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4177:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "4177:22:34" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "4201:7:34" - } - ], - "functionName": { - "name": "abi_decode_string_calldata", - "nodeType": "YulIdentifier", - "src": "4150:26:34" - }, - "nodeType": "YulFunctionCall", - "src": "4150:59:34" - }, - "variables": [ - { - "name": "value1_1", - "nodeType": "YulTypedName", - "src": "4128:8:34", - "type": "" - }, - { - "name": "value2_1", - "nodeType": "YulTypedName", - "src": "4138:8:34", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "4218:18:34", - "value": { - "name": "value1_1", - "nodeType": "YulIdentifier", - "src": "4228:8:34" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "4218:6:34" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "4245:18:34", - "value": { - "name": "value2_1", - "nodeType": "YulIdentifier", - "src": "4255:8:34" - }, - "variableNames": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "4245:6:34" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "4272:48:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4305:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4316:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4301:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "4301:18:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "4288:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "4288:32:34" - }, - "variables": [ - { - "name": "offset_1", - "nodeType": "YulTypedName", - "src": "4276:8:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4349:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4358:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4361:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "4351:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "4351:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "4351:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset_1", - "nodeType": "YulIdentifier", - "src": "4335:8:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "4345:2:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "4332:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "4332:16:34" - }, - "nodeType": "YulIf", - "src": "4329:36:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "4374:87:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4431:9:34" - }, - { - "name": "offset_1", - "nodeType": "YulIdentifier", - "src": "4442:8:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4427:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "4427:24:34" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "4453:7:34" - } - ], - "functionName": { - "name": "abi_decode_string_calldata", - "nodeType": "YulIdentifier", - "src": "4400:26:34" - }, - "nodeType": "YulFunctionCall", - "src": "4400:61:34" - }, - "variables": [ - { - "name": "value3_1", - "nodeType": "YulTypedName", - "src": "4378:8:34", - "type": "" - }, - { - "name": "value4_1", - "nodeType": "YulTypedName", - "src": "4388:8:34", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "4470:18:34", - "value": { - "name": "value3_1", - "nodeType": "YulIdentifier", - "src": "4480:8:34" - }, - "variableNames": [ - { - "name": "value3", - "nodeType": "YulIdentifier", - "src": "4470:6:34" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "4497:18:34", - "value": { - "name": "value4_1", - "nodeType": "YulIdentifier", - "src": "4507:8:34" - }, - "variableNames": [ - { - "name": "value4", - "nodeType": "YulIdentifier", - "src": "4497:6:34" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "4524:48:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4557:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4568:2:34", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4553:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "4553:18:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "4540:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "4540:32:34" - }, - "variables": [ - { - "name": "offset_2", - "nodeType": "YulTypedName", - "src": "4528:8:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4601:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4610:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4613:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "4603:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "4603:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "4603:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset_2", - "nodeType": "YulIdentifier", - "src": "4587:8:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "4597:2:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "4584:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "4584:16:34" - }, - "nodeType": "YulIf", - "src": "4581:36:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "4626:87:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4683:9:34" - }, - { - "name": "offset_2", - "nodeType": "YulIdentifier", - "src": "4694:8:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4679:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "4679:24:34" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "4705:7:34" - } - ], - "functionName": { - "name": "abi_decode_string_calldata", - "nodeType": "YulIdentifier", - "src": "4652:26:34" - }, - "nodeType": "YulFunctionCall", - "src": "4652:61:34" - }, - "variables": [ - { - "name": "value5_1", - "nodeType": "YulTypedName", - "src": "4630:8:34", - "type": "" - }, - { - "name": "value6_1", - "nodeType": "YulTypedName", - "src": "4640:8:34", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "4722:18:34", - "value": { - "name": "value5_1", - "nodeType": "YulIdentifier", - "src": "4732:8:34" - }, - "variableNames": [ - { - "name": "value5", - "nodeType": "YulIdentifier", - "src": "4722:6:34" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "4749:18:34", - "value": { - "name": "value6_1", - "nodeType": "YulIdentifier", - "src": "4759:8:34" - }, - "variableNames": [ - { - "name": "value6", - "nodeType": "YulIdentifier", - "src": "4749:6:34" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_bytes32t_string_calldata_ptrt_string_calldata_ptrt_bytes_calldata_ptr", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "3793:9:34", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "3804:7:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "3816:6:34", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "3824:6:34", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "3832:6:34", - "type": "" - }, - { - "name": "value3", - "nodeType": "YulTypedName", - "src": "3840:6:34", - "type": "" - }, - { - "name": "value4", - "nodeType": "YulTypedName", - "src": "3848:6:34", - "type": "" - }, - { - "name": "value5", - "nodeType": "YulTypedName", - "src": "3856:6:34", - "type": "" - }, - { - "name": "value6", - "nodeType": "YulTypedName", - "src": "3864:6:34", - "type": "" - } - ], - "src": "3695:1078:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "4905:125:34", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "4915:26:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4927:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4938:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "4923:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "4923:18:34" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "4915:4:34" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "4957:9:34" - }, - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "4972:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "4980:42:34", - "type": "", - "value": "0xffffffffffffffffffffffffffffffffffffffff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "4968:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "4968:55:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "4950:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "4950:74:34" - }, - "nodeType": "YulExpressionStatement", - "src": "4950:74:34" - } - ] - }, - "name": "abi_encode_tuple_t_contract$_IAxelarGasService_$5359__to_t_address__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "4874:9:34", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "4885:6:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "4896:4:34", - "type": "" - } - ], - "src": "4778:252:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5067:152:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5084:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5087:77:34", - "type": "", - "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "5077:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "5077:88:34" - }, - "nodeType": "YulExpressionStatement", - "src": "5077:88:34" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5181:1:34", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5184:4:34", - "type": "", - "value": "0x41" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "5174:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "5174:15:34" - }, - "nodeType": "YulExpressionStatement", - "src": "5174:15:34" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5205:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5208:4:34", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "5198:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "5198:15:34" - }, - "nodeType": "YulExpressionStatement", - "src": "5198:15:34" - } - ] - }, - "name": "panic_error_0x41", - "nodeType": "YulFunctionDefinition", - "src": "5035:184:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5277:666:34", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "5326:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5335:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5338:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "5328:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "5328:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "5328:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "5305:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5313:4:34", - "type": "", - "value": "0x1f" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5301:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "5301:17:34" - }, - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "5320:3:34" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "5297:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "5297:27:34" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "5290:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "5290:35:34" - }, - "nodeType": "YulIf", - "src": "5287:55:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "5351:30:34", - "value": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "5374:6:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "5361:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "5361:20:34" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "5355:2:34", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "5390:28:34", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5400:18:34", - "type": "", - "value": "0xffffffffffffffff" - }, - "variables": [ - { - "name": "_2", - "nodeType": "YulTypedName", - "src": "5394:2:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5441:22:34", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x41", - "nodeType": "YulIdentifier", - "src": "5443:16:34" - }, - "nodeType": "YulFunctionCall", - "src": "5443:18:34" - }, - "nodeType": "YulExpressionStatement", - "src": "5443:18:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "5433:2:34" - }, - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "5437:2:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "5430:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "5430:10:34" - }, - "nodeType": "YulIf", - "src": "5427:36:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "5472:17:34", - "value": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5486:2:34", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "5482:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "5482:7:34" - }, - "variables": [ - { - "name": "_3", - "nodeType": "YulTypedName", - "src": "5476:2:34", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "5498:23:34", - "value": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5518:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "5512:5:34" - }, - "nodeType": "YulFunctionCall", - "src": "5512:9:34" - }, - "variables": [ - { - "name": "memPtr", - "nodeType": "YulTypedName", - "src": "5502:6:34", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "5530:71:34", - "value": { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "5552:6:34" - }, - { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "5576:2:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5580:4:34", - "type": "", - "value": "0x1f" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5572:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "5572:13:34" - }, - { - "name": "_3", - "nodeType": "YulIdentifier", - "src": "5587:2:34" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "5568:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "5568:22:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5592:2:34", - "type": "", - "value": "63" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5564:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "5564:31:34" - }, - { - "name": "_3", - "nodeType": "YulIdentifier", - "src": "5597:2:34" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "5560:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "5560:40:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5548:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "5548:53:34" - }, - "variables": [ - { - "name": "newFreePtr", - "nodeType": "YulTypedName", - "src": "5534:10:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5660:22:34", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x41", - "nodeType": "YulIdentifier", - "src": "5662:16:34" - }, - "nodeType": "YulFunctionCall", - "src": "5662:18:34" - }, - "nodeType": "YulExpressionStatement", - "src": "5662:18:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "newFreePtr", - "nodeType": "YulIdentifier", - "src": "5619:10:34" - }, - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "5631:2:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "5616:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "5616:18:34" - }, - { - "arguments": [ - { - "name": "newFreePtr", - "nodeType": "YulIdentifier", - "src": "5639:10:34" - }, - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "5651:6:34" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "5636:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "5636:22:34" - } - ], - "functionName": { - "name": "or", - "nodeType": "YulIdentifier", - "src": "5613:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "5613:46:34" - }, - "nodeType": "YulIf", - "src": "5610:72:34" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5698:2:34", - "type": "", - "value": "64" - }, - { - "name": "newFreePtr", - "nodeType": "YulIdentifier", - "src": "5702:10:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "5691:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "5691:22:34" - }, - "nodeType": "YulExpressionStatement", - "src": "5691:22:34" - }, - { - "expression": { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "5729:6:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "5737:2:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "5722:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "5722:18:34" - }, - "nodeType": "YulExpressionStatement", - "src": "5722:18:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5788:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5797:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5800:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "5790:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "5790:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "5790:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "5763:6:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "5771:2:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5759:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "5759:15:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5776:4:34", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5755:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "5755:26:34" - }, - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "5783:3:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "5752:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "5752:35:34" - }, - "nodeType": "YulIf", - "src": "5749:55:34" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "5830:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5838:4:34", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5826:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "5826:17:34" - }, - { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "5849:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5857:4:34", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5845:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "5845:17:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "5864:2:34" - } - ], - "functionName": { - "name": "calldatacopy", - "nodeType": "YulIdentifier", - "src": "5813:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "5813:54:34" - }, - "nodeType": "YulExpressionStatement", - "src": "5813:54:34" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "5891:6:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "5899:2:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5887:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "5887:15:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5904:4:34", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "5883:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "5883:26:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "5911:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "5876:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "5876:37:34" - }, - "nodeType": "YulExpressionStatement", - "src": "5876:37:34" - }, - { - "nodeType": "YulAssignment", - "src": "5922:15:34", - "value": { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "5931:6:34" - }, - "variableNames": [ - { - "name": "array", - "nodeType": "YulIdentifier", - "src": "5922:5:34" - } - ] - } - ] - }, - "name": "abi_decode_string", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "5251:6:34", - "type": "" - }, - { - "name": "end", - "nodeType": "YulTypedName", - "src": "5259:3:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "array", - "nodeType": "YulTypedName", - "src": "5267:5:34", - "type": "" - } - ], - "src": "5224:719:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "5993:109:34", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "6080:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6089:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6092:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "6082:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "6082:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "6082:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "6016:5:34" - }, - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "6027:5:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6034:42:34", - "type": "", - "value": "0xffffffffffffffffffffffffffffffffffffffff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "6023:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "6023:54:34" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "6013:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "6013:65:34" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "6006:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "6006:73:34" - }, - "nodeType": "YulIf", - "src": "6003:93:34" - } - ] - }, - "name": "validator_revert_address", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "5982:5:34", - "type": "" - } - ], - "src": "5948:154:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "6285:859:34", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "6332:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6341:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6344:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "6334:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "6334:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "6334:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "6306:7:34" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6315:9:34" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "6302:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "6302:23:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6327:3:34", - "type": "", - "value": "160" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "6298:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "6298:33:34" - }, - "nodeType": "YulIf", - "src": "6295:53:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "6357:37:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6384:9:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "6371:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "6371:23:34" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "6361:6:34", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "6403:28:34", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6413:18:34", - "type": "", - "value": "0xffffffffffffffff" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "6407:2:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "6458:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6467:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6470:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "6460:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "6460:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "6460:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "6446:6:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "6454:2:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "6443:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "6443:14:34" - }, - "nodeType": "YulIf", - "src": "6440:34:34" - }, - { - "nodeType": "YulAssignment", - "src": "6483:60:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6515:9:34" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "6526:6:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6511:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "6511:22:34" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "6535:7:34" - } - ], - "functionName": { - "name": "abi_decode_string", - "nodeType": "YulIdentifier", - "src": "6493:17:34" - }, - "nodeType": "YulFunctionCall", - "src": "6493:50:34" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "6483:6:34" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "6552:48:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6585:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6596:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6581:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "6581:18:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "6568:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "6568:32:34" - }, - "variables": [ - { - "name": "offset_1", - "nodeType": "YulTypedName", - "src": "6556:8:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "6629:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6638:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6641:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "6631:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "6631:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "6631:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset_1", - "nodeType": "YulIdentifier", - "src": "6615:8:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "6625:2:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "6612:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "6612:16:34" - }, - "nodeType": "YulIf", - "src": "6609:36:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "6654:87:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6711:9:34" - }, - { - "name": "offset_1", - "nodeType": "YulIdentifier", - "src": "6722:8:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6707:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "6707:24:34" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "6733:7:34" - } - ], - "functionName": { - "name": "abi_decode_string_calldata", - "nodeType": "YulIdentifier", - "src": "6680:26:34" - }, - "nodeType": "YulFunctionCall", - "src": "6680:61:34" - }, - "variables": [ - { - "name": "value1_1", - "nodeType": "YulTypedName", - "src": "6658:8:34", - "type": "" - }, - { - "name": "value2_1", - "nodeType": "YulTypedName", - "src": "6668:8:34", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "6750:18:34", - "value": { - "name": "value1_1", - "nodeType": "YulIdentifier", - "src": "6760:8:34" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "6750:6:34" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "6777:18:34", - "value": { - "name": "value2_1", - "nodeType": "YulIdentifier", - "src": "6787:8:34" - }, - "variableNames": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "6777:6:34" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "6804:45:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6834:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6845:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6830:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "6830:18:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "6817:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "6817:32:34" - }, - "variables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "6808:5:34", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "6883:5:34" - } - ], - "functionName": { - "name": "validator_revert_address", - "nodeType": "YulIdentifier", - "src": "6858:24:34" - }, - "nodeType": "YulFunctionCall", - "src": "6858:31:34" - }, - "nodeType": "YulExpressionStatement", - "src": "6858:31:34" - }, - { - "nodeType": "YulAssignment", - "src": "6898:15:34", - "value": { - "name": "value", - "nodeType": "YulIdentifier", - "src": "6908:5:34" - }, - "variableNames": [ - { - "name": "value3", - "nodeType": "YulIdentifier", - "src": "6898:6:34" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "6922:48:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "6955:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "6966:2:34", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "6951:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "6951:18:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "6938:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "6938:32:34" - }, - "variables": [ - { - "name": "offset_2", - "nodeType": "YulTypedName", - "src": "6926:8:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "6999:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7008:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7011:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "7001:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "7001:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "7001:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset_2", - "nodeType": "YulIdentifier", - "src": "6985:8:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "6995:2:34" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "6982:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "6982:16:34" - }, - "nodeType": "YulIf", - "src": "6979:36:34" - }, - { - "nodeType": "YulAssignment", - "src": "7024:62:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7056:9:34" - }, - { - "name": "offset_2", - "nodeType": "YulIdentifier", - "src": "7067:8:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7052:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "7052:24:34" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "7078:7:34" - } - ], - "functionName": { - "name": "abi_decode_string", - "nodeType": "YulIdentifier", - "src": "7034:17:34" - }, - "nodeType": "YulFunctionCall", - "src": "7034:52:34" - }, - "variableNames": [ - { - "name": "value4", - "nodeType": "YulIdentifier", - "src": "7024:6:34" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "7095:43:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7122:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7133:3:34", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7118:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "7118:19:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "7105:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "7105:33:34" - }, - "variableNames": [ - { - "name": "value5", - "nodeType": "YulIdentifier", - "src": "7095:6:34" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_string_memory_ptrt_string_calldata_ptrt_addresst_string_memory_ptrt_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "6211:9:34", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "6222:7:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "6234:6:34", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "6242:6:34", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "6250:6:34", - "type": "" - }, - { - "name": "value3", - "nodeType": "YulTypedName", - "src": "6258:6:34", - "type": "" - }, - { - "name": "value4", - "nodeType": "YulTypedName", - "src": "6266:6:34", - "type": "" - }, - { - "name": "value5", - "nodeType": "YulTypedName", - "src": "6274:6:34", - "type": "" - } - ], - "src": "6107:1037:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "7229:242:34", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "7275:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7284:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7287:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "7277:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "7277:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "7277:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "7250:7:34" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7259:9:34" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "7246:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "7246:23:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7271:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "7242:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "7242:32:34" - }, - "nodeType": "YulIf", - "src": "7239:52:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "7300:37:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7327:9:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "7314:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "7314:23:34" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "7304:6:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "7380:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7389:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7392:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "7382:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "7382:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "7382:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "7352:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7360:18:34", - "type": "", - "value": "0xffffffffffffffff" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "7349:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "7349:30:34" - }, - "nodeType": "YulIf", - "src": "7346:50:34" - }, - { - "nodeType": "YulAssignment", - "src": "7405:60:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "7437:9:34" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "7448:6:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7433:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "7433:22:34" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "7457:7:34" - } - ], - "functionName": { - "name": "abi_decode_string", - "nodeType": "YulIdentifier", - "src": "7415:17:34" - }, - "nodeType": "YulFunctionCall", - "src": "7415:50:34" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "7405:6:34" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_string_memory_ptr", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "7195:9:34", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "7206:7:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "7218:6:34", - "type": "" - } - ], - "src": "7149:322:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "7623:124:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "7646:3:34" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "7651:6:34" - }, - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "7659:6:34" - } - ], - "functionName": { - "name": "calldatacopy", - "nodeType": "YulIdentifier", - "src": "7633:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "7633:33:34" - }, - "nodeType": "YulExpressionStatement", - "src": "7633:33:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "7675:26:34", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "7689:3:34" - }, - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "7694:6:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7685:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "7685:16:34" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "7679:2:34", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "7717:2:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7721:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "7710:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "7710:13:34" - }, - "nodeType": "YulExpressionStatement", - "src": "7710:13:34" - }, - { - "nodeType": "YulAssignment", - "src": "7732:9:34", - "value": { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "7739:2:34" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "7732:3:34" - } - ] - } - ] - }, - "name": "abi_encode_tuple_packed_t_bytes_calldata_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "7591:3:34", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "7596:6:34", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "7604:6:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "7615:3:34", - "type": "" - } - ], - "src": "7476:271:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "7819:200:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "7836:3:34" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "7841:6:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "7829:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "7829:19:34" - }, - "nodeType": "YulExpressionStatement", - "src": "7829:19:34" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "7874:3:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7879:4:34", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7870:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "7870:14:34" - }, - { - "name": "start", - "nodeType": "YulIdentifier", - "src": "7886:5:34" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "7893:6:34" - } - ], - "functionName": { - "name": "calldatacopy", - "nodeType": "YulIdentifier", - "src": "7857:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "7857:43:34" - }, - "nodeType": "YulExpressionStatement", - "src": "7857:43:34" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "7924:3:34" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "7929:6:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7920:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "7920:16:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7938:4:34", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7916:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "7916:27:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7945:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "7909:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "7909:38:34" - }, - "nodeType": "YulExpressionStatement", - "src": "7909:38:34" - }, - { - "nodeType": "YulAssignment", - "src": "7956:57:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "7971:3:34" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "7984:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7992:2:34", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7980:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "7980:15:34" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8001:2:34", - "type": "", - "value": "31" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "7997:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "7997:7:34" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "7976:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "7976:29:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7967:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "7967:39:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8008:4:34", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7963:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "7963:50:34" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "7956:3:34" - } - ] - } - ] - }, - "name": "abi_encode_string_calldata", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "start", - "nodeType": "YulTypedName", - "src": "7788:5:34", - "type": "" - }, - { - "name": "length", - "nodeType": "YulTypedName", - "src": "7795:6:34", - "type": "" - }, - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "7803:3:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "7811:3:34", - "type": "" - } - ], - "src": "7752:267:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "8355:513:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "8372:9:34" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "8383:6:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "8365:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "8365:25:34" - }, - "nodeType": "YulExpressionStatement", - "src": "8365:25:34" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "8410:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8421:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8406:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "8406:18:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8426:3:34", - "type": "", - "value": "192" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "8399:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "8399:31:34" - }, - "nodeType": "YulExpressionStatement", - "src": "8399:31:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "8439:77:34", - "value": { - "arguments": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "8480:6:34" - }, - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "8488:6:34" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "8500:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8511:3:34", - "type": "", - "value": "192" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8496:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "8496:19:34" - } - ], - "functionName": { - "name": "abi_encode_string_calldata", - "nodeType": "YulIdentifier", - "src": "8453:26:34" - }, - "nodeType": "YulFunctionCall", - "src": "8453:63:34" - }, - "variables": [ - { - "name": "tail_1", - "nodeType": "YulTypedName", - "src": "8443:6:34", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "8536:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8547:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8532:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "8532:18:34" - }, - { - "arguments": [ - { - "name": "tail_1", - "nodeType": "YulIdentifier", - "src": "8556:6:34" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "8564:9:34" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "8552:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "8552:22:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "8525:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "8525:50:34" - }, - "nodeType": "YulExpressionStatement", - "src": "8525:50:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "8584:64:34", - "value": { - "arguments": [ - { - "name": "value3", - "nodeType": "YulIdentifier", - "src": "8625:6:34" - }, - { - "name": "value4", - "nodeType": "YulIdentifier", - "src": "8633:6:34" - }, - { - "name": "tail_1", - "nodeType": "YulIdentifier", - "src": "8641:6:34" - } - ], - "functionName": { - "name": "abi_encode_string_calldata", - "nodeType": "YulIdentifier", - "src": "8598:26:34" - }, - "nodeType": "YulFunctionCall", - "src": "8598:50:34" - }, - "variables": [ - { - "name": "tail_2", - "nodeType": "YulTypedName", - "src": "8588:6:34", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "8668:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8679:2:34", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8664:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "8664:18:34" - }, - { - "name": "value5", - "nodeType": "YulIdentifier", - "src": "8684:6:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "8657:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "8657:34:34" - }, - "nodeType": "YulExpressionStatement", - "src": "8657:34:34" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "8711:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8722:3:34", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8707:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "8707:19:34" - }, - { - "arguments": [ - { - "name": "tail_2", - "nodeType": "YulIdentifier", - "src": "8732:6:34" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "8740:9:34" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "8728:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "8728:22:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "8700:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "8700:51:34" - }, - "nodeType": "YulExpressionStatement", - "src": "8700:51:34" - }, - { - "nodeType": "YulAssignment", - "src": "8760:58:34", - "value": { - "arguments": [ - { - "name": "value6", - "nodeType": "YulIdentifier", - "src": "8795:6:34" - }, - { - "name": "value7", - "nodeType": "YulIdentifier", - "src": "8803:6:34" - }, - { - "name": "tail_2", - "nodeType": "YulIdentifier", - "src": "8811:6:34" - } - ], - "functionName": { - "name": "abi_encode_string_calldata", - "nodeType": "YulIdentifier", - "src": "8768:26:34" - }, - "nodeType": "YulFunctionCall", - "src": "8768:50:34" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "8760:4:34" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "8838:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8849:3:34", - "type": "", - "value": "160" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8834:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "8834:19:34" - }, - { - "name": "value8", - "nodeType": "YulIdentifier", - "src": "8855:6:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "8827:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "8827:35:34" - }, - "nodeType": "YulExpressionStatement", - "src": "8827:35:34" - } - ] - }, - "name": "abi_encode_tuple_t_bytes32_t_string_calldata_ptr_t_string_calldata_ptr_t_bytes32_t_string_calldata_ptr_t_uint256__to_t_bytes32_t_string_memory_ptr_t_string_memory_ptr_t_bytes32_t_string_memory_ptr_t_uint256__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "8260:9:34", - "type": "" - }, - { - "name": "value8", - "nodeType": "YulTypedName", - "src": "8271:6:34", - "type": "" - }, - { - "name": "value7", - "nodeType": "YulTypedName", - "src": "8279:6:34", - "type": "" - }, - { - "name": "value6", - "nodeType": "YulTypedName", - "src": "8287:6:34", - "type": "" - }, - { - "name": "value5", - "nodeType": "YulTypedName", - "src": "8295:6:34", - "type": "" - }, - { - "name": "value4", - "nodeType": "YulTypedName", - "src": "8303:6:34", - "type": "" - }, - { - "name": "value3", - "nodeType": "YulTypedName", - "src": "8311:6:34", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "8319:6:34", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "8327:6:34", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "8335:6:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "8346:4:34", - "type": "" - } - ], - "src": "8024:844:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "8951:199:34", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "8997:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9006:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9009:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "8999:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "8999:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "8999:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "8972:7:34" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "8981:9:34" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "8968:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "8968:23:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8993:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "8964:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "8964:32:34" - }, - "nodeType": "YulIf", - "src": "8961:52:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "9022:29:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9041:9:34" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "9035:5:34" - }, - "nodeType": "YulFunctionCall", - "src": "9035:16:34" - }, - "variables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "9026:5:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "9104:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9113:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9116:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "9106:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "9106:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "9106:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "9073:5:34" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "9094:5:34" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "9087:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "9087:13:34" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "9080:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "9080:21:34" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "9070:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "9070:32:34" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "9063:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "9063:40:34" - }, - "nodeType": "YulIf", - "src": "9060:60:34" - }, - { - "nodeType": "YulAssignment", - "src": "9129:15:34", - "value": { - "name": "value", - "nodeType": "YulIdentifier", - "src": "9139:5:34" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "9129:6:34" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_bool_fromMemory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "8917:9:34", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "8928:7:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "8940:6:34", - "type": "" - } - ], - "src": "8873:277:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "9210:382:34", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "9220:22:34", - "value": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9234:1:34", - "type": "", - "value": "1" - }, - { - "name": "data", - "nodeType": "YulIdentifier", - "src": "9237:4:34" - } - ], - "functionName": { - "name": "shr", - "nodeType": "YulIdentifier", - "src": "9230:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "9230:12:34" - }, - "variableNames": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "9220:6:34" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "9251:38:34", - "value": { - "arguments": [ - { - "name": "data", - "nodeType": "YulIdentifier", - "src": "9281:4:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9287:1:34", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "9277:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "9277:12:34" - }, - "variables": [ - { - "name": "outOfPlaceEncoding", - "nodeType": "YulTypedName", - "src": "9255:18:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "9328:31:34", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "9330:27:34", - "value": { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "9344:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9352:4:34", - "type": "", - "value": "0x7f" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "9340:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "9340:17:34" - }, - "variableNames": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "9330:6:34" - } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "outOfPlaceEncoding", - "nodeType": "YulIdentifier", - "src": "9308:18:34" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "9301:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "9301:26:34" - }, - "nodeType": "YulIf", - "src": "9298:61:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "9418:168:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9439:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9442:77:34", - "type": "", - "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "9432:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "9432:88:34" - }, - "nodeType": "YulExpressionStatement", - "src": "9432:88:34" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9540:1:34", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9543:4:34", - "type": "", - "value": "0x22" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "9533:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "9533:15:34" - }, - "nodeType": "YulExpressionStatement", - "src": "9533:15:34" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9568:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9571:4:34", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "9561:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "9561:15:34" - }, - "nodeType": "YulExpressionStatement", - "src": "9561:15:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "outOfPlaceEncoding", - "nodeType": "YulIdentifier", - "src": "9374:18:34" - }, - { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "9397:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9405:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "9394:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "9394:14:34" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "9371:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "9371:38:34" - }, - "nodeType": "YulIf", - "src": "9368:218:34" - } - ] - }, - "name": "extract_byte_array_length", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "data", - "nodeType": "YulTypedName", - "src": "9190:4:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "9199:6:34", - "type": "" - } - ], - "src": "9155:437:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "9746:124:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "9769:3:34" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "9774:6:34" - }, - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "9782:6:34" - } - ], - "functionName": { - "name": "calldatacopy", - "nodeType": "YulIdentifier", - "src": "9756:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "9756:33:34" - }, - "nodeType": "YulExpressionStatement", - "src": "9756:33:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "9798:26:34", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "9812:3:34" - }, - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "9817:6:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9808:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "9808:16:34" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "9802:2:34", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "9840:2:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9844:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "9833:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "9833:13:34" - }, - "nodeType": "YulExpressionStatement", - "src": "9833:13:34" - }, - { - "nodeType": "YulAssignment", - "src": "9855:9:34", - "value": { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "9862:2:34" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "9855:3:34" - } - ] - } - ] - }, - "name": "abi_encode_tuple_packed_t_string_calldata_ptr__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "9714:3:34", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "9719:6:34", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "9727:6:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "9738:3:34", - "type": "" - } - ], - "src": "9597:273:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "10120:336:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "10137:9:34" - }, - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "10148:6:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "10130:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "10130:25:34" - }, - "nodeType": "YulExpressionStatement", - "src": "10130:25:34" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "10175:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10186:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "10171:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "10171:18:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10191:3:34", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "10164:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "10164:31:34" - }, - "nodeType": "YulExpressionStatement", - "src": "10164:31:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "10204:77:34", - "value": { - "arguments": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "10245:6:34" - }, - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "10253:6:34" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "10265:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10276:3:34", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "10261:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "10261:19:34" - } - ], - "functionName": { - "name": "abi_encode_string_calldata", - "nodeType": "YulIdentifier", - "src": "10218:26:34" - }, - "nodeType": "YulFunctionCall", - "src": "10218:63:34" - }, - "variables": [ - { - "name": "tail_1", - "nodeType": "YulTypedName", - "src": "10208:6:34", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "10301:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10312:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "10297:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "10297:18:34" - }, - { - "arguments": [ - { - "name": "tail_1", - "nodeType": "YulIdentifier", - "src": "10321:6:34" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "10329:9:34" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "10317:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "10317:22:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "10290:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "10290:50:34" - }, - "nodeType": "YulExpressionStatement", - "src": "10290:50:34" - }, - { - "nodeType": "YulAssignment", - "src": "10349:58:34", - "value": { - "arguments": [ - { - "name": "value3", - "nodeType": "YulIdentifier", - "src": "10384:6:34" - }, - { - "name": "value4", - "nodeType": "YulIdentifier", - "src": "10392:6:34" - }, - { - "name": "tail_1", - "nodeType": "YulIdentifier", - "src": "10400:6:34" - } - ], - "functionName": { - "name": "abi_encode_string_calldata", - "nodeType": "YulIdentifier", - "src": "10357:26:34" - }, - "nodeType": "YulFunctionCall", - "src": "10357:50:34" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "10349:4:34" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "10427:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10438:2:34", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "10423:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "10423:18:34" - }, - { - "name": "value5", - "nodeType": "YulIdentifier", - "src": "10443:6:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "10416:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "10416:34:34" - }, - "nodeType": "YulExpressionStatement", - "src": "10416:34:34" - } - ] - }, - "name": "abi_encode_tuple_t_bytes32_t_string_calldata_ptr_t_string_calldata_ptr_t_bytes32__to_t_bytes32_t_string_memory_ptr_t_string_memory_ptr_t_bytes32__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "10049:9:34", - "type": "" - }, - { - "name": "value5", - "nodeType": "YulTypedName", - "src": "10060:6:34", - "type": "" - }, - { - "name": "value4", - "nodeType": "YulTypedName", - "src": "10068:6:34", - "type": "" - }, - { - "name": "value3", - "nodeType": "YulTypedName", - "src": "10076:6:34", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "10084:6:34", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "10092:6:34", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "10100:6:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "10111:4:34", - "type": "" - } - ], - "src": "9875:581:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "10620:208:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "10637:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10648:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "10630:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "10630:21:34" - }, - "nodeType": "YulExpressionStatement", - "src": "10630:21:34" - }, - { - "nodeType": "YulAssignment", - "src": "10660:70:34", - "value": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "10695:6:34" - }, - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "10703:6:34" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "10715:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10726:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "10711:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "10711:18:34" - } - ], - "functionName": { - "name": "abi_encode_string_calldata", - "nodeType": "YulIdentifier", - "src": "10668:26:34" - }, - "nodeType": "YulFunctionCall", - "src": "10668:62:34" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "10660:4:34" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "10750:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10761:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "10746:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "10746:18:34" - }, - { - "arguments": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "10770:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10778:42:34", - "type": "", - "value": "0xffffffffffffffffffffffffffffffffffffffff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "10766:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "10766:55:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "10739:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "10739:83:34" - }, - "nodeType": "YulExpressionStatement", - "src": "10739:83:34" - } - ] - }, - "name": "abi_encode_tuple_t_string_calldata_ptr_t_address__to_t_string_memory_ptr_t_address__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "10573:9:34", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "10584:6:34", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "10592:6:34", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "10600:6:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "10611:4:34", - "type": "" - } - ], - "src": "10461:367:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "10972:137:34", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "10982:27:34", - "value": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "11002:6:34" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "10996:5:34" - }, - "nodeType": "YulFunctionCall", - "src": "10996:13:34" - }, - "variables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "10986:6:34", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "11044:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11052:4:34", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "11040:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "11040:17:34" - }, - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "11059:3:34" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "11064:6:34" - } - ], - "functionName": { - "name": "copy_memory_to_memory", - "nodeType": "YulIdentifier", - "src": "11018:21:34" - }, - "nodeType": "YulFunctionCall", - "src": "11018:53:34" - }, - "nodeType": "YulExpressionStatement", - "src": "11018:53:34" - }, - { - "nodeType": "YulAssignment", - "src": "11080:23:34", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "11091:3:34" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "11096:6:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "11087:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "11087:16:34" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "11080:3:34" - } - ] - } - ] - }, - "name": "abi_encode_tuple_packed_t_string_memory_ptr__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "10948:3:34", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "10953:6:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "10964:3:34", - "type": "" - } - ], - "src": "10833:276:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "11170:65:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11187:1:34", - "type": "", - "value": "0" - }, - { - "name": "ptr", - "nodeType": "YulIdentifier", - "src": "11190:3:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "11180:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "11180:14:34" - }, - "nodeType": "YulExpressionStatement", - "src": "11180:14:34" - }, - { - "nodeType": "YulAssignment", - "src": "11203:26:34", - "value": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11221:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11224:4:34", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "keccak256", - "nodeType": "YulIdentifier", - "src": "11211:9:34" - }, - "nodeType": "YulFunctionCall", - "src": "11211:18:34" - }, - "variableNames": [ - { - "name": "data", - "nodeType": "YulIdentifier", - "src": "11203:4:34" - } - ] - } - ] - }, - "name": "array_dataslot_string_storage", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "ptr", - "nodeType": "YulTypedName", - "src": "11153:3:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "data", - "nodeType": "YulTypedName", - "src": "11161:4:34", - "type": "" - } - ], - "src": "11114:121:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "11298:1041:34", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "11308:29:34", - "value": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "11331:5:34" - } - ], - "functionName": { - "name": "sload", - "nodeType": "YulIdentifier", - "src": "11325:5:34" - }, - "nodeType": "YulFunctionCall", - "src": "11325:12:34" - }, - "variables": [ - { - "name": "slotValue", - "nodeType": "YulTypedName", - "src": "11312:9:34", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "11346:15:34", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11360:1:34", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "11350:6:34", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "11370:11:34", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11380:1:34", - "type": "", - "value": "1" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "11374:2:34", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "11390:28:34", - "value": { - "arguments": [ - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "11404:2:34" - }, - { - "name": "slotValue", - "nodeType": "YulIdentifier", - "src": "11408:9:34" - } - ], - "functionName": { - "name": "shr", - "nodeType": "YulIdentifier", - "src": "11400:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "11400:18:34" - }, - "variableNames": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "11390:6:34" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "11427:44:34", - "value": { - "arguments": [ - { - "name": "slotValue", - "nodeType": "YulIdentifier", - "src": "11457:9:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "11468:2:34" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "11453:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "11453:18:34" - }, - "variables": [ - { - "name": "outOfPlaceEncoding", - "nodeType": "YulTypedName", - "src": "11431:18:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "11510:31:34", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "11512:27:34", - "value": { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "11526:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11534:4:34", - "type": "", - "value": "0x7f" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "11522:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "11522:17:34" - }, - "variableNames": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "11512:6:34" - } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "outOfPlaceEncoding", - "nodeType": "YulIdentifier", - "src": "11490:18:34" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "11483:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "11483:26:34" - }, - "nodeType": "YulIf", - "src": "11480:61:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "11550:12:34", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11560:2:34", - "type": "", - "value": "32" - }, - "variables": [ - { - "name": "_2", - "nodeType": "YulTypedName", - "src": "11554:2:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "11621:168:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11642:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11645:77:34", - "type": "", - "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "11635:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "11635:88:34" - }, - "nodeType": "YulExpressionStatement", - "src": "11635:88:34" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11743:1:34", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11746:4:34", - "type": "", - "value": "0x22" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "11736:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "11736:15:34" - }, - "nodeType": "YulExpressionStatement", - "src": "11736:15:34" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11771:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11774:4:34", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "11764:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "11764:15:34" - }, - "nodeType": "YulExpressionStatement", - "src": "11764:15:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "outOfPlaceEncoding", - "nodeType": "YulIdentifier", - "src": "11577:18:34" - }, - { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "11600:6:34" - }, - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "11608:2:34" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "11597:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "11597:14:34" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "11574:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "11574:38:34" - }, - "nodeType": "YulIf", - "src": "11571:218:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "11798:61:34", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "11847:3:34" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "11852:6:34" - } - ], - "functionName": { - "name": "array_storeLengthForEncoding_string", - "nodeType": "YulIdentifier", - "src": "11811:35:34" - }, - "nodeType": "YulFunctionCall", - "src": "11811:48:34" - }, - "variables": [ - { - "name": "pos_1", - "nodeType": "YulTypedName", - "src": "11802:5:34", - "type": "" - } - ] - }, - { - "cases": [ - { - "body": { - "nodeType": "YulBlock", - "src": "11909:97:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "pos_1", - "nodeType": "YulIdentifier", - "src": "11930:5:34" - }, - { - "arguments": [ - { - "name": "slotValue", - "nodeType": "YulIdentifier", - "src": "11941:9:34" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11956:3:34", - "type": "", - "value": "255" - } - ], - "functionName": { - "name": "not", - "nodeType": "YulIdentifier", - "src": "11952:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "11952:8:34" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "11937:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "11937:24:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "11923:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "11923:39:34" - }, - "nodeType": "YulExpressionStatement", - "src": "11923:39:34" - }, - { - "nodeType": "YulAssignment", - "src": "11975:21:34", - "value": { - "arguments": [ - { - "name": "pos_1", - "nodeType": "YulIdentifier", - "src": "11986:5:34" - }, - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "11993:2:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "11982:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "11982:14:34" - }, - "variableNames": [ - { - "name": "ret", - "nodeType": "YulIdentifier", - "src": "11975:3:34" - } - ] - } - ] - }, - "nodeType": "YulCase", - "src": "11902:104:34", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11907:1:34", - "type": "", - "value": "0" - } - }, - { - "body": { - "nodeType": "YulBlock", - "src": "12022:311:34", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "12036:51:34", - "value": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "12081:5:34" - } - ], - "functionName": { - "name": "array_dataslot_string_storage", - "nodeType": "YulIdentifier", - "src": "12051:29:34" - }, - "nodeType": "YulFunctionCall", - "src": "12051:36:34" - }, - "variables": [ - { - "name": "dataPos", - "nodeType": "YulTypedName", - "src": "12040:7:34", - "type": "" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "12100:10:34", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12109:1:34", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "i", - "nodeType": "YulTypedName", - "src": "12104:1:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "12177:113:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "pos_1", - "nodeType": "YulIdentifier", - "src": "12206:5:34" - }, - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "12213:1:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "12202:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "12202:13:34" - }, - { - "arguments": [ - { - "name": "dataPos", - "nodeType": "YulIdentifier", - "src": "12223:7:34" - } - ], - "functionName": { - "name": "sload", - "nodeType": "YulIdentifier", - "src": "12217:5:34" - }, - "nodeType": "YulFunctionCall", - "src": "12217:14:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "12195:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "12195:37:34" - }, - "nodeType": "YulExpressionStatement", - "src": "12195:37:34" - }, - { - "nodeType": "YulAssignment", - "src": "12249:27:34", - "value": { - "arguments": [ - { - "name": "dataPos", - "nodeType": "YulIdentifier", - "src": "12264:7:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "12273:2:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "12260:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "12260:16:34" - }, - "variableNames": [ - { - "name": "dataPos", - "nodeType": "YulIdentifier", - "src": "12249:7:34" - } - ] - } - ] - }, - "condition": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "12134:1:34" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "12137:6:34" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "12131:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "12131:13:34" - }, - "nodeType": "YulForLoop", - "post": { - "nodeType": "YulBlock", - "src": "12145:19:34", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "12147:15:34", - "value": { - "arguments": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "12156:1:34" - }, - { - "name": "_2", - "nodeType": "YulIdentifier", - "src": "12159:2:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "12152:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "12152:10:34" - }, - "variableNames": [ - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "12147:1:34" - } - ] - } - ] - }, - "pre": { - "nodeType": "YulBlock", - "src": "12127:3:34", - "statements": [] - }, - "src": "12123:167:34" - }, - { - "nodeType": "YulAssignment", - "src": "12303:20:34", - "value": { - "arguments": [ - { - "name": "pos_1", - "nodeType": "YulIdentifier", - "src": "12314:5:34" - }, - { - "name": "i", - "nodeType": "YulIdentifier", - "src": "12321:1:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "12310:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "12310:13:34" - }, - "variableNames": [ - { - "name": "ret", - "nodeType": "YulIdentifier", - "src": "12303:3:34" - } - ] - } - ] - }, - "nodeType": "YulCase", - "src": "12015:318:34", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12020:1:34", - "type": "", - "value": "1" - } - } - ], - "expression": { - "name": "outOfPlaceEncoding", - "nodeType": "YulIdentifier", - "src": "11875:18:34" - }, - "nodeType": "YulSwitch", - "src": "11868:465:34" - } - ] - }, - "name": "abi_encode_string_storage", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "11275:5:34", - "type": "" - }, - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "11282:3:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "ret", - "nodeType": "YulTypedName", - "src": "11290:3:34", - "type": "" - } - ], - "src": "11240:1099:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "12688:665:34", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "12698:52:34", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12708:42:34", - "type": "", - "value": "0xffffffffffffffffffffffffffffffffffffffff" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "12702:2:34", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "12766:9:34" - }, - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "12781:6:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "12789:2:34" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "12777:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "12777:15:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "12759:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "12759:34:34" - }, - "nodeType": "YulExpressionStatement", - "src": "12759:34:34" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "12813:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12824:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "12809:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "12809:18:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12829:3:34", - "type": "", - "value": "224" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "12802:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "12802:31:34" - }, - "nodeType": "YulExpressionStatement", - "src": "12802:31:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "12842:60:34", - "value": { - "arguments": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "12874:6:34" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "12886:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12897:3:34", - "type": "", - "value": "224" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "12882:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "12882:19:34" - } - ], - "functionName": { - "name": "abi_encode_string", - "nodeType": "YulIdentifier", - "src": "12856:17:34" - }, - "nodeType": "YulFunctionCall", - "src": "12856:46:34" - }, - "variables": [ - { - "name": "tail_1", - "nodeType": "YulTypedName", - "src": "12846:6:34", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "12922:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12933:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "12918:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "12918:18:34" - }, - { - "arguments": [ - { - "name": "tail_1", - "nodeType": "YulIdentifier", - "src": "12942:6:34" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "12950:9:34" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "12938:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "12938:22:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "12911:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "12911:50:34" - }, - "nodeType": "YulExpressionStatement", - "src": "12911:50:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "12970:55:34", - "value": { - "arguments": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "13010:6:34" - }, - { - "name": "tail_1", - "nodeType": "YulIdentifier", - "src": "13018:6:34" - } - ], - "functionName": { - "name": "abi_encode_string_storage", - "nodeType": "YulIdentifier", - "src": "12984:25:34" - }, - "nodeType": "YulFunctionCall", - "src": "12984:41:34" - }, - "variables": [ - { - "name": "tail_2", - "nodeType": "YulTypedName", - "src": "12974:6:34", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "13045:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13056:2:34", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "13041:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "13041:18:34" - }, - { - "arguments": [ - { - "name": "tail_2", - "nodeType": "YulIdentifier", - "src": "13065:6:34" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "13073:9:34" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "13061:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "13061:22:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "13034:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "13034:50:34" - }, - "nodeType": "YulExpressionStatement", - "src": "13034:50:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "13093:47:34", - "value": { - "arguments": [ - { - "name": "value3", - "nodeType": "YulIdentifier", - "src": "13125:6:34" - }, - { - "name": "tail_2", - "nodeType": "YulIdentifier", - "src": "13133:6:34" - } - ], - "functionName": { - "name": "abi_encode_string", - "nodeType": "YulIdentifier", - "src": "13107:17:34" - }, - "nodeType": "YulFunctionCall", - "src": "13107:33:34" - }, - "variables": [ - { - "name": "tail_3", - "nodeType": "YulTypedName", - "src": "13097:6:34", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "13160:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13171:3:34", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "13156:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "13156:19:34" - }, - { - "arguments": [ - { - "name": "tail_3", - "nodeType": "YulIdentifier", - "src": "13181:6:34" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "13189:9:34" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "13177:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "13177:22:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "13149:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "13149:51:34" - }, - "nodeType": "YulExpressionStatement", - "src": "13149:51:34" - }, - { - "nodeType": "YulAssignment", - "src": "13209:41:34", - "value": { - "arguments": [ - { - "name": "value4", - "nodeType": "YulIdentifier", - "src": "13235:6:34" - }, - { - "name": "tail_3", - "nodeType": "YulIdentifier", - "src": "13243:6:34" - } - ], - "functionName": { - "name": "abi_encode_string", - "nodeType": "YulIdentifier", - "src": "13217:17:34" - }, - "nodeType": "YulFunctionCall", - "src": "13217:33:34" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "13209:4:34" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "13270:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13281:3:34", - "type": "", - "value": "160" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "13266:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "13266:19:34" - }, - { - "name": "value5", - "nodeType": "YulIdentifier", - "src": "13287:6:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "13259:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "13259:35:34" - }, - "nodeType": "YulExpressionStatement", - "src": "13259:35:34" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "13314:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13325:3:34", - "type": "", - "value": "192" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "13310:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "13310:19:34" - }, - { - "arguments": [ - { - "name": "value6", - "nodeType": "YulIdentifier", - "src": "13335:6:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "13343:2:34" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "13331:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "13331:15:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "13303:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "13303:44:34" - }, - "nodeType": "YulExpressionStatement", - "src": "13303:44:34" - } - ] - }, - "name": "abi_encode_tuple_t_address_t_string_memory_ptr_t_string_storage_t_bytes_memory_ptr_t_string_memory_ptr_t_uint256_t_address__to_t_address_t_string_memory_ptr_t_string_memory_ptr_t_bytes_memory_ptr_t_string_memory_ptr_t_uint256_t_address__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "12609:9:34", - "type": "" - }, - { - "name": "value6", - "nodeType": "YulTypedName", - "src": "12620:6:34", - "type": "" - }, - { - "name": "value5", - "nodeType": "YulTypedName", - "src": "12628:6:34", - "type": "" - }, - { - "name": "value4", - "nodeType": "YulTypedName", - "src": "12636:6:34", - "type": "" - }, - { - "name": "value3", - "nodeType": "YulTypedName", - "src": "12644:6:34", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "12652:6:34", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "12660:6:34", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "12668:6:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "12679:4:34", - "type": "" - } - ], - "src": "12344:1009:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "13439:170:34", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "13485:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13494:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13497:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "13487:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "13487:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "13487:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "13460:7:34" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "13469:9:34" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "13456:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "13456:23:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13481:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "13452:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "13452:32:34" - }, - "nodeType": "YulIf", - "src": "13449:52:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "13510:29:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "13529:9:34" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "13523:5:34" - }, - "nodeType": "YulFunctionCall", - "src": "13523:16:34" - }, - "variables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "13514:5:34", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "13573:5:34" - } - ], - "functionName": { - "name": "validator_revert_address", - "nodeType": "YulIdentifier", - "src": "13548:24:34" - }, - "nodeType": "YulFunctionCall", - "src": "13548:31:34" - }, - "nodeType": "YulExpressionStatement", - "src": "13548:31:34" - }, - { - "nodeType": "YulAssignment", - "src": "13588:15:34", - "value": { - "name": "value", - "nodeType": "YulIdentifier", - "src": "13598:5:34" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "13588:6:34" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_address_fromMemory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "13405:9:34", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "13416:7:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "13428:6:34", - "type": "" - } - ], - "src": "13358:251:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "13771:241:34", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "13781:26:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "13793:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13804:2:34", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "13789:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "13789:18:34" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "13781:4:34" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "13816:52:34", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13826:42:34", - "type": "", - "value": "0xffffffffffffffffffffffffffffffffffffffff" - }, - "variables": [ - { - "name": "_1", - "nodeType": "YulTypedName", - "src": "13820:2:34", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "13884:9:34" - }, - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "13899:6:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "13907:2:34" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "13895:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "13895:15:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "13877:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "13877:34:34" - }, - "nodeType": "YulExpressionStatement", - "src": "13877:34:34" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "13931:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13942:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "13927:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "13927:18:34" - }, - { - "arguments": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "13951:6:34" - }, - { - "name": "_1", - "nodeType": "YulIdentifier", - "src": "13959:2:34" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "13947:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "13947:15:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "13920:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "13920:43:34" - }, - "nodeType": "YulExpressionStatement", - "src": "13920:43:34" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "13983:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "13994:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "13979:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "13979:18:34" - }, - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "13999:6:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "13972:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "13972:34:34" - }, - "nodeType": "YulExpressionStatement", - "src": "13972:34:34" - } - ] - }, - "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": "13724:9:34", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "13735:6:34", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "13743:6:34", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "13751:6:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "13762:4:34", - "type": "" - } - ], - "src": "13614:398:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "14146:168:34", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "14156:26:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "14168:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14179:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "14164:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "14164:18:34" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "14156:4:34" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "14198:9:34" - }, - { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "14213:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14221:42:34", - "type": "", - "value": "0xffffffffffffffffffffffffffffffffffffffff" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "14209:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "14209:55:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "14191:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "14191:74:34" - }, - "nodeType": "YulExpressionStatement", - "src": "14191:74:34" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "14285:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14296:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "14281:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "14281:18:34" - }, - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "14301:6:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "14274:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "14274:34:34" - }, - "nodeType": "YulExpressionStatement", - "src": "14274:34:34" - } - ] - }, - "name": "abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "14107:9:34", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "14118:6:34", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "14126:6:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "14137:4:34", - "type": "" - } - ], - "src": "14017:297:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "14607:498:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "14624:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14635:3:34", - "type": "", - "value": "160" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "14617:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "14617:22:34" - }, - "nodeType": "YulExpressionStatement", - "src": "14617:22:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "14648:60:34", - "value": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "14680:6:34" - }, - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "14692:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14703:3:34", - "type": "", - "value": "160" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "14688:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "14688:19:34" - } - ], - "functionName": { - "name": "abi_encode_string", - "nodeType": "YulIdentifier", - "src": "14662:17:34" - }, - "nodeType": "YulFunctionCall", - "src": "14662:46:34" - }, - "variables": [ - { - "name": "tail_1", - "nodeType": "YulTypedName", - "src": "14652:6:34", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "14728:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14739:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "14724:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "14724:18:34" - }, - { - "arguments": [ - { - "name": "tail_1", - "nodeType": "YulIdentifier", - "src": "14748:6:34" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "14756:9:34" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "14744:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "14744:22:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "14717:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "14717:50:34" - }, - "nodeType": "YulExpressionStatement", - "src": "14717:50:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "14776:55:34", - "value": { - "arguments": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "14816:6:34" - }, - { - "name": "tail_1", - "nodeType": "YulIdentifier", - "src": "14824:6:34" - } - ], - "functionName": { - "name": "abi_encode_string_storage", - "nodeType": "YulIdentifier", - "src": "14790:25:34" - }, - "nodeType": "YulFunctionCall", - "src": "14790:41:34" - }, - "variables": [ - { - "name": "tail_2", - "nodeType": "YulTypedName", - "src": "14780:6:34", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "14851:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14862:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "14847:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "14847:18:34" - }, - { - "arguments": [ - { - "name": "tail_2", - "nodeType": "YulIdentifier", - "src": "14871:6:34" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "14879:9:34" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "14867:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "14867:22:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "14840:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "14840:50:34" - }, - "nodeType": "YulExpressionStatement", - "src": "14840:50:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "14899:47:34", - "value": { - "arguments": [ - { - "name": "value2", - "nodeType": "YulIdentifier", - "src": "14931:6:34" - }, - { - "name": "tail_2", - "nodeType": "YulIdentifier", - "src": "14939:6:34" - } - ], - "functionName": { - "name": "abi_encode_string", - "nodeType": "YulIdentifier", - "src": "14913:17:34" - }, - "nodeType": "YulFunctionCall", - "src": "14913:33:34" - }, - "variables": [ - { - "name": "tail_3", - "nodeType": "YulTypedName", - "src": "14903:6:34", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "14966:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14977:2:34", - "type": "", - "value": "96" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "14962:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "14962:18:34" - }, - { - "arguments": [ - { - "name": "tail_3", - "nodeType": "YulIdentifier", - "src": "14986:6:34" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "14994:9:34" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "14982:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "14982:22:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "14955:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "14955:50:34" - }, - "nodeType": "YulExpressionStatement", - "src": "14955:50:34" - }, - { - "nodeType": "YulAssignment", - "src": "15014:41:34", - "value": { - "arguments": [ - { - "name": "value3", - "nodeType": "YulIdentifier", - "src": "15040:6:34" - }, - { - "name": "tail_3", - "nodeType": "YulIdentifier", - "src": "15048:6:34" - } - ], - "functionName": { - "name": "abi_encode_string", - "nodeType": "YulIdentifier", - "src": "15022:17:34" - }, - "nodeType": "YulFunctionCall", - "src": "15022:33:34" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "15014:4:34" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "15075:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15086:3:34", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "15071:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "15071:19:34" - }, - { - "name": "value4", - "nodeType": "YulIdentifier", - "src": "15092:6:34" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "15064:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "15064:35:34" - }, - "nodeType": "YulExpressionStatement", - "src": "15064:35:34" - } - ] - }, - "name": "abi_encode_tuple_t_string_memory_ptr_t_string_storage_t_bytes_memory_ptr_t_string_memory_ptr_t_uint256__to_t_string_memory_ptr_t_string_memory_ptr_t_bytes_memory_ptr_t_string_memory_ptr_t_uint256__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "14544:9:34", - "type": "" - }, - { - "name": "value4", - "nodeType": "YulTypedName", - "src": "14555:6:34", - "type": "" - }, - { - "name": "value3", - "nodeType": "YulTypedName", - "src": "14563:6:34", - "type": "" - }, - { - "name": "value2", - "nodeType": "YulTypedName", - "src": "14571:6:34", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "14579:6:34", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "14587:6:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "14598:4:34", - "type": "" - } - ], - "src": "14319:786:34" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "15215:360:34", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "15261:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15270:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15273:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "15263:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "15263:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "15263:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "15236:7:34" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "15245:9:34" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "15232:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "15232:23:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15257:2:34", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "15228:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "15228:32:34" - }, - "nodeType": "YulIf", - "src": "15225:52:34" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "15286:37:34", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "15313:9:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "15300:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "15300:23:34" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "15290:6:34", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "15366:16:34", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15375:1:34", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15378:1:34", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "15368:6:34" - }, - "nodeType": "YulFunctionCall", - "src": "15368:12:34" - }, - "nodeType": "YulExpressionStatement", - "src": "15368:12:34" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "15338:6:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15346:18:34", - "type": "", - "value": "0xffffffffffffffff" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "15335:2:34" - }, - "nodeType": "YulFunctionCall", - "src": "15335:30:34" - }, - "nodeType": "YulIf", - "src": "15332:50:34" - }, - { - "nodeType": "YulAssignment", - "src": "15391:60:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "15423:9:34" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "15434:6:34" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "15419:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "15419:22:34" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "15443:7:34" - } - ], - "functionName": { - "name": "abi_decode_string", - "nodeType": "YulIdentifier", - "src": "15401:17:34" - }, - "nodeType": "YulFunctionCall", - "src": "15401:50:34" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "15391:6:34" - } - ] - }, - { - "nodeType": "YulVariableDeclaration", - "src": "15460:45:34", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "15490:9:34" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15501:2:34", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "15486:3:34" - }, - "nodeType": "YulFunctionCall", - "src": "15486:18:34" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "15473:12:34" - }, - "nodeType": "YulFunctionCall", - "src": "15473:32:34" - }, - "variables": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "15464:5:34", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "15539:5:34" - } - ], - "functionName": { - "name": "validator_revert_address", - "nodeType": "YulIdentifier", - "src": "15514:24:34" - }, - "nodeType": "YulFunctionCall", - "src": "15514:31:34" - }, - "nodeType": "YulExpressionStatement", - "src": "15514:31:34" - }, - { - "nodeType": "YulAssignment", - "src": "15554:15:34", - "value": { - "name": "value", - "nodeType": "YulIdentifier", - "src": "15564:5:34" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "15554:6:34" - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_string_memory_ptrt_address_payable", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "15173:9:34", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "15184:7:34", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "15196:6:34", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "15204:6:34", - "type": "" - } - ], - "src": "15110:465:34" - } - ] - }, - "contents": "{\n { }\n function abi_encode_tuple_t_contract$_IAxelarGateway_$5700__to_t_address__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, 0xffffffffffffffffffffffffffffffffffffffff))\n }\n function abi_decode_string_calldata(offset, end) -> arrayPos, length\n {\n if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n length := calldataload(offset)\n if gt(length, 0xffffffffffffffff) { revert(0, 0) }\n arrayPos := add(offset, 0x20)\n if gt(add(add(offset, length), 0x20), end) { revert(0, 0) }\n }\n function abi_decode_tuple_t_bytes32t_string_calldata_ptrt_string_calldata_ptrt_bytes_calldata_ptrt_string_calldata_ptrt_uint256(headStart, dataEnd) -> value0, value1, value2, value3, value4, value5, value6, value7, value8, value9\n {\n if slt(sub(dataEnd, headStart), 192) { revert(0, 0) }\n value0 := calldataload(headStart)\n let offset := calldataload(add(headStart, 32))\n let _1 := 0xffffffffffffffff\n if gt(offset, _1) { revert(0, 0) }\n let value1_1, value2_1 := abi_decode_string_calldata(add(headStart, offset), dataEnd)\n value1 := value1_1\n value2 := value2_1\n let offset_1 := calldataload(add(headStart, 64))\n if gt(offset_1, _1) { revert(0, 0) }\n let value3_1, value4_1 := abi_decode_string_calldata(add(headStart, offset_1), dataEnd)\n value3 := value3_1\n value4 := value4_1\n let offset_2 := calldataload(add(headStart, 96))\n if gt(offset_2, _1) { revert(0, 0) }\n let value5_1, value6_1 := abi_decode_string_calldata(add(headStart, offset_2), dataEnd)\n value5 := value5_1\n value6 := value6_1\n let offset_3 := calldataload(add(headStart, 128))\n if gt(offset_3, _1) { revert(0, 0) }\n let value7_1, value8_1 := abi_decode_string_calldata(add(headStart, offset_3), dataEnd)\n value7 := value7_1\n value8 := value8_1\n value9 := calldataload(add(headStart, 160))\n }\n function array_storeLengthForEncoding_string(pos, length) -> updated_pos\n {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\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 abi_encode_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_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n {\n mstore(headStart, 32)\n tail := abi_encode_string(value0, add(headStart, 32))\n }\n function abi_decode_tuple_t_string_calldata_ptrt_string_calldata_ptr(headStart, dataEnd) -> value0, value1, value2, value3\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n let offset := calldataload(headStart)\n let _1 := 0xffffffffffffffff\n if gt(offset, _1) { revert(0, 0) }\n let value0_1, value1_1 := abi_decode_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(0, 0) }\n let value2_1, value3_1 := abi_decode_string_calldata(add(headStart, offset_1), dataEnd)\n value2 := value2_1\n value3 := value3_1\n }\n function abi_decode_tuple_t_bytes32t_string_calldata_ptrt_string_calldata_ptrt_bytes_calldata_ptr(headStart, dataEnd) -> value0, value1, value2, value3, value4, value5, value6\n {\n if slt(sub(dataEnd, headStart), 128) { revert(0, 0) }\n value0 := calldataload(headStart)\n let offset := calldataload(add(headStart, 32))\n let _1 := 0xffffffffffffffff\n if gt(offset, _1) { revert(0, 0) }\n let value1_1, value2_1 := abi_decode_string_calldata(add(headStart, offset), dataEnd)\n value1 := value1_1\n value2 := value2_1\n let offset_1 := calldataload(add(headStart, 64))\n if gt(offset_1, _1) { revert(0, 0) }\n let value3_1, value4_1 := abi_decode_string_calldata(add(headStart, offset_1), dataEnd)\n value3 := value3_1\n value4 := value4_1\n let offset_2 := calldataload(add(headStart, 96))\n if gt(offset_2, _1) { revert(0, 0) }\n let value5_1, value6_1 := abi_decode_string_calldata(add(headStart, offset_2), dataEnd)\n value5 := value5_1\n value6 := value6_1\n }\n function abi_encode_tuple_t_contract$_IAxelarGasService_$5359__to_t_address__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, 0xffffffffffffffffffffffffffffffffffffffff))\n }\n function panic_error_0x41()\n {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n function abi_decode_string(offset, end) -> array\n {\n if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n let _1 := calldataload(offset)\n let _2 := 0xffffffffffffffff\n if gt(_1, _2) { panic_error_0x41() }\n let _3 := not(31)\n let memPtr := mload(64)\n let newFreePtr := add(memPtr, and(add(and(add(_1, 0x1f), _3), 63), _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), 0x20), end) { revert(0, 0) }\n calldatacopy(add(memPtr, 0x20), add(offset, 0x20), _1)\n mstore(add(add(memPtr, _1), 0x20), 0)\n array := memPtr\n }\n function validator_revert_address(value)\n {\n if iszero(eq(value, and(value, 0xffffffffffffffffffffffffffffffffffffffff))) { revert(0, 0) }\n }\n function abi_decode_tuple_t_string_memory_ptrt_string_calldata_ptrt_addresst_string_memory_ptrt_uint256(headStart, dataEnd) -> value0, value1, value2, value3, value4, value5\n {\n if slt(sub(dataEnd, headStart), 160) { revert(0, 0) }\n let offset := calldataload(headStart)\n let _1 := 0xffffffffffffffff\n if gt(offset, _1) { revert(0, 0) }\n value0 := abi_decode_string(add(headStart, offset), dataEnd)\n let offset_1 := calldataload(add(headStart, 32))\n if gt(offset_1, _1) { revert(0, 0) }\n let value1_1, value2_1 := abi_decode_string_calldata(add(headStart, offset_1), dataEnd)\n value1 := value1_1\n value2 := value2_1\n let value := calldataload(add(headStart, 64))\n validator_revert_address(value)\n value3 := value\n let offset_2 := calldataload(add(headStart, 96))\n if gt(offset_2, _1) { revert(0, 0) }\n value4 := abi_decode_string(add(headStart, offset_2), dataEnd)\n value5 := calldataload(add(headStart, 128))\n }\n function abi_decode_tuple_t_string_memory_ptr(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let offset := calldataload(headStart)\n if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n value0 := abi_decode_string(add(headStart, offset), dataEnd)\n }\n function abi_encode_tuple_packed_t_bytes_calldata_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value1, value0) -> end\n {\n calldatacopy(pos, value0, value1)\n let _1 := add(pos, value1)\n mstore(_1, 0)\n end := _1\n }\n function abi_encode_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), 0)\n end := add(add(pos, and(add(length, 31), not(31))), 0x20)\n }\n function abi_encode_tuple_t_bytes32_t_string_calldata_ptr_t_string_calldata_ptr_t_bytes32_t_string_calldata_ptr_t_uint256__to_t_bytes32_t_string_memory_ptr_t_string_memory_ptr_t_bytes32_t_string_memory_ptr_t_uint256__fromStack_reversed(headStart, value8, value7, value6, value5, value4, value3, value2, value1, value0) -> tail\n {\n mstore(headStart, value0)\n mstore(add(headStart, 32), 192)\n let tail_1 := abi_encode_string_calldata(value1, value2, add(headStart, 192))\n mstore(add(headStart, 64), sub(tail_1, headStart))\n let tail_2 := abi_encode_string_calldata(value3, value4, tail_1)\n mstore(add(headStart, 96), value5)\n mstore(add(headStart, 128), sub(tail_2, headStart))\n tail := abi_encode_string_calldata(value6, value7, tail_2)\n mstore(add(headStart, 160), value8)\n }\n function abi_decode_tuple_t_bool_fromMemory(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let value := mload(headStart)\n if iszero(eq(value, iszero(iszero(value)))) { revert(0, 0) }\n value0 := value\n }\n function extract_byte_array_length(data) -> length\n {\n length := shr(1, data)\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 abi_encode_tuple_packed_t_string_calldata_ptr__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value1, value0) -> end\n {\n calldatacopy(pos, value0, value1)\n let _1 := add(pos, value1)\n mstore(_1, 0)\n end := _1\n }\n function abi_encode_tuple_t_bytes32_t_string_calldata_ptr_t_string_calldata_ptr_t_bytes32__to_t_bytes32_t_string_memory_ptr_t_string_memory_ptr_t_bytes32__fromStack_reversed(headStart, value5, value4, value3, value2, value1, value0) -> tail\n {\n mstore(headStart, value0)\n mstore(add(headStart, 32), 128)\n let tail_1 := abi_encode_string_calldata(value1, value2, add(headStart, 128))\n mstore(add(headStart, 64), sub(tail_1, headStart))\n tail := abi_encode_string_calldata(value3, value4, tail_1)\n mstore(add(headStart, 96), value5)\n }\n function abi_encode_tuple_t_string_calldata_ptr_t_address__to_t_string_memory_ptr_t_address__fromStack_reversed(headStart, value2, value1, value0) -> tail\n {\n mstore(headStart, 64)\n tail := abi_encode_string_calldata(value0, value1, add(headStart, 64))\n mstore(add(headStart, 32), and(value2, 0xffffffffffffffffffffffffffffffffffffffff))\n }\n function abi_encode_tuple_packed_t_string_memory_ptr__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value0) -> end\n {\n let length := mload(value0)\n copy_memory_to_memory(add(value0, 0x20), pos, length)\n end := add(pos, length)\n }\n function array_dataslot_string_storage(ptr) -> data\n {\n mstore(0, ptr)\n data := keccak256(0, 0x20)\n }\n function abi_encode_string_storage(value, pos) -> ret\n {\n let slotValue := sload(value)\n let length := 0\n let _1 := 1\n length := shr(_1, slotValue)\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(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n let pos_1 := array_storeLengthForEncoding_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_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_address_t_string_memory_ptr_t_string_storage_t_bytes_memory_ptr_t_string_memory_ptr_t_uint256_t_address__to_t_address_t_string_memory_ptr_t_string_memory_ptr_t_bytes_memory_ptr_t_string_memory_ptr_t_uint256_t_address__fromStack_reversed(headStart, value6, value5, value4, value3, value2, value1, value0) -> tail\n {\n let _1 := 0xffffffffffffffffffffffffffffffffffffffff\n mstore(headStart, and(value0, _1))\n mstore(add(headStart, 32), 224)\n let tail_1 := abi_encode_string(value1, add(headStart, 224))\n mstore(add(headStart, 64), sub(tail_1, headStart))\n let tail_2 := abi_encode_string_storage(value2, tail_1)\n mstore(add(headStart, 96), sub(tail_2, headStart))\n let tail_3 := abi_encode_string(value3, tail_2)\n mstore(add(headStart, 128), sub(tail_3, headStart))\n tail := abi_encode_string(value4, tail_3)\n mstore(add(headStart, 160), value5)\n mstore(add(headStart, 192), and(value6, _1))\n }\n function abi_decode_tuple_t_address_fromMemory(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let value := mload(headStart)\n validator_revert_address(value)\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_string_memory_ptr_t_string_storage_t_bytes_memory_ptr_t_string_memory_ptr_t_uint256__to_t_string_memory_ptr_t_string_memory_ptr_t_bytes_memory_ptr_t_string_memory_ptr_t_uint256__fromStack_reversed(headStart, value4, value3, value2, value1, value0) -> tail\n {\n mstore(headStart, 160)\n let tail_1 := abi_encode_string(value0, add(headStart, 160))\n mstore(add(headStart, 32), sub(tail_1, headStart))\n let tail_2 := abi_encode_string_storage(value1, tail_1)\n mstore(add(headStart, 64), sub(tail_2, headStart))\n let tail_3 := abi_encode_string(value2, tail_2)\n mstore(add(headStart, 96), sub(tail_3, headStart))\n tail := abi_encode_string(value3, tail_3)\n mstore(add(headStart, 128), value4)\n }\n function abi_decode_tuple_t_string_memory_ptrt_address_payable(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n let offset := calldataload(headStart)\n if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n value0 := abi_decode_string(add(headStart, offset), dataEnd)\n let value := calldataload(add(headStart, 32))\n validator_revert_address(value)\n value1 := value\n }\n}", - "id": 34, - "language": "Yul", - "name": "#utility.yul" - } - ], - "immutableReferences": {}, - "linkReferences": {}, - "object": "6080604052600436106100b15760003560e01c8063491606581161006957806389471c941161004e57806389471c94146101ac578063a7798b69146101bf578063b0fa8444146101df57600080fd5b8063491606581461016c57806380d14b4a1461018c57600080fd5b80631c6ffa461161009a5780631c6ffa46146101155780633fa4f2451461013757806345b48eb91461014c57600080fd5b8063116191b6146100b65780631a98b2e0146100f3575b600080fd5b3480156100c257600080fd5b506000546100d6906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156100ff57600080fd5b5061011361010e366004610c20565b6101f4565b005b34801561012157600080fd5b5061012a61038f565b6040516100ea9190610d52565b34801561014357600080fd5b5061012a61041d565b34801561015857600080fd5b50610113610167366004610d6c565b61042a565b34801561017857600080fd5b50610113610187366004610dd8565b61045f565b34801561019857600080fd5b506004546100d6906001600160a01b031681565b6101136101ba366004610f37565b6105bb565b3480156101cb57600080fd5b5061012a6101da366004610fe2565b610917565b3480156101eb57600080fd5b5061012a61093b565b6000858560405161020692919061101f565b6040519081900381206000547f1876eed90000000000000000000000000000000000000000000000000000000083529092506001600160a01b031690631876eed990610266908e908e908e908e908e9089908d908d908d90600401611058565b602060405180830381600087803b15801561028057600080fd5b505af1158015610294573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102b891906110b7565b6102d557604051631403112d60e21b815260040160405180910390fd5b6103828a8a8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8e018190048102820181019092528c815292508c91508b908190840183828082843760009201919091525050604080516020601f8b018190048102820181019092528981528c93508b9250908a908a90819084018382808284376000920191909152508a9250610948915050565b5050505050505050505050565b6002805461039c906110d9565b80601f01602080910402602001604051908101604052809291908181526020018280546103c8906110d9565b80156104155780601f106103ea57610100808354040283529160200191610415565b820191906000526020600020905b8154815290600101906020018083116103f857829003601f168201915b505050505081565b6001805461039c906110d9565b81816005868660405161043e92919061101f565b908152604051908190036020019020610458929091610aca565b5050505050565b6000828260405161047192919061101f565b6040519081900381206000547f5f6970c30000000000000000000000000000000000000000000000000000000083529092506001600160a01b031690635f6970c3906104cb908b908b908b908b908b908990600401611114565b602060405180830381600087803b1580156104e557600080fd5b505af11580156104f9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061051d91906110b7565b61053a57604051631403112d60e21b815260040160405180910390fd5b6105b187878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8b018190048102820181019092528981529250899150889081908401838280828437600092019190915250889250879150610ac49050565b5050505050505050565b6105c760018686610aca565b5060008585856040516020016105df93929190611155565b60408051601f19818403018152919052905034156106a4576004546040516001600160a01b039091169063c62c200290349030908b90600590610623908390611182565b9081526040519081900360200181207fffffffff0000000000000000000000000000000000000000000000000000000060e087901b16825261067193929188908b908b90339060040161123e565b6000604051808303818588803b15801561068a57600080fd5b505af115801561069e573d6000803e3d6000fd5b50505050505b600080546040516349ad89fb60e11b81526001600160a01b039091169063935b13f6906106d5908790600401610d52565b60206040518083038186803b1580156106ed57600080fd5b505afa158015610701573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061072591906112b8565b6040517f23b872dd000000000000000000000000000000000000000000000000000000008152336004820152306024820152604481018590529091506001600160a01b038216906323b872dd90606401602060405180830381600087803b15801561078f57600080fd5b505af11580156107a3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107c791906110b7565b506000546040517f095ea7b30000000000000000000000000000000000000000000000000000000081526001600160a01b039182166004820152602481018590529082169063095ea7b390604401602060405180830381600087803b15801561082f57600080fd5b505af1158015610843573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061086791906110b7565b506000546040516001600160a01b039091169063b5417084908a90600590610890908390611182565b9081526040519081900360200181207fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1682526108db929187908a908a906004016112d5565b600060405180830381600087803b1580156108f557600080fd5b505af1158015610909573d6000803e3d6000fd5b505050505050505050505050565b80516020818301810180516005825292820191909301209152805461039c906110d9565b6003805461039c906110d9565b600061095684860186611335565b8151909250829061096e906001906020850190610b4e565b50508751610984915060029060208a0190610b4e565b508551610998906003906020890190610b4e565b50600080546040516349ad89fb60e11b81526001600160a01b039091169063935b13f6906109ca908790600401610d52565b60206040518083038186803b1580156109e257600080fd5b505afa1580156109f6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a1a91906112b8565b6040517fa9059cbb0000000000000000000000000000000000000000000000000000000081526001600160a01b038481166004830152602482018690529192509082169063a9059cbb90604401602060405180830381600087803b158015610a8157600080fd5b505af1158015610a95573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ab991906110b7565b505050505050505050565b50505050565b828054610ad6906110d9565b90600052602060002090601f016020900481019282610af85760008555610b3e565b82601f10610b115782800160ff19823516178555610b3e565b82800160010185558215610b3e579182015b82811115610b3e578235825591602001919060010190610b23565b50610b4a929150610bc2565b5090565b828054610b5a906110d9565b90600052602060002090601f016020900481019282610b7c5760008555610b3e565b82601f10610b9557805160ff1916838001178555610b3e565b82800160010185558215610b3e579182015b82811115610b3e578251825591602001919060010190610ba7565b5b80821115610b4a5760008155600101610bc3565b60008083601f840112610be957600080fd5b50813567ffffffffffffffff811115610c0157600080fd5b602083019150836020828501011115610c1957600080fd5b9250929050565b60008060008060008060008060008060c08b8d031215610c3f57600080fd5b8a35995060208b013567ffffffffffffffff80821115610c5e57600080fd5b610c6a8e838f01610bd7565b909b50995060408d0135915080821115610c8357600080fd5b610c8f8e838f01610bd7565b909950975060608d0135915080821115610ca857600080fd5b610cb48e838f01610bd7565b909750955060808d0135915080821115610ccd57600080fd5b50610cda8d828e01610bd7565b9150809450508092505060a08b013590509295989b9194979a5092959850565b60005b83811015610d15578181015183820152602001610cfd565b83811115610ac45750506000910152565b60008151808452610d3e816020860160208601610cfa565b601f01601f19169290920160200192915050565b602081526000610d656020830184610d26565b9392505050565b60008060008060408587031215610d8257600080fd5b843567ffffffffffffffff80821115610d9a57600080fd5b610da688838901610bd7565b90965094506020870135915080821115610dbf57600080fd5b50610dcc87828801610bd7565b95989497509550505050565b60008060008060008060006080888a031215610df357600080fd5b87359650602088013567ffffffffffffffff80821115610e1257600080fd5b610e1e8b838c01610bd7565b909850965060408a0135915080821115610e3757600080fd5b610e438b838c01610bd7565b909650945060608a0135915080821115610e5c57600080fd5b50610e698a828b01610bd7565b989b979a50959850939692959293505050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112610ea357600080fd5b813567ffffffffffffffff80821115610ebe57610ebe610e7c565b604051601f8301601f19908116603f01168101908282118183101715610ee657610ee6610e7c565b81604052838152866020858801011115610eff57600080fd5b836020870160208301376000602085830101528094505050505092915050565b6001600160a01b0381168114610f3457600080fd5b50565b60008060008060008060a08789031215610f5057600080fd5b863567ffffffffffffffff80821115610f6857600080fd5b610f748a838b01610e92565b97506020890135915080821115610f8a57600080fd5b610f968a838b01610bd7565b909750955060408901359150610fab82610f1f565b90935060608801359080821115610fc157600080fd5b50610fce89828a01610e92565b925050608087013590509295509295509295565b600060208284031215610ff457600080fd5b813567ffffffffffffffff81111561100b57600080fd5b61101784828501610e92565b949350505050565b8183823760009101908152919050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b89815260c06020820152600061107260c083018a8c61102f565b828103604084015261108581898b61102f565b905086606084015282810360808401526110a081868861102f565b9150508260a08301529a9950505050505050505050565b6000602082840312156110c957600080fd5b81518015158114610d6557600080fd5b600181811c908216806110ed57607f821691505b6020821081141561110e57634e487b7160e01b600052602260045260246000fd5b50919050565b86815260806020820152600061112e60808301878961102f565b828103604084015261114181868861102f565b915050826060830152979650505050505050565b60408152600061116960408301858761102f565b90506001600160a01b0383166020830152949350505050565b60008251611194818460208701610cfa565b9190910192915050565b8054600090600181811c90808316806111b857607f831692505b60208084108214156111da57634e487b7160e01b600052602260045260246000fd5b838852602088018280156111f5576001811461120657611231565b60ff19871682528282019750611231565b60008981526020902060005b8781101561122b57815484820152908601908401611212565b83019850505b5050505050505092915050565b60006001600160a01b03808a16835260e0602084015261126160e084018a610d26565b8381036040850152611273818a61119e565b905083810360608501526112878189610d26565b9050838103608085015261129b8188610d26565b60a0850196909652509290921660c0909101525095945050505050565b6000602082840312156112ca57600080fd5b8151610d6581610f1f565b60a0815260006112e860a0830188610d26565b82810360208401526112fa818861119e565b9050828103604084015261130e8187610d26565b905082810360608401526113228186610d26565b9150508260808301529695505050505050565b6000806040838503121561134857600080fd5b823567ffffffffffffffff81111561135f57600080fd5b61136b85828601610e92565b925050602083013561137c81610f1f565b80915050925092905056fea2646970667358221220423df6f44476d4f6856a92b73b23f593e5b063bee8acaae6cad055ae2b1b66bc64736f6c63430008090033", - "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0xB1 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x49160658 GT PUSH2 0x69 JUMPI DUP1 PUSH4 0x89471C94 GT PUSH2 0x4E JUMPI DUP1 PUSH4 0x89471C94 EQ PUSH2 0x1AC JUMPI DUP1 PUSH4 0xA7798B69 EQ PUSH2 0x1BF JUMPI DUP1 PUSH4 0xB0FA8444 EQ PUSH2 0x1DF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x49160658 EQ PUSH2 0x16C JUMPI DUP1 PUSH4 0x80D14B4A EQ PUSH2 0x18C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x1C6FFA46 GT PUSH2 0x9A JUMPI DUP1 PUSH4 0x1C6FFA46 EQ PUSH2 0x115 JUMPI DUP1 PUSH4 0x3FA4F245 EQ PUSH2 0x137 JUMPI DUP1 PUSH4 0x45B48EB9 EQ PUSH2 0x14C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x116191B6 EQ PUSH2 0xB6 JUMPI DUP1 PUSH4 0x1A98B2E0 EQ PUSH2 0xF3 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xC2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x0 SLOAD PUSH2 0xD6 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xFF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x113 PUSH2 0x10E CALLDATASIZE PUSH1 0x4 PUSH2 0xC20 JUMP JUMPDEST PUSH2 0x1F4 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x121 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x12A PUSH2 0x38F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xEA SWAP2 SWAP1 PUSH2 0xD52 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x143 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x12A PUSH2 0x41D JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x158 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x113 PUSH2 0x167 CALLDATASIZE PUSH1 0x4 PUSH2 0xD6C JUMP JUMPDEST PUSH2 0x42A JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x178 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x113 PUSH2 0x187 CALLDATASIZE PUSH1 0x4 PUSH2 0xDD8 JUMP JUMPDEST PUSH2 0x45F JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x198 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 SLOAD PUSH2 0xD6 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST PUSH2 0x113 PUSH2 0x1BA CALLDATASIZE PUSH1 0x4 PUSH2 0xF37 JUMP JUMPDEST PUSH2 0x5BB JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1CB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x12A PUSH2 0x1DA CALLDATASIZE PUSH1 0x4 PUSH2 0xFE2 JUMP JUMPDEST PUSH2 0x917 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1EB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x12A PUSH2 0x93B JUMP JUMPDEST PUSH1 0x0 DUP6 DUP6 PUSH1 0x40 MLOAD PUSH2 0x206 SWAP3 SWAP2 SWAP1 PUSH2 0x101F JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 SWAP1 SUB DUP2 KECCAK256 PUSH1 0x0 SLOAD PUSH32 0x1876EED900000000000000000000000000000000000000000000000000000000 DUP4 MSTORE SWAP1 SWAP3 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0x1876EED9 SWAP1 PUSH2 0x266 SWAP1 DUP15 SWAP1 DUP15 SWAP1 DUP15 SWAP1 DUP15 SWAP1 DUP15 SWAP1 DUP10 SWAP1 DUP14 SWAP1 DUP14 SWAP1 DUP14 SWAP1 PUSH1 0x4 ADD PUSH2 0x1058 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x280 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x294 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x2B8 SWAP2 SWAP1 PUSH2 0x10B7 JUMP JUMPDEST PUSH2 0x2D5 JUMPI PUSH1 0x40 MLOAD PUSH4 0x1403112D PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x382 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 PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 PUSH1 0x1F DUP15 ADD DUP2 SWAP1 DIV DUP2 MUL DUP3 ADD DUP2 ADD SWAP1 SWAP3 MSTORE DUP13 DUP2 MSTORE SWAP3 POP DUP13 SWAP2 POP DUP12 SWAP1 DUP2 SWAP1 DUP5 ADD DUP4 DUP3 DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 SWAP3 ADD SWAP2 SWAP1 SWAP2 MSTORE POP 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 DUP13 SWAP4 POP DUP12 SWAP3 POP SWAP1 DUP11 SWAP1 DUP11 SWAP1 DUP2 SWAP1 DUP5 ADD DUP4 DUP3 DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 SWAP3 ADD SWAP2 SWAP1 SWAP2 MSTORE POP DUP11 SWAP3 POP PUSH2 0x948 SWAP2 POP POP JUMP JUMPDEST POP POP POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x2 DUP1 SLOAD PUSH2 0x39C SWAP1 PUSH2 0x10D9 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 0x3C8 SWAP1 PUSH2 0x10D9 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x415 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x3EA JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x415 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 0x3F8 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 JUMP JUMPDEST PUSH1 0x1 DUP1 SLOAD PUSH2 0x39C SWAP1 PUSH2 0x10D9 JUMP JUMPDEST DUP2 DUP2 PUSH1 0x5 DUP7 DUP7 PUSH1 0x40 MLOAD PUSH2 0x43E SWAP3 SWAP2 SWAP1 PUSH2 0x101F JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x40 MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 KECCAK256 PUSH2 0x458 SWAP3 SWAP1 SWAP2 PUSH2 0xACA JUMP JUMPDEST POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 PUSH1 0x40 MLOAD PUSH2 0x471 SWAP3 SWAP2 SWAP1 PUSH2 0x101F JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 SWAP1 SUB DUP2 KECCAK256 PUSH1 0x0 SLOAD PUSH32 0x5F6970C300000000000000000000000000000000000000000000000000000000 DUP4 MSTORE SWAP1 SWAP3 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0x5F6970C3 SWAP1 PUSH2 0x4CB SWAP1 DUP12 SWAP1 DUP12 SWAP1 DUP12 SWAP1 DUP12 SWAP1 DUP12 SWAP1 DUP10 SWAP1 PUSH1 0x4 ADD PUSH2 0x1114 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x4E5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x4F9 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x51D SWAP2 SWAP1 PUSH2 0x10B7 JUMP JUMPDEST PUSH2 0x53A JUMPI PUSH1 0x40 MLOAD PUSH4 0x1403112D PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x5B1 DUP8 DUP8 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 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 SWAP3 POP DUP10 SWAP2 POP DUP9 SWAP1 DUP2 SWAP1 DUP5 ADD DUP4 DUP3 DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 SWAP3 ADD SWAP2 SWAP1 SWAP2 MSTORE POP DUP9 SWAP3 POP DUP8 SWAP2 POP PUSH2 0xAC4 SWAP1 POP JUMP JUMPDEST POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x5C7 PUSH1 0x1 DUP7 DUP7 PUSH2 0xACA JUMP JUMPDEST POP PUSH1 0x0 DUP6 DUP6 DUP6 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x5DF SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x1155 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F NOT DUP2 DUP5 SUB ADD DUP2 MSTORE SWAP2 SWAP1 MSTORE SWAP1 POP CALLVALUE ISZERO PUSH2 0x6A4 JUMPI PUSH1 0x4 SLOAD PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0xC62C2002 SWAP1 CALLVALUE SWAP1 ADDRESS SWAP1 DUP12 SWAP1 PUSH1 0x5 SWAP1 PUSH2 0x623 SWAP1 DUP4 SWAP1 PUSH2 0x1182 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x40 MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD DUP2 KECCAK256 PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 PUSH1 0xE0 DUP8 SWAP1 SHL AND DUP3 MSTORE PUSH2 0x671 SWAP4 SWAP3 SWAP2 DUP9 SWAP1 DUP12 SWAP1 DUP12 SWAP1 CALLER SWAP1 PUSH1 0x4 ADD PUSH2 0x123E JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP9 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x68A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x69E JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP POP JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH1 0x40 MLOAD PUSH4 0x49AD89FB PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x935B13F6 SWAP1 PUSH2 0x6D5 SWAP1 DUP8 SWAP1 PUSH1 0x4 ADD PUSH2 0xD52 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x6ED JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x701 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x725 SWAP2 SWAP1 PUSH2 0x12B8 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH32 0x23B872DD00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE CALLER PUSH1 0x4 DUP3 ADD MSTORE ADDRESS PUSH1 0x24 DUP3 ADD MSTORE PUSH1 0x44 DUP2 ADD DUP6 SWAP1 MSTORE SWAP1 SWAP2 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND SWAP1 PUSH4 0x23B872DD SWAP1 PUSH1 0x64 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x78F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x7A3 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x7C7 SWAP2 SWAP1 PUSH2 0x10B7 JUMP JUMPDEST POP PUSH1 0x0 SLOAD PUSH1 0x40 MLOAD PUSH32 0x95EA7B300000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 DUP3 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP2 ADD DUP6 SWAP1 MSTORE SWAP1 DUP3 AND SWAP1 PUSH4 0x95EA7B3 SWAP1 PUSH1 0x44 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x82F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x843 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x867 SWAP2 SWAP1 PUSH2 0x10B7 JUMP JUMPDEST POP PUSH1 0x0 SLOAD PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0xB5417084 SWAP1 DUP11 SWAP1 PUSH1 0x5 SWAP1 PUSH2 0x890 SWAP1 DUP4 SWAP1 PUSH2 0x1182 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x40 MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD DUP2 KECCAK256 PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 PUSH1 0xE0 DUP6 SWAP1 SHL AND DUP3 MSTORE PUSH2 0x8DB SWAP3 SWAP2 DUP8 SWAP1 DUP11 SWAP1 DUP11 SWAP1 PUSH1 0x4 ADD PUSH2 0x12D5 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x8F5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x909 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP POP POP POP POP POP POP POP POP JUMP JUMPDEST DUP1 MLOAD PUSH1 0x20 DUP2 DUP4 ADD DUP2 ADD DUP1 MLOAD PUSH1 0x5 DUP3 MSTORE SWAP3 DUP3 ADD SWAP2 SWAP1 SWAP4 ADD KECCAK256 SWAP2 MSTORE DUP1 SLOAD PUSH2 0x39C SWAP1 PUSH2 0x10D9 JUMP JUMPDEST PUSH1 0x3 DUP1 SLOAD PUSH2 0x39C SWAP1 PUSH2 0x10D9 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x956 DUP5 DUP7 ADD DUP7 PUSH2 0x1335 JUMP JUMPDEST DUP2 MLOAD SWAP1 SWAP3 POP DUP3 SWAP1 PUSH2 0x96E SWAP1 PUSH1 0x1 SWAP1 PUSH1 0x20 DUP6 ADD SWAP1 PUSH2 0xB4E JUMP JUMPDEST POP POP DUP8 MLOAD PUSH2 0x984 SWAP2 POP PUSH1 0x2 SWAP1 PUSH1 0x20 DUP11 ADD SWAP1 PUSH2 0xB4E JUMP JUMPDEST POP DUP6 MLOAD PUSH2 0x998 SWAP1 PUSH1 0x3 SWAP1 PUSH1 0x20 DUP10 ADD SWAP1 PUSH2 0xB4E JUMP JUMPDEST POP PUSH1 0x0 DUP1 SLOAD PUSH1 0x40 MLOAD PUSH4 0x49AD89FB PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0x935B13F6 SWAP1 PUSH2 0x9CA SWAP1 DUP8 SWAP1 PUSH1 0x4 ADD PUSH2 0xD52 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x9E2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x9F6 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xA1A SWAP2 SWAP1 PUSH2 0x12B8 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH32 0xA9059CBB00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 DUP2 AND PUSH1 0x4 DUP4 ADD MSTORE PUSH1 0x24 DUP3 ADD DUP7 SWAP1 MSTORE SWAP2 SWAP3 POP SWAP1 DUP3 AND SWAP1 PUSH4 0xA9059CBB SWAP1 PUSH1 0x44 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0xA81 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0xA95 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0xAB9 SWAP2 SWAP1 PUSH2 0x10B7 JUMP JUMPDEST POP POP POP POP POP POP POP POP POP JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST DUP3 DUP1 SLOAD PUSH2 0xAD6 SWAP1 PUSH2 0x10D9 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 PUSH2 0xAF8 JUMPI PUSH1 0x0 DUP6 SSTORE PUSH2 0xB3E JUMP JUMPDEST DUP3 PUSH1 0x1F LT PUSH2 0xB11 JUMPI DUP3 DUP1 ADD PUSH1 0xFF NOT DUP3 CALLDATALOAD AND OR DUP6 SSTORE PUSH2 0xB3E JUMP JUMPDEST DUP3 DUP1 ADD PUSH1 0x1 ADD DUP6 SSTORE DUP3 ISZERO PUSH2 0xB3E JUMPI SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH2 0xB3E JUMPI DUP3 CALLDATALOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0xB23 JUMP JUMPDEST POP PUSH2 0xB4A SWAP3 SWAP2 POP PUSH2 0xBC2 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST DUP3 DUP1 SLOAD PUSH2 0xB5A SWAP1 PUSH2 0x10D9 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 PUSH2 0xB7C JUMPI PUSH1 0x0 DUP6 SSTORE PUSH2 0xB3E JUMP JUMPDEST DUP3 PUSH1 0x1F LT PUSH2 0xB95 JUMPI DUP1 MLOAD PUSH1 0xFF NOT AND DUP4 DUP1 ADD OR DUP6 SSTORE PUSH2 0xB3E JUMP JUMPDEST DUP3 DUP1 ADD PUSH1 0x1 ADD DUP6 SSTORE DUP3 ISZERO PUSH2 0xB3E JUMPI SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH2 0xB3E JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0xBA7 JUMP JUMPDEST JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0xB4A JUMPI PUSH1 0x0 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0xBC3 JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0xBE9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP DUP2 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xC01 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x20 DUP3 DUP6 ADD ADD GT ISZERO PUSH2 0xC19 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0xC0 DUP12 DUP14 SUB SLT ISZERO PUSH2 0xC3F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP11 CALLDATALOAD SWAP10 POP PUSH1 0x20 DUP12 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0xC5E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xC6A DUP15 DUP4 DUP16 ADD PUSH2 0xBD7 JUMP JUMPDEST SWAP1 SWAP12 POP SWAP10 POP PUSH1 0x40 DUP14 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0xC83 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xC8F DUP15 DUP4 DUP16 ADD PUSH2 0xBD7 JUMP JUMPDEST SWAP1 SWAP10 POP SWAP8 POP PUSH1 0x60 DUP14 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0xCA8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xCB4 DUP15 DUP4 DUP16 ADD PUSH2 0xBD7 JUMP JUMPDEST SWAP1 SWAP8 POP SWAP6 POP PUSH1 0x80 DUP14 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0xCCD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xCDA DUP14 DUP3 DUP15 ADD PUSH2 0xBD7 JUMP JUMPDEST SWAP2 POP DUP1 SWAP5 POP POP DUP1 SWAP3 POP POP PUSH1 0xA0 DUP12 ADD CALLDATALOAD SWAP1 POP SWAP3 SWAP6 SWAP9 SWAP12 SWAP2 SWAP5 SWAP8 SWAP11 POP SWAP3 SWAP6 SWAP9 POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0xD15 JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0xCFD JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0xAC4 JUMPI POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH2 0xD3E DUP2 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP7 ADD PUSH2 0xCFA JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x20 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0xD65 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0xD26 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x40 DUP6 DUP8 SUB SLT ISZERO PUSH2 0xD82 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP5 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0xD9A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xDA6 DUP9 DUP4 DUP10 ADD PUSH2 0xBD7 JUMP JUMPDEST SWAP1 SWAP7 POP SWAP5 POP PUSH1 0x20 DUP8 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0xDBF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xDCC DUP8 DUP3 DUP9 ADD PUSH2 0xBD7 JUMP JUMPDEST SWAP6 SWAP9 SWAP5 SWAP8 POP SWAP6 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x80 DUP9 DUP11 SUB SLT ISZERO PUSH2 0xDF3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP8 CALLDATALOAD SWAP7 POP PUSH1 0x20 DUP9 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0xE12 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xE1E DUP12 DUP4 DUP13 ADD PUSH2 0xBD7 JUMP JUMPDEST SWAP1 SWAP9 POP SWAP7 POP PUSH1 0x40 DUP11 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0xE37 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xE43 DUP12 DUP4 DUP13 ADD PUSH2 0xBD7 JUMP JUMPDEST SWAP1 SWAP7 POP SWAP5 POP PUSH1 0x60 DUP11 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0xE5C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xE69 DUP11 DUP3 DUP12 ADD PUSH2 0xBD7 JUMP JUMPDEST SWAP9 SWAP12 SWAP8 SWAP11 POP SWAP6 SWAP9 POP SWAP4 SWAP7 SWAP3 SWAP6 SWAP3 SWAP4 POP POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0xEA3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0xEBE JUMPI PUSH2 0xEBE PUSH2 0xE7C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP4 ADD PUSH1 0x1F NOT SWAP1 DUP2 AND PUSH1 0x3F ADD AND DUP2 ADD SWAP1 DUP3 DUP3 GT DUP2 DUP4 LT OR ISZERO PUSH2 0xEE6 JUMPI PUSH2 0xEE6 PUSH2 0xE7C JUMP JUMPDEST DUP2 PUSH1 0x40 MSTORE DUP4 DUP2 MSTORE DUP7 PUSH1 0x20 DUP6 DUP9 ADD ADD GT ISZERO PUSH2 0xEFF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 PUSH1 0x20 DUP8 ADD PUSH1 0x20 DUP4 ADD CALLDATACOPY PUSH1 0x0 PUSH1 0x20 DUP6 DUP4 ADD ADD MSTORE DUP1 SWAP5 POP POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0xF34 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0xA0 DUP8 DUP10 SUB SLT ISZERO PUSH2 0xF50 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP7 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0xF68 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xF74 DUP11 DUP4 DUP12 ADD PUSH2 0xE92 JUMP JUMPDEST SWAP8 POP PUSH1 0x20 DUP10 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0xF8A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xF96 DUP11 DUP4 DUP12 ADD PUSH2 0xBD7 JUMP JUMPDEST SWAP1 SWAP8 POP SWAP6 POP PUSH1 0x40 DUP10 ADD CALLDATALOAD SWAP2 POP PUSH2 0xFAB DUP3 PUSH2 0xF1F JUMP JUMPDEST SWAP1 SWAP4 POP PUSH1 0x60 DUP9 ADD CALLDATALOAD SWAP1 DUP1 DUP3 GT ISZERO PUSH2 0xFC1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xFCE DUP10 DUP3 DUP11 ADD PUSH2 0xE92 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x80 DUP8 ADD CALLDATALOAD SWAP1 POP SWAP3 SWAP6 POP SWAP3 SWAP6 POP SWAP3 SWAP6 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xFF4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x100B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1017 DUP5 DUP3 DUP6 ADD PUSH2 0xE92 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST DUP2 DUP4 DUP3 CALLDATACOPY PUSH1 0x0 SWAP2 ADD SWAP1 DUP2 MSTORE SWAP2 SWAP1 POP JUMP JUMPDEST DUP2 DUP4 MSTORE DUP2 DUP2 PUSH1 0x20 DUP6 ADD CALLDATACOPY POP PUSH1 0x0 DUP3 DUP3 ADD PUSH1 0x20 SWAP1 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x1F SWAP1 SWAP2 ADD PUSH1 0x1F NOT AND SWAP1 SWAP2 ADD ADD SWAP1 JUMP JUMPDEST DUP10 DUP2 MSTORE PUSH1 0xC0 PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x0 PUSH2 0x1072 PUSH1 0xC0 DUP4 ADD DUP11 DUP13 PUSH2 0x102F JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x40 DUP5 ADD MSTORE PUSH2 0x1085 DUP2 DUP10 DUP12 PUSH2 0x102F JUMP JUMPDEST SWAP1 POP DUP7 PUSH1 0x60 DUP5 ADD MSTORE DUP3 DUP2 SUB PUSH1 0x80 DUP5 ADD MSTORE PUSH2 0x10A0 DUP2 DUP7 DUP9 PUSH2 0x102F JUMP JUMPDEST SWAP2 POP POP DUP3 PUSH1 0xA0 DUP4 ADD MSTORE SWAP11 SWAP10 POP POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x10C9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0xD65 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0x10ED JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH2 0x110E 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 DUP7 DUP2 MSTORE PUSH1 0x80 PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x0 PUSH2 0x112E PUSH1 0x80 DUP4 ADD DUP8 DUP10 PUSH2 0x102F JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x40 DUP5 ADD MSTORE PUSH2 0x1141 DUP2 DUP7 DUP9 PUSH2 0x102F JUMP JUMPDEST SWAP2 POP POP DUP3 PUSH1 0x60 DUP4 ADD MSTORE SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x40 DUP2 MSTORE PUSH1 0x0 PUSH2 0x1169 PUSH1 0x40 DUP4 ADD DUP6 DUP8 PUSH2 0x102F JUMP JUMPDEST SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x20 DUP4 ADD MSTORE SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 MLOAD PUSH2 0x1194 DUP2 DUP5 PUSH1 0x20 DUP8 ADD PUSH2 0xCFA JUMP JUMPDEST SWAP2 SWAP1 SWAP2 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST DUP1 SLOAD PUSH1 0x0 SWAP1 PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP1 DUP4 AND DUP1 PUSH2 0x11B8 JUMPI PUSH1 0x7F DUP4 AND SWAP3 POP JUMPDEST PUSH1 0x20 DUP1 DUP5 LT DUP3 EQ ISZERO PUSH2 0x11DA JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP4 DUP9 MSTORE PUSH1 0x20 DUP9 ADD DUP3 DUP1 ISZERO PUSH2 0x11F5 JUMPI PUSH1 0x1 DUP2 EQ PUSH2 0x1206 JUMPI PUSH2 0x1231 JUMP JUMPDEST PUSH1 0xFF NOT DUP8 AND DUP3 MSTORE DUP3 DUP3 ADD SWAP8 POP PUSH2 0x1231 JUMP JUMPDEST PUSH1 0x0 DUP10 DUP2 MSTORE PUSH1 0x20 SWAP1 KECCAK256 PUSH1 0x0 JUMPDEST DUP8 DUP2 LT ISZERO PUSH2 0x122B JUMPI DUP2 SLOAD DUP5 DUP3 ADD MSTORE SWAP1 DUP7 ADD SWAP1 DUP5 ADD PUSH2 0x1212 JUMP JUMPDEST DUP4 ADD SWAP9 POP POP JUMPDEST POP POP POP POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP11 AND DUP4 MSTORE PUSH1 0xE0 PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x1261 PUSH1 0xE0 DUP5 ADD DUP11 PUSH2 0xD26 JUMP JUMPDEST DUP4 DUP2 SUB PUSH1 0x40 DUP6 ADD MSTORE PUSH2 0x1273 DUP2 DUP11 PUSH2 0x119E JUMP JUMPDEST SWAP1 POP DUP4 DUP2 SUB PUSH1 0x60 DUP6 ADD MSTORE PUSH2 0x1287 DUP2 DUP10 PUSH2 0xD26 JUMP JUMPDEST SWAP1 POP DUP4 DUP2 SUB PUSH1 0x80 DUP6 ADD MSTORE PUSH2 0x129B DUP2 DUP9 PUSH2 0xD26 JUMP JUMPDEST PUSH1 0xA0 DUP6 ADD SWAP7 SWAP1 SWAP7 MSTORE POP SWAP3 SWAP1 SWAP3 AND PUSH1 0xC0 SWAP1 SWAP2 ADD MSTORE POP SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x12CA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0xD65 DUP2 PUSH2 0xF1F JUMP JUMPDEST PUSH1 0xA0 DUP2 MSTORE PUSH1 0x0 PUSH2 0x12E8 PUSH1 0xA0 DUP4 ADD DUP9 PUSH2 0xD26 JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x12FA DUP2 DUP9 PUSH2 0x119E JUMP JUMPDEST SWAP1 POP DUP3 DUP2 SUB PUSH1 0x40 DUP5 ADD MSTORE PUSH2 0x130E DUP2 DUP8 PUSH2 0xD26 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 SUB PUSH1 0x60 DUP5 ADD MSTORE PUSH2 0x1322 DUP2 DUP7 PUSH2 0xD26 JUMP JUMPDEST SWAP2 POP POP DUP3 PUSH1 0x80 DUP4 ADD MSTORE SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1348 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x135F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x136B DUP6 DUP3 DUP7 ADD PUSH2 0xE92 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH2 0x137C DUP2 PUSH2 0xF1F JUMP JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 TIMESTAMP RETURNDATASIZE 0xF6 DELEGATECALL DIFFICULTY PUSH23 0xD4F6856A92B73B23F593E5B063BEE8ACAAE6CAD055AE2B SHL PUSH7 0xBC64736F6C6343 STOP ADDMOD MULMOD STOP CALLER ", - "sourceMap": "384:2277:33:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;190:29:17;;;;;;;;;;-1:-1:-1;190:29:17;;;;-1:-1:-1;;;;;190:29:17;;;;;;-1:-1:-1;;;;;201:55:34;;;183:74;;171:2;156:18;190:29:17;;;;;;;;724:546;;;;;;;;;;-1:-1:-1;724:546:17;;;;;:::i;:::-;;:::i;:::-;;465:25:33;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;440:19::-;;;;;;;;;;;;;:::i;855:123::-;;;;;;;;;;-1:-1:-1;855:123:33;;;;;:::i;:::-;;:::i;313:405:17:-;;;;;;;;;;-1:-1:-1;313:405:17;;;;;:::i;:::-;;:::i;529:36:33:-;;;;;;;;;;-1:-1:-1;529:36:33;;;;-1:-1:-1;;;;;529:36:33;;;1076:891;;;;;;:::i;:::-;;:::i;571:41::-;;;;;;;;;;-1:-1:-1;571:41:33;;;;;:::i;:::-;;:::i;496:27::-;;;;;;;;;;;;;:::i;724:546:17:-;971:19;1003:7;;993:18;;;;;;;:::i;:::-;;;;;;;;;1026:7;;:108;;;993:18;;-1:-1:-1;;;;;;1026:7:17;;:35;;:108;;1062:9;;1073:11;;;;1086:13;;;;993:18;;1114:11;;;;1127:6;;1026:108;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1021:156;;1155:22;;-1:-1:-1;;;1155:22:17;;;;;;;;;;;1021:156;1188:75;1206:11;;1188:75;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1188:75:17;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1219:13:17;;-1:-1:-1;1219:13:17;;;;1188:75;;1219:13;;;;1188:75;;;;;;;;;-1:-1:-1;;1188:75:17;;;;;;;;;;;;;;;;;;;;;;1234:7;;-1:-1:-1;1234:7:17;;-1:-1:-1;1188:75:17;1243:11;;;;;;1188:75;;1243:11;;;;1188:75;;;;;;;;;-1:-1:-1;1256:6:17;;-1:-1:-1;1188:17:17;;-1:-1:-1;;1188:75:17:i;:::-;961:309;724:546;;;;;;;;;;:::o;465:25:33:-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;440:19::-;;;;;;;:::i;855:123::-;963:8;;944;953:6;;944:16;;;;;;;:::i;:::-;;;;;;;;;;;;;;:27;;:16;;:27;:::i;:::-;;855:123;;;;:::o;313:405:17:-;490:19;522:7;;512:18;;;;;;;:::i;:::-;;;;;;;;;545:7;;:80;;;512:18;;-1:-1:-1;;;;;;545:7:17;;:28;;:80;;574:9;;585:11;;;;598:13;;;;512:18;;545:80;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;540:116;;634:22;;-1:-1:-1;;;634:22:17;;;;;;;;;;;540:116;666:45;675:11;;666:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;666:45:17;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;688:13:17;;-1:-1:-1;688:13:17;;;;666:45;;688:13;;;;666:45;;;;;;;;;-1:-1:-1;703:7:17;;-1:-1:-1;703:7:17;;-1:-1:-1;666:8:17;;-1:-1:-1;666:45:17:i;:::-;480:238;313:405;;;;;;;:::o;1076:891:33:-;1280:14;:5;1288:6;;1280:14;:::i;:::-;;1304:20;1338:6;;1346:18;1327:38;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;1327:38:33;;;;;;;;;;-1:-1:-1;1379:9:33;:13;1375:314;;1408:11;;1548:15;;-1:-1:-1;;;;;1408:11:33;;;;:48;;1465:9;;1502:4;;1525:5;;1548:8;;:15;;1525:5;;1548:15;:::i;:::-;;;;;;;;;;;;;;1408:270;;;;;;;;;;;;1581:7;;1606:6;;1630;;1654:10;;1408:270;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1375:314;1698:13;1714:7;;:30;;-1:-1:-1;;;1714:30:33;;-1:-1:-1;;;;;1714:7:33;;;;:22;;:30;;1737:6;;1714:30;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1754:61;;;;;1781:10;1754:61;;;13877:34:34;1801:4:33;13927:18:34;;;13920:43;13979:18;;;13972:34;;;1698:46:33;;-1:-1:-1;;;;;;1754:26:33;;;;;13789:18:34;;1754:61:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;1855:7:33;;1825:47;;;;;-1:-1:-1;;;;;1855:7:33;;;1825:47;;;14191:74:34;14281:18;;;14274:34;;;1825:21:33;;;;;;14164:18:34;;1825:47:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;1882:7:33;;1919:15;;-1:-1:-1;;;;;1882:7:33;;;;:29;;1912:5;;1919:8;;:15;;1912:5;;1919:15;:::i;:::-;;;;;;;;;;;;;;1882:78;;;;;;;;;;;1936:7;;1945:6;;1953;;1882:78;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1270:697;;1076:891;;;;;;:::o;571:41::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;496:27::-;;;;;;;:::i;2133:526::-;2355:26;2421:39;;;;2432:8;2421:39;:::i;:::-;2391:69;;;;-1:-1:-1;2391:69:33;;;;2392:5;;2391:69;;;;;:::i;:::-;-1:-1:-1;;2470:26:33;;;;-1:-1:-1;2470:11:33;;:26;;;;;:::i;:::-;-1:-1:-1;2506:30:33;;;;:13;;:30;;;;;:::i;:::-;-1:-1:-1;2546:13:33;2562:7;;:30;;-1:-1:-1;;;2562:30:33;;-1:-1:-1;;;;;2562:7:33;;;;:22;;:30;;2585:6;;2562:30;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2602:50;;;;;-1:-1:-1;;;;;14209:55:34;;;2602:50:33;;;14191:74:34;14281:18;;;14274:34;;;2546:46:33;;-1:-1:-1;2602:22:33;;;;;;14164:18:34;;2602:50:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;2345:314;;2133:526;;;;;;:::o;1276:147:17:-;;;;;:::o;-1:-1:-1:-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;268:348:34;320:8;330:6;384:3;377:4;369:6;365:17;361:27;351:55;;402:1;399;392:12;351:55;-1:-1:-1;425:20:34;;468:18;457:30;;454:50;;;500:1;497;490:12;454:50;537:4;529:6;525:17;513:29;;589:3;582:4;573:6;565;561:19;557:30;554:39;551:59;;;606:1;603;596:12;551:59;268:348;;;;;:::o;621:1437::-;772:6;780;788;796;804;812;820;828;836;844;897:3;885:9;876:7;872:23;868:33;865:53;;;914:1;911;904:12;865:53;950:9;937:23;927:33;;1011:2;1000:9;996:18;983:32;1034:18;1075:2;1067:6;1064:14;1061:34;;;1091:1;1088;1081:12;1061:34;1130:59;1181:7;1172:6;1161:9;1157:22;1130:59;:::i;:::-;1208:8;;-1:-1:-1;1104:85:34;-1:-1:-1;1296:2:34;1281:18;;1268:32;;-1:-1:-1;1312:16:34;;;1309:36;;;1341:1;1338;1331:12;1309:36;1380:61;1433:7;1422:8;1411:9;1407:24;1380:61;:::i;:::-;1460:8;;-1:-1:-1;1354:87:34;-1:-1:-1;1548:2:34;1533:18;;1520:32;;-1:-1:-1;1564:16:34;;;1561:36;;;1593:1;1590;1583:12;1561:36;1632:61;1685:7;1674:8;1663:9;1659:24;1632:61;:::i;:::-;1712:8;;-1:-1:-1;1606:87:34;-1:-1:-1;1800:3:34;1785:19;;1772:33;;-1:-1:-1;1817:16:34;;;1814:36;;;1846:1;1843;1836:12;1814:36;;1885:61;1938:7;1927:8;1916:9;1912:24;1885:61;:::i;:::-;1859:87;;1965:8;1955:18;;;1992:8;1982:18;;;2047:3;2036:9;2032:19;2019:33;2009:43;;621:1437;;;;;;;;;;;;;:::o;2218:258::-;2290:1;2300:113;2314:6;2311:1;2308:13;2300:113;;;2390:11;;;2384:18;2371:11;;;2364:39;2336:2;2329:10;2300:113;;;2431:6;2428:1;2425:13;2422:48;;;-1:-1:-1;;2466:1:34;2448:16;;2441:27;2218:258::o;2481:::-;2523:3;2561:5;2555:12;2588:6;2583:3;2576:19;2604:63;2660:6;2653:4;2648:3;2644:14;2637:4;2630:5;2626:16;2604:63;:::i;:::-;2721:2;2700:15;-1:-1:-1;;2696:29:34;2687:39;;;;2728:4;2683:50;;2481:258;-1:-1:-1;;2481:258:34:o;2744:220::-;2893:2;2882:9;2875:21;2856:4;2913:45;2954:2;2943:9;2939:18;2931:6;2913:45;:::i;:::-;2905:53;2744:220;-1:-1:-1;;;2744:220:34:o;2969:721::-;3061:6;3069;3077;3085;3138:2;3126:9;3117:7;3113:23;3109:32;3106:52;;;3154:1;3151;3144:12;3106:52;3194:9;3181:23;3223:18;3264:2;3256:6;3253:14;3250:34;;;3280:1;3277;3270:12;3250:34;3319:59;3370:7;3361:6;3350:9;3346:22;3319:59;:::i;:::-;3397:8;;-1:-1:-1;3293:85:34;-1:-1:-1;3485:2:34;3470:18;;3457:32;;-1:-1:-1;3501:16:34;;;3498:36;;;3530:1;3527;3520:12;3498:36;;3569:61;3622:7;3611:8;3600:9;3596:24;3569:61;:::i;:::-;2969:721;;;;-1:-1:-1;3649:8:34;-1:-1:-1;;;;2969:721:34:o;3695:1078::-;3816:6;3824;3832;3840;3848;3856;3864;3917:3;3905:9;3896:7;3892:23;3888:33;3885:53;;;3934:1;3931;3924:12;3885:53;3970:9;3957:23;3947:33;;4031:2;4020:9;4016:18;4003:32;4054:18;4095:2;4087:6;4084:14;4081:34;;;4111:1;4108;4101:12;4081:34;4150:59;4201:7;4192:6;4181:9;4177:22;4150:59;:::i;:::-;4228:8;;-1:-1:-1;4124:85:34;-1:-1:-1;4316:2:34;4301:18;;4288:32;;-1:-1:-1;4332:16:34;;;4329:36;;;4361:1;4358;4351:12;4329:36;4400:61;4453:7;4442:8;4431:9;4427:24;4400:61;:::i;:::-;4480:8;;-1:-1:-1;4374:87:34;-1:-1:-1;4568:2:34;4553:18;;4540:32;;-1:-1:-1;4584:16:34;;;4581:36;;;4613:1;4610;4603:12;4581:36;;4652:61;4705:7;4694:8;4683:9;4679:24;4652:61;:::i;:::-;3695:1078;;;;-1:-1:-1;3695:1078:34;;-1:-1:-1;3695:1078:34;;;;4626:87;;-1:-1:-1;;;3695:1078:34:o;5035:184::-;-1:-1:-1;;;5084:1:34;5077:88;5184:4;5181:1;5174:15;5208:4;5205:1;5198:15;5224:719;5267:5;5320:3;5313:4;5305:6;5301:17;5297:27;5287:55;;5338:1;5335;5328:12;5287:55;5374:6;5361:20;5400:18;5437:2;5433;5430:10;5427:36;;;5443:18;;:::i;:::-;5518:2;5512:9;5486:2;5572:13;;-1:-1:-1;;5568:22:34;;;5592:2;5564:31;5560:40;5548:53;;;5616:18;;;5636:22;;;5613:46;5610:72;;;5662:18;;:::i;:::-;5702:10;5698:2;5691:22;5737:2;5729:6;5722:18;5783:3;5776:4;5771:2;5763:6;5759:15;5755:26;5752:35;5749:55;;;5800:1;5797;5790:12;5749:55;5864:2;5857:4;5849:6;5845:17;5838:4;5830:6;5826:17;5813:54;5911:1;5904:4;5899:2;5891:6;5887:15;5883:26;5876:37;5931:6;5922:15;;;;;;5224:719;;;;:::o;5948:154::-;-1:-1:-1;;;;;6027:5:34;6023:54;6016:5;6013:65;6003:93;;6092:1;6089;6082:12;6003:93;5948:154;:::o;6107:1037::-;6234:6;6242;6250;6258;6266;6274;6327:3;6315:9;6306:7;6302:23;6298:33;6295:53;;;6344:1;6341;6334:12;6295:53;6384:9;6371:23;6413:18;6454:2;6446:6;6443:14;6440:34;;;6470:1;6467;6460:12;6440:34;6493:50;6535:7;6526:6;6515:9;6511:22;6493:50;:::i;:::-;6483:60;;6596:2;6585:9;6581:18;6568:32;6552:48;;6625:2;6615:8;6612:16;6609:36;;;6641:1;6638;6631:12;6609:36;6680:61;6733:7;6722:8;6711:9;6707:24;6680:61;:::i;:::-;6760:8;;-1:-1:-1;6654:87:34;-1:-1:-1;6845:2:34;6830:18;;6817:32;;-1:-1:-1;6858:31:34;6817:32;6858:31;:::i;:::-;6908:5;;-1:-1:-1;6966:2:34;6951:18;;6938:32;;6982:16;;;6979:36;;;7011:1;7008;7001:12;6979:36;;7034:52;7078:7;7067:8;7056:9;7052:24;7034:52;:::i;:::-;7024:62;;;7133:3;7122:9;7118:19;7105:33;7095:43;;6107:1037;;;;;;;;:::o;7149:322::-;7218:6;7271:2;7259:9;7250:7;7246:23;7242:32;7239:52;;;7287:1;7284;7277:12;7239:52;7327:9;7314:23;7360:18;7352:6;7349:30;7346:50;;;7392:1;7389;7382:12;7346:50;7415;7457:7;7448:6;7437:9;7433:22;7415:50;:::i;:::-;7405:60;7149:322;-1:-1:-1;;;;7149:322:34:o;7476:271::-;7659:6;7651;7646:3;7633:33;7615:3;7685:16;;7710:13;;;7685:16;7476:271;-1:-1:-1;7476:271:34:o;7752:267::-;7841:6;7836:3;7829:19;7893:6;7886:5;7879:4;7874:3;7870:14;7857:43;-1:-1:-1;7945:1:34;7920:16;;;7938:4;7916:27;;;7909:38;;;;8001:2;7980:15;;;-1:-1:-1;;7976:29:34;7967:39;;;7963:50;;7752:267::o;8024:844::-;8383:6;8372:9;8365:25;8426:3;8421:2;8410:9;8406:18;8399:31;8346:4;8453:63;8511:3;8500:9;8496:19;8488:6;8480;8453:63;:::i;:::-;8564:9;8556:6;8552:22;8547:2;8536:9;8532:18;8525:50;8598;8641:6;8633;8625;8598:50;:::i;:::-;8584:64;;8684:6;8679:2;8668:9;8664:18;8657:34;8740:9;8732:6;8728:22;8722:3;8711:9;8707:19;8700:51;8768:50;8811:6;8803;8795;8768:50;:::i;:::-;8760:58;;;8855:6;8849:3;8838:9;8834:19;8827:35;8024:844;;;;;;;;;;;;:::o;8873:277::-;8940:6;8993:2;8981:9;8972:7;8968:23;8964:32;8961:52;;;9009:1;9006;8999:12;8961:52;9041:9;9035:16;9094:5;9087:13;9080:21;9073:5;9070:32;9060:60;;9116:1;9113;9106:12;9155:437;9234:1;9230:12;;;;9277;;;9298:61;;9352:4;9344:6;9340:17;9330:27;;9298:61;9405:2;9397:6;9394:14;9374:18;9371:38;9368:218;;;-1:-1:-1;;;9439:1:34;9432:88;9543:4;9540:1;9533:15;9571:4;9568:1;9561:15;9368:218;;9155:437;;;:::o;9875:581::-;10148:6;10137:9;10130:25;10191:3;10186:2;10175:9;10171:18;10164:31;10111:4;10218:63;10276:3;10265:9;10261:19;10253:6;10245;10218:63;:::i;:::-;10329:9;10321:6;10317:22;10312:2;10301:9;10297:18;10290:50;10357;10400:6;10392;10384;10357:50;:::i;:::-;10349:58;;;10443:6;10438:2;10427:9;10423:18;10416:34;9875:581;;;;;;;;;:::o;10461:367::-;10648:2;10637:9;10630:21;10611:4;10668:62;10726:2;10715:9;10711:18;10703:6;10695;10668:62;:::i;:::-;10660:70;;-1:-1:-1;;;;;10770:6:34;10766:55;10761:2;10750:9;10746:18;10739:83;10461:367;;;;;;:::o;10833:276::-;10964:3;11002:6;10996:13;11018:53;11064:6;11059:3;11052:4;11044:6;11040:17;11018:53;:::i;:::-;11087:16;;;;;10833:276;-1:-1:-1;;10833:276:34:o;11240:1099::-;11325:12;;11290:3;;11380:1;11400:18;;;;11453;;;;11480:61;;11534:4;11526:6;11522:17;11512:27;;11480:61;11560:2;11608;11600:6;11597:14;11577:18;11574:38;11571:218;;;-1:-1:-1;;;11642:1:34;11635:88;11746:4;11743:1;11736:15;11774:4;11771:1;11764:15;11571:218;2150:19;;;2202:4;2193:14;;11875:18;11902:104;;;;12020:1;12015:318;;;;11868:465;;11902:104;-1:-1:-1;;11937:24:34;;11923:39;;11982:14;;;;-1:-1:-1;11902:104:34;;12015:318;11187:1;11180:14;;;11224:4;11211:18;;12109:1;12123:167;12137:6;12134:1;12131:13;12123:167;;;12217:14;;12202:13;;;12195:37;12260:16;;;;12152:10;;12123:167;;;12310:13;;;-1:-1:-1;;11868:465:34;;;;;;;;11240:1099;;;;:::o;12344:1009::-;12679:4;-1:-1:-1;;;;;12789:2:34;12781:6;12777:15;12766:9;12759:34;12829:3;12824:2;12813:9;12809:18;12802:31;12856:46;12897:3;12886:9;12882:19;12874:6;12856:46;:::i;:::-;12950:9;12942:6;12938:22;12933:2;12922:9;12918:18;12911:50;12984:41;13018:6;13010;12984:41;:::i;:::-;12970:55;;13073:9;13065:6;13061:22;13056:2;13045:9;13041:18;13034:50;13107:33;13133:6;13125;13107:33;:::i;:::-;13093:47;;13189:9;13181:6;13177:22;13171:3;13160:9;13156:19;13149:51;13217:33;13243:6;13235;13217:33;:::i;:::-;13281:3;13266:19;;13259:35;;;;-1:-1:-1;13331:15:34;;;;13325:3;13310:19;;;13303:44;-1:-1:-1;13209:41:34;12344:1009;-1:-1:-1;;;;;12344:1009:34:o;13358:251::-;13428:6;13481:2;13469:9;13460:7;13456:23;13452:32;13449:52;;;13497:1;13494;13487:12;13449:52;13529:9;13523:16;13548:31;13573:5;13548:31;:::i;14319:786::-;14635:3;14624:9;14617:22;14598:4;14662:46;14703:3;14692:9;14688:19;14680:6;14662:46;:::i;:::-;14756:9;14748:6;14744:22;14739:2;14728:9;14724:18;14717:50;14790:41;14824:6;14816;14790:41;:::i;:::-;14776:55;;14879:9;14871:6;14867:22;14862:2;14851:9;14847:18;14840:50;14913:33;14939:6;14931;14913:33;:::i;:::-;14899:47;;14994:9;14986:6;14982:22;14977:2;14966:9;14962:18;14955:50;15022:33;15048:6;15040;15022:33;:::i;:::-;15014:41;;;15092:6;15086:3;15075:9;15071:19;15064:35;14319:786;;;;;;;;:::o;15110:465::-;15196:6;15204;15257:2;15245:9;15236:7;15232:23;15228:32;15225:52;;;15273:1;15270;15263:12;15225:52;15313:9;15300:23;15346:18;15338:6;15335:30;15332:50;;;15378:1;15375;15368:12;15332:50;15401;15443:7;15434:6;15423:9;15419:22;15401:50;:::i;:::-;15391:60;;;15501:2;15490:9;15486:18;15473:32;15514:31;15539:5;15514:31;:::i;:::-;15564:5;15554:15;;;15110:465;;;;;:::o" - }, - "methodIdentifiers": { - "addSibling(string,string)": "45b48eb9", - "execute(bytes32,string,string,bytes)": "49160658", - "executeWithToken(bytes32,string,string,bytes,string,uint256)": "1a98b2e0", - "gasReceiver()": "80d14b4a", - "gateway()": "116191b6", - "setAndSend(string,string,address,string,uint256)": "89471c94", - "siblings(string)": "a7798b69", - "sourceAddress()": "b0fa8444", - "sourceChain()": "1c6ffa46", - "value()": "3fa4f245" - } - }, - "metadata": "{\"compiler\":{\"version\":\"0.8.9+commit.e5eed63a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"gateway_\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"gasReceiver_\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"NotApprovedByGateway\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"chain_\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"address_\",\"type\":\"string\"}],\"name\":\"addSibling\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"commandId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"sourceChain\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"sourceAddress\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"payload\",\"type\":\"bytes\"}],\"name\":\"execute\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"commandId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"sourceChain\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"sourceAddress\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"payload\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"tokenSymbol\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"executeWithToken\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"gasReceiver\",\"outputs\":[{\"internalType\":\"contract IAxelarGasService\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"gateway\",\"outputs\":[{\"internalType\":\"contract IAxelarGateway\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"chain\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"value_\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"destinationAddress\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"setAndSend\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"siblings\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"sourceAddress\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"sourceChain\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"value\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/contracts/test/ExecutableWithToken.sol\":\"ExecutableWithToken\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1000},\"remappings\":[]},\"sources\":{\"@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarExecutable.sol\":{\"keccak256\":\"0xda06c5d3145ef8848d9b90ede90ec1017efa93aea976f3da4dc267a424cdc9f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://896bdfcb40209eb4d49ff1f96658e6d4e2001ec8e58984764974fc7b2ac3e8f4\",\"dweb:/ipfs/QmeAmpyxfdxY1auBXMNL1DL5wZrLeZCEaXnrB9UFHZMKpX\"]},\"@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarGasService.sol\":{\"keccak256\":\"0x4b334fc7688935dce33cdedca89d8cfd90dd49fef79c7f7c04d3c34b5b7a4a25\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ccce823d074846bb19c41a1576d290ec5dca5f9ec1069b7719aef6a03372ee5d\",\"dweb:/ipfs/QmZGnfVm2FEp7qxyQxgBQWKhCKVVaYtya5NX3EwqAe8B3M\"]},\"@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarGateway.sol\":{\"keccak256\":\"0x1ab75989d0869cf2b919b82aec52e75b1cd34395dcf78d99a6d852eb46432462\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://35d3164de1eba58778bb57c9495056e933551cde899ab2e4326dccf00c137e93\",\"dweb:/ipfs/QmYqH4jvacF3fuRqGhXZ1cLzkuBhBwp4qtNdV4uoa2NivG\"]},\"@axelar-network/axelar-cgp-solidity/contracts/interfaces/IERC20.sol\":{\"keccak256\":\"0x018cf796d80d65945fa85fa4fb49d926481ffe9316564ea251ee14836d661635\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://677295d77a7b45e0d06fc389f859bb39e1175e16a75e141f0ce06743258178d3\",\"dweb:/ipfs/QmdoJiu5PJ6D3NcZVGHVGCFVW8WkQbTdqok1AoTcG3NmYR\"]},\"@axelar-network/axelar-cgp-solidity/contracts/interfaces/IUpgradable.sol\":{\"keccak256\":\"0x47d64169b4d38921c7ee78feecc75f3eb48246d28a5c6a5f24a1ab1d7031e344\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://56ab6a5e6464a29afff81cb57fdbb812c5574b545b549535427c2371950389fc\",\"dweb:/ipfs/QmW1joAce7d54PnP7RjWKVrvsqGMDHozELLFEKC1A6ctNe\"]},\"src/contracts/test/ExecutableWithToken.sol\":{\"keccak256\":\"0x1ab0f71324ff12b6fd5f3a8e0f774ac564592b3bd676999b952f842ef535ad66\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bcbbc427a396b764a3f7e98efb237f4264f080f629c0ee0d8fc8d0f6afbdbf9b\",\"dweb:/ipfs/QmWQP2Y9XrMQusUeSdDgf2npEMtuseqffufoyFSpRez2YE\"]}},\"version\":1}" - } - } - }, - "sources": { - "@axelar-network/axelar-cgp-solidity/contracts/AdminMultisigBase.sol": { - "ast": { - "absolutePath": "@axelar-network/axelar-cgp-solidity/contracts/AdminMultisigBase.sol", - "exportedSymbols": { - "AdminMultisigBase": [ - 585 - ], - "EternalStorage": [ - 4294 - ] - }, - "id": 586, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1, - "literals": [ - "solidity", - "0.8", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "33:22:0" - }, - { - "absolutePath": "@axelar-network/axelar-cgp-solidity/contracts/EternalStorage.sol", - "file": "./EternalStorage.sol", - "id": 3, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 586, - "sourceUnit": 4295, - "src": "57:54:0", - "symbolAliases": [ - { - "foreign": { - "id": 2, - "name": "EternalStorage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "src": "66:14:0", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "baseName": { - "id": 4, - "name": "EternalStorage", - "nodeType": "IdentifierPath", - "referencedDeclaration": 4294, - "src": "143:14:0" - }, - "id": 5, - "nodeType": "InheritanceSpecifier", - "src": "143:14:0" - } - ], - "canonicalName": "AdminMultisigBase", - "contractDependencies": [], - "contractKind": "contract", - "fullyImplemented": true, - "id": 585, - "linearizedBaseContracts": [ - 585, - 4294 - ], - "name": "AdminMultisigBase", - "nameLocation": "122:17:0", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 7, - "name": "NotAdmin", - "nameLocation": "170:8:0", - "nodeType": "ErrorDefinition", - "parameters": { - "id": 6, - "nodeType": "ParameterList", - "parameters": [], - "src": "178:2:0" - }, - "src": "164:17:0" - }, - { - "id": 9, - "name": "AlreadyVoted", - "nameLocation": "192:12:0", - "nodeType": "ErrorDefinition", - "parameters": { - "id": 8, - "nodeType": "ParameterList", - "parameters": [], - "src": "204:2:0" - }, - "src": "186:21:0" - }, - { - "id": 11, - "name": "InvalidAdmins", - "nameLocation": "218:13:0", - "nodeType": "ErrorDefinition", - "parameters": { - "id": 10, - "nodeType": "ParameterList", - "parameters": [], - "src": "231:2:0" - }, - "src": "212:22:0" - }, - { - "id": 13, - "name": "InvalidAdminThreshold", - "nameLocation": "245:21:0", - "nodeType": "ErrorDefinition", - "parameters": { - "id": 12, - "nodeType": "ParameterList", - "parameters": [], - "src": "266:2:0" - }, - "src": "239:30:0" - }, - { - "id": 17, - "name": "DuplicateAdmin", - "nameLocation": "280:14:0", - "nodeType": "ErrorDefinition", - "parameters": { - "id": 16, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 15, - "mutability": "mutable", - "name": "admin", - "nameLocation": "303:5:0", - "nodeType": "VariableDeclaration", - "scope": 17, - "src": "295:13:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 14, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "295:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "294:15:0" - }, - "src": "274:36:0" - }, - { - "constant": true, - "id": 22, - "mutability": "constant", - "name": "KEY_ADMIN_EPOCH", - "nameLocation": "412:15:0", - "nodeType": "VariableDeclaration", - "scope": 585, - "src": "386:68:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 18, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "386:7:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "arguments": [ - { - "hexValue": "61646d696e2d65706f6368", - "id": 20, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "440:13:0", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_d51dc9b187568bb94760866e1d0d066ca470037d2d331afb1a02ec74bfb8990c", - "typeString": "literal_string \"admin-epoch\"" - }, - "value": "admin-epoch" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_d51dc9b187568bb94760866e1d0d066ca470037d2d331afb1a02ec74bfb8990c", - "typeString": "literal_string \"admin-epoch\"" - } - ], - "id": 19, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "430:9:0", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 21, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "430:24:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 27, - "mutability": "constant", - "name": "PREFIX_ADMIN", - "nameLocation": "487:12:0", - "nodeType": "VariableDeclaration", - "scope": 585, - "src": "461:59:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 23, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "461:7:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "arguments": [ - { - "hexValue": "61646d696e", - "id": 25, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "512:7:0", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_f23ec0bb4210edd5cba85afd05127efcd2fc6a781bfed49188da1081670b22d8", - "typeString": "literal_string \"admin\"" - }, - "value": "admin" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_f23ec0bb4210edd5cba85afd05127efcd2fc6a781bfed49188da1081670b22d8", - "typeString": "literal_string \"admin\"" - } - ], - "id": 24, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "502:9:0", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 26, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "502:18:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 32, - "mutability": "constant", - "name": "PREFIX_ADMIN_COUNT", - "nameLocation": "552:18:0", - "nodeType": "VariableDeclaration", - "scope": 585, - "src": "526:71:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 28, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "526:7:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "arguments": [ - { - "hexValue": "61646d696e2d636f756e74", - "id": 30, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "583:13:0", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_05112ef894367de1270cfae12afcd2285c225830eb8f74e7e938f721bb510cba", - "typeString": "literal_string \"admin-count\"" - }, - "value": "admin-count" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_05112ef894367de1270cfae12afcd2285c225830eb8f74e7e938f721bb510cba", - "typeString": "literal_string \"admin-count\"" - } - ], - "id": 29, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "573:9:0", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 31, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "573:24:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 37, - "mutability": "constant", - "name": "PREFIX_ADMIN_THRESHOLD", - "nameLocation": "629:22:0", - "nodeType": "VariableDeclaration", - "scope": 585, - "src": "603:79:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 33, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "603:7:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "arguments": [ - { - "hexValue": "61646d696e2d7468726573686f6c64", - "id": 35, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "664:17:0", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_79bd914addd90bd67ad800bf0230bb85ffdef5aeba5fd8249f116d3f17f4fb4b", - "typeString": "literal_string \"admin-threshold\"" - }, - "value": "admin-threshold" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_79bd914addd90bd67ad800bf0230bb85ffdef5aeba5fd8249f116d3f17f4fb4b", - "typeString": "literal_string \"admin-threshold\"" - } - ], - "id": 34, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "654:9:0", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 36, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "654:28:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 42, - "mutability": "constant", - "name": "PREFIX_ADMIN_VOTE_COUNTS", - "nameLocation": "714:24:0", - "nodeType": "VariableDeclaration", - "scope": 585, - "src": "688:83:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 38, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "688:7:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "arguments": [ - { - "hexValue": "61646d696e2d766f74652d636f756e7473", - "id": 40, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "751:19:0", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_baea1c6c0f16a0a340b10a9e980806696a68ddbb5e8361fd64630dd21abf515f", - "typeString": "literal_string \"admin-vote-counts\"" - }, - "value": "admin-vote-counts" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_baea1c6c0f16a0a340b10a9e980806696a68ddbb5e8361fd64630dd21abf515f", - "typeString": "literal_string \"admin-vote-counts\"" - } - ], - "id": 39, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "741:9:0", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 41, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "741:30:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 47, - "mutability": "constant", - "name": "PREFIX_ADMIN_VOTED", - "nameLocation": "803:18:0", - "nodeType": "VariableDeclaration", - "scope": 585, - "src": "777:71:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 43, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "777:7:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "arguments": [ - { - "hexValue": "61646d696e2d766f746564", - "id": 45, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "834:13:0", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_3ced7a8caf1111e0fbf4b784c5b41aebd0f2389d9f2f64d5c3424aeed3adbd3c", - "typeString": "literal_string \"admin-voted\"" - }, - "value": "admin-voted" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_3ced7a8caf1111e0fbf4b784c5b41aebd0f2389d9f2f64d5c3424aeed3adbd3c", - "typeString": "literal_string \"admin-voted\"" - } - ], - "id": 44, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "824:9:0", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 46, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "824:24:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 52, - "mutability": "constant", - "name": "PREFIX_IS_ADMIN", - "nameLocation": "880:15:0", - "nodeType": "VariableDeclaration", - "scope": 585, - "src": "854:65:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 48, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "854:7:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "arguments": [ - { - "hexValue": "69732d61646d696e", - "id": 50, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "908:10:0", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_63fa879cb478fddf1de08d49e29115fb768866711bc799ff9ab419a7f16c9afb", - "typeString": "literal_string \"is-admin\"" - }, - "value": "is-admin" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_63fa879cb478fddf1de08d49e29115fb768866711bc799ff9ab419a7f16c9afb", - "typeString": "literal_string \"is-admin\"" - } - ], - "id": 49, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "898:9:0", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 51, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "898:21:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "body": { - "id": 156, - "nodeType": "Block", - "src": "1059:1026:0", - "statements": [ - { - "assignments": [ - 55 - ], - "declarations": [ - { - "constant": false, - "id": 55, - "mutability": "mutable", - "name": "adminEpoch", - "nameLocation": "1077:10:0", - "nodeType": "VariableDeclaration", - "scope": 156, - "src": "1069:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 54, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1069:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 58, - "initialValue": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 56, - "name": "_adminEpoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 278, - "src": "1090:11:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 57, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1090:13:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1069:34:0" - }, - { - "condition": { - "id": 64, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "1118:33:0", - "subExpression": { - "arguments": [ - { - "id": 60, - "name": "adminEpoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 55, - "src": "1128:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "id": 61, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1140:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 62, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "1140:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 59, - "name": "_isAdmin", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 377, - "src": "1119:8:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_address_$returns$_t_bool_$", - "typeString": "function (uint256,address) view returns (bool)" - } - }, - "id": 63, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1119:32:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 68, - "nodeType": "IfStatement", - "src": "1114:56:0", - "trueBody": { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 65, - "name": "NotAdmin", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7, - "src": "1160:8:0", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 66, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1160:10:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 67, - "nodeType": "RevertStatement", - "src": "1153:17:0" - } - }, - { - "assignments": [ - 70 - ], - "declarations": [ - { - "constant": false, - "id": 70, - "mutability": "mutable", - "name": "topic", - "nameLocation": "1189:5:0", - "nodeType": "VariableDeclaration", - "scope": 156, - "src": "1181:13:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 69, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1181:7:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "id": 75, - "initialValue": { - "arguments": [ - { - "expression": { - "id": 72, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1207:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 73, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "data", - "nodeType": "MemberAccess", - "src": "1207:8:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - ], - "id": 71, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "1197:9:0", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 74, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1197:19:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1181:35:0" - }, - { - "condition": { - "arguments": [ - { - "id": 77, - "name": "adminEpoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 55, - "src": "1318:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 78, - "name": "topic", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 70, - "src": "1330:5:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "expression": { - "id": 79, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1337:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 80, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "1337:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 76, - "name": "_hasVoted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 360, - "src": "1308:9:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_bytes32_$_t_address_$returns$_t_bool_$", - "typeString": "function (uint256,bytes32,address) view returns (bool)" - } - }, - "id": 81, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1308:40:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 85, - "nodeType": "IfStatement", - "src": "1304:67:0", - "trueBody": { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 82, - "name": "AlreadyVoted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9, - "src": "1357:12:0", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 83, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1357:14:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 84, - "nodeType": "RevertStatement", - "src": "1350:21:0" - } - }, - { - "expression": { - "arguments": [ - { - "id": 87, - "name": "adminEpoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 55, - "src": "1395:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 88, - "name": "topic", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 70, - "src": "1407:5:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "expression": { - "id": 89, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1414:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 90, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "1414:10:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "hexValue": "74727565", - "id": 91, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1426:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 86, - "name": "_setHasVoted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 566, - "src": "1382:12:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_bytes32_$_t_address_$_t_bool_$returns$__$", - "typeString": "function (uint256,bytes32,address,bool)" - } - }, - "id": 92, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1382:49:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 93, - "nodeType": "ExpressionStatement", - "src": "1382:49:0" - }, - { - "assignments": [ - 95 - ], - "declarations": [ - { - "constant": false, - "id": 95, - "mutability": "mutable", - "name": "adminVoteCount", - "nameLocation": "1505:14:0", - "nodeType": "VariableDeclaration", - "scope": 156, - "src": "1497:22:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 94, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1497:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 105, - "initialValue": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 104, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [ - { - "id": 97, - "name": "adminEpoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 55, - "src": "1536:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 98, - "name": "topic", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 70, - "src": "1548:5:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 96, - "name": "_getVoteCount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 340, - "src": "1522:13:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_bytes32_$returns$_t_uint256_$", - "typeString": "function (uint256,bytes32) view returns (uint256)" - } - }, - "id": 99, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1522:32:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "arguments": [ - { - "hexValue": "31", - "id": 102, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1565:1:0", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - } - ], - "id": 101, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1557:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 100, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1557:7:0", - "typeDescriptions": {} - } - }, - "id": 103, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1557:10:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1522:45:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1497:70:0" - }, - { - "expression": { - "arguments": [ - { - "id": 107, - "name": "adminEpoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 55, - "src": "1591:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 108, - "name": "topic", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 70, - "src": "1603:5:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 109, - "name": "adminVoteCount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 95, - "src": "1610:14:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 106, - "name": "_setVoteCount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 545, - "src": "1577:13:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_bytes32_$_t_uint256_$returns$__$", - "typeString": "function (uint256,bytes32,uint256)" - } - }, - "id": 110, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1577:48:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 111, - "nodeType": "ExpressionStatement", - "src": "1577:48:0" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 116, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 112, - "name": "adminVoteCount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 95, - "src": "1714:14:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "arguments": [ - { - "id": 114, - "name": "adminEpoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 55, - "src": "1750:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 113, - "name": "_getAdminThreshold", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 323, - "src": "1731:18:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) view returns (uint256)" - } - }, - "id": 115, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1731:30:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1714:47:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 118, - "nodeType": "IfStatement", - "src": "1710:60:0", - "trueBody": { - "id": 117, - "nodeType": "Return", - "src": "1763:7:0" - } - }, - { - "id": 119, - "nodeType": "PlaceholderStatement", - "src": "1780:1:0" - }, - { - "expression": { - "arguments": [ - { - "id": 121, - "name": "adminEpoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 55, - "src": "1854:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 122, - "name": "topic", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 70, - "src": "1866:5:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "arguments": [ - { - "hexValue": "30", - "id": 125, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1881:1:0", - "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": 124, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1873:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 123, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1873:7:0", - "typeDescriptions": {} - } - }, - "id": 126, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1873:10:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 120, - "name": "_setVoteCount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 545, - "src": "1840:13:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_bytes32_$_t_uint256_$returns$__$", - "typeString": "function (uint256,bytes32,uint256)" - } - }, - "id": 127, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1840:44:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 128, - "nodeType": "ExpressionStatement", - "src": "1840:44:0" - }, - { - "assignments": [ - 130 - ], - "declarations": [ - { - "constant": false, - "id": 130, - "mutability": "mutable", - "name": "adminCount", - "nameLocation": "1903:10:0", - "nodeType": "VariableDeclaration", - "scope": 156, - "src": "1895:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 129, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1895:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 134, - "initialValue": { - "arguments": [ - { - "id": 132, - "name": "adminEpoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 55, - "src": "1931:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 131, - "name": "_getAdminCount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 309, - "src": "1916:14:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) view returns (uint256)" - } - }, - "id": 133, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1916:26:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1895:47:0" - }, - { - "body": { - "id": 154, - "nodeType": "Block", - "src": "1990:89:0", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 145, - "name": "adminEpoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 55, - "src": "2017:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 146, - "name": "topic", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 70, - "src": "2029:5:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "arguments": [ - { - "id": 148, - "name": "adminEpoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 55, - "src": "2046:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 149, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 136, - "src": "2058:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 147, - "name": "_getAdmin", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 295, - "src": "2036:9:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_address_$", - "typeString": "function (uint256,uint256) view returns (address)" - } - }, - "id": 150, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2036:24:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "hexValue": "66616c7365", - "id": 151, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2062:5:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 144, - "name": "_setHasVoted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 566, - "src": "2004:12:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_bytes32_$_t_address_$_t_bool_$returns$__$", - "typeString": "function (uint256,bytes32,address,bool)" - } - }, - "id": 152, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2004:64:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 153, - "nodeType": "ExpressionStatement", - "src": "2004:64:0" - } - ] - }, - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 140, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 138, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 136, - "src": "1969:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "id": 139, - "name": "adminCount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 130, - "src": "1973:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1969:14:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 155, - "initializationExpression": { - "assignments": [ - 136 - ], - "declarations": [ - { - "constant": false, - "id": 136, - "mutability": "mutable", - "name": "i", - "nameLocation": "1966:1:0", - "nodeType": "VariableDeclaration", - "scope": 155, - "src": "1958:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 135, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1958:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 137, - "nodeType": "VariableDeclarationStatement", - "src": "1958:9:0" - }, - "loopExpression": { - "expression": { - "id": 142, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": true, - "src": "1985:3:0", - "subExpression": { - "id": 141, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 136, - "src": "1987:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 143, - "nodeType": "ExpressionStatement", - "src": "1985:3:0" - }, - "nodeType": "ForStatement", - "src": "1953:126:0" - } - ] - }, - "id": 157, - "name": "onlyAdmin", - "nameLocation": "1047:9:0", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 53, - "nodeType": "ParameterList", - "parameters": [], - "src": "1056:2:0" - }, - "src": "1038:1047:0", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 175, - "nodeType": "Block", - "src": "2262:84:0", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "id": 169, - "name": "PREFIX_ADMIN", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27, - "src": "2306:12:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 170, - "name": "adminEpoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 159, - "src": "2320:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 171, - "name": "index", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 161, - "src": "2332:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 167, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "2289:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 168, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "src": "2289:16:0", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 172, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2289:49:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 166, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "2279:9:0", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 173, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2279:60:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "functionReturnParameters": 165, - "id": 174, - "nodeType": "Return", - "src": "2272:67:0" - } - ] - }, - "id": 176, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_getAdminKey", - "nameLocation": "2182:12:0", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 162, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 159, - "mutability": "mutable", - "name": "adminEpoch", - "nameLocation": "2203:10:0", - "nodeType": "VariableDeclaration", - "scope": 176, - "src": "2195:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 158, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2195:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 161, - "mutability": "mutable", - "name": "index", - "nameLocation": "2223:5:0", - "nodeType": "VariableDeclaration", - "scope": 176, - "src": "2215:13:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 160, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2215:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2194:35:0" - }, - "returnParameters": { - "id": 165, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 164, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 176, - "src": "2253:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 163, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2253:7:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "2252:9:0" - }, - "scope": 585, - "src": "2173:173:0", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 191, - "nodeType": "Block", - "src": "2431:83:0", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "id": 186, - "name": "PREFIX_ADMIN_COUNT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 32, - "src": "2475:18:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 187, - "name": "adminEpoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 178, - "src": "2495:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 184, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "2458:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 185, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "src": "2458:16:0", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 188, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2458:48:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 183, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "2448:9:0", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 189, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2448:59:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "functionReturnParameters": 182, - "id": 190, - "nodeType": "Return", - "src": "2441:66:0" - } - ] - }, - "id": 192, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_getAdminCountKey", - "nameLocation": "2361:17:0", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 179, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 178, - "mutability": "mutable", - "name": "adminEpoch", - "nameLocation": "2387:10:0", - "nodeType": "VariableDeclaration", - "scope": 192, - "src": "2379:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 177, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2379:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2378:20:0" - }, - "returnParameters": { - "id": 182, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 181, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 192, - "src": "2422:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 180, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2422:7:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "2421:9:0" - }, - "scope": 585, - "src": "2352:162:0", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 207, - "nodeType": "Block", - "src": "2603:87:0", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "id": 202, - "name": "PREFIX_ADMIN_THRESHOLD", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 37, - "src": "2647:22:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 203, - "name": "adminEpoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 194, - "src": "2671:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 200, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "2630:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 201, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "src": "2630:16:0", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 204, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2630:52:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 199, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "2620:9:0", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 205, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2620:63:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "functionReturnParameters": 198, - "id": 206, - "nodeType": "Return", - "src": "2613:70:0" - } - ] - }, - "id": 208, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_getAdminThresholdKey", - "nameLocation": "2529:21:0", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 195, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 194, - "mutability": "mutable", - "name": "adminEpoch", - "nameLocation": "2559:10:0", - "nodeType": "VariableDeclaration", - "scope": 208, - "src": "2551:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 193, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2551:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2550:20:0" - }, - "returnParameters": { - "id": 198, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 197, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 208, - "src": "2594:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 196, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2594:7:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "2593:9:0" - }, - "scope": 585, - "src": "2520:170:0", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 226, - "nodeType": "Block", - "src": "2795:96:0", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "id": 220, - "name": "PREFIX_ADMIN_VOTE_COUNTS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 42, - "src": "2839:24:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 221, - "name": "adminEpoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 210, - "src": "2865:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 222, - "name": "topic", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 212, - "src": "2877:5:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "id": 218, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "2822:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 219, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "src": "2822:16:0", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 223, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2822:61:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 217, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "2812:9:0", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 224, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2812:72:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "functionReturnParameters": 216, - "id": 225, - "nodeType": "Return", - "src": "2805:79:0" - } - ] - }, - "id": 227, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_getAdminVoteCountsKey", - "nameLocation": "2705:22:0", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 213, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 210, - "mutability": "mutable", - "name": "adminEpoch", - "nameLocation": "2736:10:0", - "nodeType": "VariableDeclaration", - "scope": 227, - "src": "2728:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 209, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2728:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 212, - "mutability": "mutable", - "name": "topic", - "nameLocation": "2756:5:0", - "nodeType": "VariableDeclaration", - "scope": 227, - "src": "2748:13:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 211, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2748:7:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "2727:35:0" - }, - "returnParameters": { - "id": 216, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 215, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 227, - "src": "2786:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 214, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2786:7:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "2785:9:0" - }, - "scope": 585, - "src": "2696:195:0", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 248, - "nodeType": "Block", - "src": "3038:99:0", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "id": 241, - "name": "PREFIX_ADMIN_VOTED", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 47, - "src": "3082:18:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 242, - "name": "adminEpoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 229, - "src": "3102:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 243, - "name": "topic", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 231, - "src": "3114:5:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 244, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 233, - "src": "3121:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "id": 239, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "3065:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 240, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "src": "3065:16:0", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 245, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3065:64:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 238, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "3055:9:0", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 246, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3055:75:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "functionReturnParameters": 237, - "id": 247, - "nodeType": "Return", - "src": "3048:82:0" - } - ] - }, - "id": 249, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_getAdminVotedKey", - "nameLocation": "2906:17:0", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 234, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 229, - "mutability": "mutable", - "name": "adminEpoch", - "nameLocation": "2941:10:0", - "nodeType": "VariableDeclaration", - "scope": 249, - "src": "2933:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 228, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2933:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 231, - "mutability": "mutable", - "name": "topic", - "nameLocation": "2969:5:0", - "nodeType": "VariableDeclaration", - "scope": 249, - "src": "2961:13:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 230, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2961:7:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 233, - "mutability": "mutable", - "name": "account", - "nameLocation": "2992:7:0", - "nodeType": "VariableDeclaration", - "scope": 249, - "src": "2984:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 232, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2984:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "2923:82:0" - }, - "returnParameters": { - "id": 237, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 236, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 249, - "src": "3029:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 235, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "3029:7:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "3028:9:0" - }, - "scope": 585, - "src": "2897:240:0", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 267, - "nodeType": "Block", - "src": "3236:89:0", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "id": 261, - "name": "PREFIX_IS_ADMIN", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 52, - "src": "3280:15:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 262, - "name": "adminEpoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 251, - "src": "3297:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 263, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 253, - "src": "3309:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "id": 259, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "3263:3:0", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 260, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "src": "3263:16:0", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 264, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3263:54:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 258, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "3253:9:0", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 265, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3253:65:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "functionReturnParameters": 257, - "id": 266, - "nodeType": "Return", - "src": "3246:72:0" - } - ] - }, - "id": 268, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_getIsAdminKey", - "nameLocation": "3152:14:0", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 254, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 251, - "mutability": "mutable", - "name": "adminEpoch", - "nameLocation": "3175:10:0", - "nodeType": "VariableDeclaration", - "scope": 268, - "src": "3167:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 250, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3167:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 253, - "mutability": "mutable", - "name": "account", - "nameLocation": "3195:7:0", - "nodeType": "VariableDeclaration", - "scope": 268, - "src": "3187:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 252, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3187:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "3166:37:0" - }, - "returnParameters": { - "id": 257, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 256, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 268, - "src": "3227:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 255, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "3227:7:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "3226:9:0" - }, - "scope": 585, - "src": "3143:182:0", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 277, - "nodeType": "Block", - "src": "3441:48:0", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 274, - "name": "KEY_ADMIN_EPOCH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22, - "src": "3466:15:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 273, - "name": "getUint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4083, - "src": "3458:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", - "typeString": "function (bytes32) view returns (uint256)" - } - }, - "id": 275, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3458:24:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 272, - "id": 276, - "nodeType": "Return", - "src": "3451:31:0" - } - ] - }, - "id": 278, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_adminEpoch", - "nameLocation": "3395:11:0", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 269, - "nodeType": "ParameterList", - "parameters": [], - "src": "3406:2:0" - }, - "returnParameters": { - "id": 272, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 271, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 278, - "src": "3432:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 270, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3432:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3431:9:0" - }, - "scope": 585, - "src": "3386:103:0", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 294, - "nodeType": "Block", - "src": "3581:67:0", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "id": 289, - "name": "adminEpoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 280, - "src": "3622:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 290, - "name": "index", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 282, - "src": "3634:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 288, - "name": "_getAdminKey", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 176, - "src": "3609:12:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_bytes32_$", - "typeString": "function (uint256,uint256) pure returns (bytes32)" - } - }, - "id": 291, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3609:31:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 287, - "name": "getAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4107, - "src": "3598:10:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_address_$", - "typeString": "function (bytes32) view returns (address)" - } - }, - "id": 292, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3598:43:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "functionReturnParameters": 286, - "id": 293, - "nodeType": "Return", - "src": "3591:50:0" - } - ] - }, - "id": 295, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_getAdmin", - "nameLocation": "3504:9:0", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 283, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 280, - "mutability": "mutable", - "name": "adminEpoch", - "nameLocation": "3522:10:0", - "nodeType": "VariableDeclaration", - "scope": 295, - "src": "3514:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 279, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3514:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 282, - "mutability": "mutable", - "name": "index", - "nameLocation": "3542:5:0", - "nodeType": "VariableDeclaration", - "scope": 295, - "src": "3534:13:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 281, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3534:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3513:35:0" - }, - "returnParameters": { - "id": 286, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 285, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 295, - "src": "3572:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 284, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3572:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "3571:9:0" - }, - "scope": 585, - "src": "3495:153:0", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 308, - "nodeType": "Block", - "src": "3730:62:0", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "id": 304, - "name": "adminEpoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 297, - "src": "3773:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 303, - "name": "_getAdminCountKey", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 192, - "src": "3755:17:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_bytes32_$", - "typeString": "function (uint256) pure returns (bytes32)" - } - }, - "id": 305, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3755:29:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 302, - "name": "getUint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4083, - "src": "3747:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", - "typeString": "function (bytes32) view returns (uint256)" - } - }, - "id": 306, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3747:38:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 301, - "id": 307, - "nodeType": "Return", - "src": "3740:45:0" - } - ] - }, - "id": 309, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_getAdminCount", - "nameLocation": "3663:14:0", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 298, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 297, - "mutability": "mutable", - "name": "adminEpoch", - "nameLocation": "3686:10:0", - "nodeType": "VariableDeclaration", - "scope": 309, - "src": "3678:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 296, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3678:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3677:20:0" - }, - "returnParameters": { - "id": 301, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 300, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 309, - "src": "3721:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 299, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3721:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3720:9:0" - }, - "scope": 585, - "src": "3654:138:0", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 322, - "nodeType": "Block", - "src": "3878:66:0", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "id": 318, - "name": "adminEpoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 311, - "src": "3925:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 317, - "name": "_getAdminThresholdKey", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 208, - "src": "3903:21:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_bytes32_$", - "typeString": "function (uint256) pure returns (bytes32)" - } - }, - "id": 319, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3903:33:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 316, - "name": "getUint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4083, - "src": "3895:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", - "typeString": "function (bytes32) view returns (uint256)" - } - }, - "id": 320, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3895:42:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 315, - "id": 321, - "nodeType": "Return", - "src": "3888:49:0" - } - ] - }, - "id": 323, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_getAdminThreshold", - "nameLocation": "3807:18:0", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 312, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 311, - "mutability": "mutable", - "name": "adminEpoch", - "nameLocation": "3834:10:0", - "nodeType": "VariableDeclaration", - "scope": 323, - "src": "3826:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 310, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3826:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3825:20:0" - }, - "returnParameters": { - "id": 315, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 314, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 323, - "src": "3869:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 313, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3869:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3868:9:0" - }, - "scope": 585, - "src": "3798:146:0", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 339, - "nodeType": "Block", - "src": "4040:74:0", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "id": 334, - "name": "adminEpoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 325, - "src": "4088:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 335, - "name": "topic", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 327, - "src": "4100:5:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 333, - "name": "_getAdminVoteCountsKey", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 227, - "src": "4065:22:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_bytes32_$returns$_t_bytes32_$", - "typeString": "function (uint256,bytes32) pure returns (bytes32)" - } - }, - "id": 336, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4065:41:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 332, - "name": "getUint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4083, - "src": "4057:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", - "typeString": "function (bytes32) view returns (uint256)" - } - }, - "id": 337, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4057:50:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 331, - "id": 338, - "nodeType": "Return", - "src": "4050:57:0" - } - ] - }, - "id": 340, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_getVoteCount", - "nameLocation": "3959:13:0", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 328, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 325, - "mutability": "mutable", - "name": "adminEpoch", - "nameLocation": "3981:10:0", - "nodeType": "VariableDeclaration", - "scope": 340, - "src": "3973:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 324, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3973:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 327, - "mutability": "mutable", - "name": "topic", - "nameLocation": "4001:5:0", - "nodeType": "VariableDeclaration", - "scope": 340, - "src": "3993:13:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 326, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "3993:7:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "3972:35:0" - }, - "returnParameters": { - "id": 331, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 330, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 340, - "src": "4031:7:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 329, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4031:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "4030:9:0" - }, - "scope": 585, - "src": "3950:164:0", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 359, - "nodeType": "Block", - "src": "4250:78:0", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "id": 353, - "name": "adminEpoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 342, - "src": "4293:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 354, - "name": "topic", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 344, - "src": "4305:5:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 355, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 346, - "src": "4312:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 352, - "name": "_getAdminVotedKey", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 249, - "src": "4275:17:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_bytes32_$_t_address_$returns$_t_bytes32_$", - "typeString": "function (uint256,bytes32,address) pure returns (bytes32)" - } - }, - "id": 356, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4275:45:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 351, - "name": "getBool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4131, - "src": "4267:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", - "typeString": "function (bytes32) view returns (bool)" - } - }, - "id": 357, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4267:54:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 350, - "id": 358, - "nodeType": "Return", - "src": "4260:61:0" - } - ] - }, - "id": 360, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_hasVoted", - "nameLocation": "4129:9:0", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 347, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 342, - "mutability": "mutable", - "name": "adminEpoch", - "nameLocation": "4156:10:0", - "nodeType": "VariableDeclaration", - "scope": 360, - "src": "4148:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 341, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4148:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 344, - "mutability": "mutable", - "name": "topic", - "nameLocation": "4184:5:0", - "nodeType": "VariableDeclaration", - "scope": 360, - "src": "4176:13:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 343, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "4176:7:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 346, - "mutability": "mutable", - "name": "account", - "nameLocation": "4207:7:0", - "nodeType": "VariableDeclaration", - "scope": 360, - "src": "4199:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 345, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4199:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "4138:82:0" - }, - "returnParameters": { - "id": 350, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 349, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 360, - "src": "4244:4:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 348, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "4244:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "4243:6:0" - }, - "scope": 585, - "src": "4120:208:0", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 376, - "nodeType": "Block", - "src": "4418:68:0", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "id": 371, - "name": "adminEpoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 362, - "src": "4458:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 372, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 364, - "src": "4470:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 370, - "name": "_getIsAdminKey", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 268, - "src": "4443:14:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_address_$returns$_t_bytes32_$", - "typeString": "function (uint256,address) pure returns (bytes32)" - } - }, - "id": 373, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4443:35:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 369, - "name": "getBool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4131, - "src": "4435:7:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", - "typeString": "function (bytes32) view returns (bool)" - } - }, - "id": 374, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4435:44:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 368, - "id": 375, - "nodeType": "Return", - "src": "4428:51:0" - } - ] - }, - "id": 377, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_isAdmin", - "nameLocation": "4343:8:0", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 365, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 362, - "mutability": "mutable", - "name": "adminEpoch", - "nameLocation": "4360:10:0", - "nodeType": "VariableDeclaration", - "scope": 377, - "src": "4352:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 361, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4352:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 364, - "mutability": "mutable", - "name": "account", - "nameLocation": "4380:7:0", - "nodeType": "VariableDeclaration", - "scope": 377, - "src": "4372:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 363, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4372:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "4351:37:0" - }, - "returnParameters": { - "id": 368, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 367, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 377, - "src": "4412:4:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 366, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "4412:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "4411:6:0" - }, - "scope": 585, - "src": "4334:152:0", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 387, - "nodeType": "Block", - "src": "4600:54:0", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 383, - "name": "KEY_ADMIN_EPOCH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 22, - "src": "4619:15:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 384, - "name": "adminEpoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 379, - "src": "4636:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 382, - "name": "_setUint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4157, - "src": "4610:8:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_uint256_$returns$__$", - "typeString": "function (bytes32,uint256)" - } - }, - "id": 385, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4610:37:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 386, - "nodeType": "ExpressionStatement", - "src": "4610:37:0" - } - ] - }, - "id": 388, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_setAdminEpoch", - "nameLocation": "4556:14:0", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 380, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 379, - "mutability": "mutable", - "name": "adminEpoch", - "nameLocation": "4579:10:0", - "nodeType": "VariableDeclaration", - "scope": 388, - "src": "4571:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 378, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4571:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "4570:20:0" - }, - "returnParameters": { - "id": 381, - "nodeType": "ParameterList", - "parameters": [], - "src": "4600:0:0" - }, - "scope": 585, - "src": "4547:107:0", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 405, - "nodeType": "Block", - "src": "4770:70:0", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "id": 399, - "name": "adminEpoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 390, - "src": "4805:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 400, - "name": "index", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 392, - "src": "4817:5:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 398, - "name": "_getAdminKey", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 176, - "src": "4792:12:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_bytes32_$", - "typeString": "function (uint256,uint256) pure returns (bytes32)" - } - }, - "id": 401, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4792:31:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 402, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 394, - "src": "4825:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 397, - "name": "_setAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4185, - "src": "4780:11:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (bytes32,address)" - } - }, - "id": 403, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4780:53:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 404, - "nodeType": "ExpressionStatement", - "src": "4780:53:0" - } - ] - }, - "id": 406, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_setAdmin", - "nameLocation": "4669:9:0", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 395, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 390, - "mutability": "mutable", - "name": "adminEpoch", - "nameLocation": "4696:10:0", - "nodeType": "VariableDeclaration", - "scope": 406, - "src": "4688:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 389, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4688:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 392, - "mutability": "mutable", - "name": "index", - "nameLocation": "4724:5:0", - "nodeType": "VariableDeclaration", - "scope": 406, - "src": "4716:13:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 391, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4716:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 394, - "mutability": "mutable", - "name": "account", - "nameLocation": "4747:7:0", - "nodeType": "VariableDeclaration", - "scope": 406, - "src": "4739:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 393, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4739:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "4678:82:0" - }, - "returnParameters": { - "id": 396, - "nodeType": "ParameterList", - "parameters": [], - "src": "4770:0:0" - }, - "scope": 585, - "src": "4660:180:0", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 420, - "nodeType": "Block", - "src": "4919:68:0", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "id": 415, - "name": "adminEpoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 408, - "src": "4956:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 414, - "name": "_getAdminCountKey", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 192, - "src": "4938:17:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_bytes32_$", - "typeString": "function (uint256) pure returns (bytes32)" - } - }, - "id": 416, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4938:29:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 417, - "name": "adminCount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 410, - "src": "4969:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 413, - "name": "_setUint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4157, - "src": "4929:8:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_uint256_$returns$__$", - "typeString": "function (bytes32,uint256)" - } - }, - "id": 418, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4929:51:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 419, - "nodeType": "ExpressionStatement", - "src": "4929:51:0" - } - ] - }, - "id": 421, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_setAdminCount", - "nameLocation": "4855:14:0", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 411, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 408, - "mutability": "mutable", - "name": "adminEpoch", - "nameLocation": "4878:10:0", - "nodeType": "VariableDeclaration", - "scope": 421, - "src": "4870:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 407, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4870:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 410, - "mutability": "mutable", - "name": "adminCount", - "nameLocation": "4898:10:0", - "nodeType": "VariableDeclaration", - "scope": 421, - "src": "4890:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 409, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4890:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "4869:40:0" - }, - "returnParameters": { - "id": 412, - "nodeType": "ParameterList", - "parameters": [], - "src": "4919:0:0" - }, - "scope": 585, - "src": "4846:141:0", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 511, - "nodeType": "Block", - "src": "5118:835:0", - "statements": [ - { - "assignments": [ - 432 - ], - "declarations": [ - { - "constant": false, - "id": 432, - "mutability": "mutable", - "name": "adminLength", - "nameLocation": "5136:11:0", - "nodeType": "VariableDeclaration", - "scope": 511, - "src": "5128:19:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 431, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5128:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 435, - "initialValue": { - "expression": { - "id": 433, - "name": "accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 426, - "src": "5150:8:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 434, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "src": "5150:15:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5128:37:0" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 438, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 436, - "name": "adminLength", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 432, - "src": "5180:11:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "id": 437, - "name": "threshold", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 428, - "src": "5194:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5180:23:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 442, - "nodeType": "IfStatement", - "src": "5176:51:0", - "trueBody": { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 439, - "name": "InvalidAdmins", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11, - "src": "5212:13:0", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 440, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5212:15:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 441, - "nodeType": "RevertStatement", - "src": "5205:22:0" - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 448, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 443, - "name": "threshold", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 428, - "src": "5242:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 446, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5263:1:0", - "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": 445, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "5255:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 444, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5255:7:0", - "typeDescriptions": {} - } - }, - "id": 447, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5255:10:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5242:23:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 452, - "nodeType": "IfStatement", - "src": "5238:59:0", - "trueBody": { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 449, - "name": "InvalidAdminThreshold", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13, - "src": "5274:21:0", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 450, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5274:23:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 451, - "nodeType": "RevertStatement", - "src": "5267:30:0" - } - }, - { - "expression": { - "arguments": [ - { - "id": 454, - "name": "adminEpoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 423, - "src": "5327:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 455, - "name": "threshold", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 428, - "src": "5339:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 453, - "name": "_setAdminThreshold", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 527, - "src": "5308:18:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (uint256,uint256)" - } - }, - "id": 456, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5308:41:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 457, - "nodeType": "ExpressionStatement", - "src": "5308:41:0" - }, - { - "expression": { - "arguments": [ - { - "id": 459, - "name": "adminEpoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 423, - "src": "5374:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 460, - "name": "adminLength", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 432, - "src": "5386:11:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 458, - "name": "_setAdminCount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 421, - "src": "5359:14:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (uint256,uint256)" - } - }, - "id": 461, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5359:39:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 462, - "nodeType": "ExpressionStatement", - "src": "5359:39:0" - }, - { - "body": { - "id": 509, - "nodeType": "Block", - "src": "5447:500:0", - "statements": [ - { - "assignments": [ - 473 - ], - "declarations": [ - { - "constant": false, - "id": 473, - "mutability": "mutable", - "name": "account", - "nameLocation": "5469:7:0", - "nodeType": "VariableDeclaration", - "scope": 509, - "src": "5461:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 472, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5461:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "id": 477, - "initialValue": { - "baseExpression": { - "id": 474, - "name": "accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 426, - "src": "5479:8:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 476, - "indexExpression": { - "id": 475, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 464, - "src": "5488:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5479:11:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5461:29:0" - }, - { - "condition": { - "arguments": [ - { - "id": 479, - "name": "adminEpoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 423, - "src": "5603:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 480, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 473, - "src": "5615:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 478, - "name": "_isAdmin", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 377, - "src": "5594:8:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_address_$returns$_t_bool_$", - "typeString": "function (uint256,address) view returns (bool)" - } - }, - "id": 481, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5594:29:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 486, - "nodeType": "IfStatement", - "src": "5590:65:0", - "trueBody": { - "errorCall": { - "arguments": [ - { - "id": 483, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 473, - "src": "5647:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 482, - "name": "DuplicateAdmin", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17, - "src": "5632:14:0", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$_t_address_$returns$__$", - "typeString": "function (address) pure" - } - }, - "id": 484, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5632:23:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 485, - "nodeType": "RevertStatement", - "src": "5625:30:0" - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 492, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 487, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 473, - "src": "5674:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 490, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5693:1:0", - "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": 489, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "5685:7:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 488, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5685:7:0", - "typeDescriptions": {} - } - }, - "id": 491, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5685:10:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "5674:21:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 496, - "nodeType": "IfStatement", - "src": "5670:49:0", - "trueBody": { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 493, - "name": "InvalidAdmins", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11, - "src": "5704:13:0", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 494, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5704:15:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 495, - "nodeType": "RevertStatement", - "src": "5697:22:0" - } - }, - { - "expression": { - "arguments": [ - { - "id": 498, - "name": "adminEpoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 423, - "src": "5861:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 499, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 464, - "src": "5873:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 500, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 473, - "src": "5876:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 497, - "name": "_setAdmin", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 406, - "src": "5851:9:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_address_$returns$__$", - "typeString": "function (uint256,uint256,address)" - } - }, - "id": 501, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5851:33:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 502, - "nodeType": "ExpressionStatement", - "src": "5851:33:0" - }, - { - "expression": { - "arguments": [ - { - "id": 504, - "name": "adminEpoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 423, - "src": "5910:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 505, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 473, - "src": "5922:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "hexValue": "74727565", - "id": 506, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5931:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 503, - "name": "_setIsAdmin", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 584, - "src": "5898:11:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_address_$_t_bool_$returns$__$", - "typeString": "function (uint256,address,bool)" - } - }, - "id": 507, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5898:38:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 508, - "nodeType": "ExpressionStatement", - "src": "5898:38:0" - } - ] - }, - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 468, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 466, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 464, - "src": "5425:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "id": 467, - "name": "adminLength", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 432, - "src": "5429:11:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5425:15:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 510, - "initializationExpression": { - "assignments": [ - 464 - ], - "declarations": [ - { - "constant": false, - "id": 464, - "mutability": "mutable", - "name": "i", - "nameLocation": "5422:1:0", - "nodeType": "VariableDeclaration", - "scope": 510, - "src": "5414:9:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 463, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5414:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 465, - "nodeType": "VariableDeclarationStatement", - "src": "5414:9:0" - }, - "loopExpression": { - "expression": { - "id": 470, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": true, - "src": "5442:3:0", - "subExpression": { - "id": 469, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 464, - "src": "5444:1:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 471, - "nodeType": "ExpressionStatement", - "src": "5442:3:0" - }, - "nodeType": "ForStatement", - "src": "5409:538:0" - } - ] - }, - "id": 512, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_setAdmins", - "nameLocation": "5002:10:0", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 429, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 423, - "mutability": "mutable", - "name": "adminEpoch", - "nameLocation": "5030:10:0", - "nodeType": "VariableDeclaration", - "scope": 512, - "src": "5022:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 422, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5022:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 426, - "mutability": "mutable", - "name": "accounts", - "nameLocation": "5067:8:0", - "nodeType": "VariableDeclaration", - "scope": 512, - "src": "5050:25:0", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 424, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5050:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 425, - "nodeType": "ArrayTypeName", - "src": "5050:9:0", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 428, - "mutability": "mutable", - "name": "threshold", - "nameLocation": "5093:9:0", - "nodeType": "VariableDeclaration", - "scope": 512, - "src": "5085:17:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 427, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5085:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "5012:96:0" - }, - "returnParameters": { - "id": 430, - "nodeType": "ParameterList", - "parameters": [], - "src": "5118:0:0" - }, - "scope": 585, - "src": "4993:960:0", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 526, - "nodeType": "Block", - "src": "6040:76:0", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "id": 521, - "name": "adminEpoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 514, - "src": "6081:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 520, - "name": "_getAdminThresholdKey", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 208, - "src": "6059:21:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_bytes32_$", - "typeString": "function (uint256) pure returns (bytes32)" - } - }, - "id": 522, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6059:33:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 523, - "name": "adminThreshold", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 516, - "src": "6094:14:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 519, - "name": "_setUint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4157, - "src": "6050:8:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_uint256_$returns$__$", - "typeString": "function (bytes32,uint256)" - } - }, - "id": 524, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6050:59:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 525, - "nodeType": "ExpressionStatement", - "src": "6050:59:0" - } - ] - }, - "id": 527, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_setAdminThreshold", - "nameLocation": "5968:18:0", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 517, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 514, - "mutability": "mutable", - "name": "adminEpoch", - "nameLocation": "5995:10:0", - "nodeType": "VariableDeclaration", - "scope": 527, - "src": "5987:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 513, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5987:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 516, - "mutability": "mutable", - "name": "adminThreshold", - "nameLocation": "6015:14:0", - "nodeType": "VariableDeclaration", - "scope": 527, - "src": "6007:22:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 515, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6007:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "5986:44:0" - }, - "returnParameters": { - "id": 518, - "nodeType": "ParameterList", - "parameters": [], - "src": "6040:0:0" - }, - "scope": 585, - "src": "5959:157:0", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 544, - "nodeType": "Block", - "src": "6238:79:0", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "id": 538, - "name": "adminEpoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 529, - "src": "6280:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 539, - "name": "topic", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 531, - "src": "6292:5:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 537, - "name": "_getAdminVoteCountsKey", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 227, - "src": "6257:22:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_bytes32_$returns$_t_bytes32_$", - "typeString": "function (uint256,bytes32) pure returns (bytes32)" - } - }, - "id": 540, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6257:41:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 541, - "name": "voteCount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 533, - "src": "6300:9:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 536, - "name": "_setUint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4157, - "src": "6248:8:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_uint256_$returns$__$", - "typeString": "function (bytes32,uint256)" - } - }, - "id": 542, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6248:62:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 543, - "nodeType": "ExpressionStatement", - "src": "6248:62:0" - } - ] - }, - "id": 545, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_setVoteCount", - "nameLocation": "6131:13:0", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 534, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 529, - "mutability": "mutable", - "name": "adminEpoch", - "nameLocation": "6162:10:0", - "nodeType": "VariableDeclaration", - "scope": 545, - "src": "6154:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 528, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6154:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 531, - "mutability": "mutable", - "name": "topic", - "nameLocation": "6190:5:0", - "nodeType": "VariableDeclaration", - "scope": 545, - "src": "6182:13:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 530, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "6182:7:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 533, - "mutability": "mutable", - "name": "voteCount", - "nameLocation": "6213:9:0", - "nodeType": "VariableDeclaration", - "scope": 545, - "src": "6205:17:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 532, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6205:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "6144:84:0" - }, - "returnParameters": { - "id": 535, - "nodeType": "ParameterList", - "parameters": [], - "src": "6238:0:0" - }, - "scope": 585, - "src": "6122:195:0", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 565, - "nodeType": "Block", - "src": "6456:79:0", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "id": 558, - "name": "adminEpoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 547, - "src": "6493:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 559, - "name": "topic", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 549, - "src": "6505:5:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 560, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 551, - "src": "6512:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 557, - "name": "_getAdminVotedKey", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 249, - "src": "6475:17:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_bytes32_$_t_address_$returns$_t_bytes32_$", - "typeString": "function (uint256,bytes32,address) pure returns (bytes32)" - } - }, - "id": 561, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6475:45:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 562, - "name": "voted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 553, - "src": "6522:5:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 556, - "name": "_setBool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4213, - "src": "6466:8:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_bool_$returns$__$", - "typeString": "function (bytes32,bool)" - } - }, - "id": 563, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6466:62:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 564, - "nodeType": "ExpressionStatement", - "src": "6466:62:0" - } - ] - }, - "id": 566, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_setHasVoted", - "nameLocation": "6332:12:0", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 554, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 547, - "mutability": "mutable", - "name": "adminEpoch", - "nameLocation": "6362:10:0", - "nodeType": "VariableDeclaration", - "scope": 566, - "src": "6354:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 546, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6354:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 549, - "mutability": "mutable", - "name": "topic", - "nameLocation": "6390:5:0", - "nodeType": "VariableDeclaration", - "scope": 566, - "src": "6382:13:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 548, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "6382:7:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 551, - "mutability": "mutable", - "name": "account", - "nameLocation": "6413:7:0", - "nodeType": "VariableDeclaration", - "scope": 566, - "src": "6405:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 550, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6405:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 553, - "mutability": "mutable", - "name": "voted", - "nameLocation": "6435:5:0", - "nodeType": "VariableDeclaration", - "scope": 566, - "src": "6430:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 552, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6430:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "6344:102:0" - }, - "returnParameters": { - "id": 555, - "nodeType": "ParameterList", - "parameters": [], - "src": "6456:0:0" - }, - "scope": 585, - "src": "6323:212:0", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 583, - "nodeType": "Block", - "src": "6652:71:0", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "id": 577, - "name": "adminEpoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 568, - "src": "6686:10:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 578, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 570, - "src": "6698:7:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 576, - "name": "_getIsAdminKey", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 268, - "src": "6671:14:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_address_$returns$_t_bytes32_$", - "typeString": "function (uint256,address) pure returns (bytes32)" - } - }, - "id": 579, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6671:35:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 580, - "name": "isAdmin", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 572, - "src": "6708:7:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 575, - "name": "_setBool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4213, - "src": "6662:8:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_bool_$returns$__$", - "typeString": "function (bytes32,bool)" - } - }, - "id": 581, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6662:54:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 582, - "nodeType": "ExpressionStatement", - "src": "6662:54:0" - } - ] - }, - "id": 584, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_setIsAdmin", - "nameLocation": "6550:11:0", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 573, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 568, - "mutability": "mutable", - "name": "adminEpoch", - "nameLocation": "6579:10:0", - "nodeType": "VariableDeclaration", - "scope": 584, - "src": "6571:18:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 567, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6571:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 570, - "mutability": "mutable", - "name": "account", - "nameLocation": "6607:7:0", - "nodeType": "VariableDeclaration", - "scope": 584, - "src": "6599:15:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 569, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6599:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 572, - "mutability": "mutable", - "name": "isAdmin", - "nameLocation": "6629:7:0", - "nodeType": "VariableDeclaration", - "scope": 584, - "src": "6624:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 571, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6624:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "6561:81:0" - }, - "returnParameters": { - "id": 574, - "nodeType": "ParameterList", - "parameters": [], - "src": "6652:0:0" - }, - "scope": 585, - "src": "6541:182:0", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - } - ], - "scope": 586, - "src": "113:6612:0", - "usedErrors": [ - 7, - 9, - 11, - 13, - 17 - ] - } - ], - "src": "33:6693:0" - }, - "id": 0 - }, - "@axelar-network/axelar-cgp-solidity/contracts/AxelarAuthMultisig.sol": { - "ast": { - "absolutePath": "@axelar-network/axelar-cgp-solidity/contracts/AxelarAuthMultisig.sol", - "exportedSymbols": { - "AxelarAuthMultisig": [ - 947 - ], - "ECDSA": [ - 3478 - ], - "IAxelarAuthMultisig": [ - 5026 - ], - "Ownable": [ - 4438 - ] - }, - "id": 948, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 587, - "literals": [ - "solidity", - "0.8", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "33:22:1" - }, - { - "absolutePath": "@axelar-network/axelar-cgp-solidity/contracts/ECDSA.sol", - "file": "./ECDSA.sol", - "id": 589, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 948, - "sourceUnit": 3479, - "src": "57:36:1", - "symbolAliases": [ - { - "foreign": { - "id": 588, - "name": "ECDSA", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "src": "66:5:1", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "absolutePath": "@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarAuthMultisig.sol", - "file": "./interfaces/IAxelarAuthMultisig.sol", - "id": 591, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 948, - "sourceUnit": 5027, - "src": "94:75:1", - "symbolAliases": [ - { - "foreign": { - "id": 590, - "name": "IAxelarAuthMultisig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "src": "103:19:1", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "absolutePath": "@axelar-network/axelar-cgp-solidity/contracts/Ownable.sol", - "file": "./Ownable.sol", - "id": 593, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 948, - "sourceUnit": 4439, - "src": "170:40:1", - "symbolAliases": [ - { - "foreign": { - "id": 592, - "name": "Ownable", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "src": "179:7:1", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "baseName": { - "id": 594, - "name": "Ownable", - "nodeType": "IdentifierPath", - "referencedDeclaration": 4438, - "src": "243:7:1" - }, - "id": 595, - "nodeType": "InheritanceSpecifier", - "src": "243:7:1" - }, - { - "baseName": { - "id": 596, - "name": "IAxelarAuthMultisig", - "nodeType": "IdentifierPath", - "referencedDeclaration": 5026, - "src": "252:19:1" - }, - "id": 597, - "nodeType": "InheritanceSpecifier", - "src": "252:19:1" - } - ], - "canonicalName": "AxelarAuthMultisig", - "contractDependencies": [], - "contractKind": "contract", - "fullyImplemented": true, - "id": 947, - "linearizedBaseContracts": [ - 947, - 5026, - 4993, - 4438, - 5916 - ], - "name": "AxelarAuthMultisig", - "nameLocation": "221:18:1", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 599, - "name": "InvalidOperators", - "nameLocation": "284:16:1", - "nodeType": "ErrorDefinition", - "parameters": { - "id": 598, - "nodeType": "ParameterList", - "parameters": [], - "src": "300:2:1" - }, - "src": "278:25:1" - }, - { - "id": 601, - "name": "InvalidThreshold", - "nameLocation": "314:16:1", - "nodeType": "ErrorDefinition", - "parameters": { - "id": 600, - "nodeType": "ParameterList", - "parameters": [], - "src": "330:2:1" - }, - "src": "308:25:1" - }, - { - "id": 603, - "name": "SameOperators", - "nameLocation": "344:13:1", - "nodeType": "ErrorDefinition", - "parameters": { - "id": 602, - "nodeType": "ParameterList", - "parameters": [], - "src": "357:2:1" - }, - "src": "338:22:1" - }, - { - "id": 605, - "name": "MalformedSigners", - "nameLocation": "371:16:1", - "nodeType": "ErrorDefinition", - "parameters": { - "id": 604, - "nodeType": "ParameterList", - "parameters": [], - "src": "387:2:1" - }, - "src": "365:25:1" - }, - { - "baseFunctions": [ - 5011 - ], - "constant": false, - "functionSelector": "76671808", - "id": 607, - "mutability": "mutable", - "name": "currentEpoch", - "nameLocation": "411:12:1", - "nodeType": "VariableDeclaration", - "scope": 947, - "src": "396:27:1", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 606, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "396:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "public" - }, - { - "baseFunctions": [ - 5018 - ], - "constant": false, - "functionSelector": "ba6742e5", - "id": 611, - "mutability": "mutable", - "name": "hashForEpoch", - "nameLocation": "464:12:1", - "nodeType": "VariableDeclaration", - "scope": 947, - "src": "429:47:1", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_bytes32_$", - "typeString": "mapping(uint256 => bytes32)" - }, - "typeName": { - "id": 610, - "keyType": { - "id": 608, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "437:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "429:27:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_bytes32_$", - "typeString": "mapping(uint256 => bytes32)" - }, - "valueType": { - "id": 609, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "448:7:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - }, - "visibility": "public" - }, - { - "baseFunctions": [ - 5025 - ], - "constant": false, - "functionSelector": "f1501c89", - "id": 615, - "mutability": "mutable", - "name": "epochForHash", - "nameLocation": "517:12:1", - "nodeType": "VariableDeclaration", - "scope": 947, - "src": "482:47:1", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - }, - "typeName": { - "id": 614, - "keyType": { - "id": 612, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "490:7:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "Mapping", - "src": "482:27:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - }, - "valueType": { - "id": 613, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "501:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "visibility": "public" - }, - { - "constant": true, - "id": 618, - "mutability": "constant", - "name": "OLD_KEY_RETENTION", - "nameLocation": "560:17:1", - "nodeType": "VariableDeclaration", - "scope": 947, - "src": "536:46:1", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 616, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "536:5:1", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": { - "hexValue": "3136", - "id": 617, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "580:2:1", - "typeDescriptions": { - "typeIdentifier": "t_rational_16_by_1", - "typeString": "int_const 16" - }, - "value": "16" - }, - "visibility": "internal" - }, - { - "body": { - "id": 642, - "nodeType": "Block", - "src": "633:131:1", - "statements": [ - { - "body": { - "id": 640, - "nodeType": "Block", - "src": "692:66:1", - "statements": [ - { - "expression": { - "arguments": [ - { - "baseExpression": { - "id": 635, - "name": "recentOperators", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 621, - "src": "728:15:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", - "typeString": "bytes memory[] memory" - } - }, - "id": 637, - "indexExpression": { - "id": 636, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 625, - "src": "744:1:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "728:18:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 634, - "name": "_transferOperatorship", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 825, - "src": "706:21:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (bytes memory)" - } - }, - "id": 638, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "706:41:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 639, - "nodeType": "ExpressionStatement", - "src": "706:41:1" - } - ] - }, - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 630, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 627, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 625, - "src": "659:1:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "expression": { - "id": 628, - "name": "recentOperators", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 621, - "src": "663:15:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", - "typeString": "bytes memory[] memory" - } - }, - "id": 629, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "src": "663:22:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "659:26:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 641, - "initializationExpression": { - "assignments": [ - 625 - ], - "declarations": [ - { - "constant": false, - "id": 625, - "mutability": "mutable", - "name": "i", - "nameLocation": "656:1:1", - "nodeType": "VariableDeclaration", - "scope": 641, - "src": "648:9:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 624, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "648:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 626, - "nodeType": "VariableDeclarationStatement", - "src": "648:9:1" - }, - "loopExpression": { - "expression": { - "id": 632, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": true, - "src": "687:3:1", - "subExpression": { - "id": 631, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 625, - "src": "689:1:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 633, - "nodeType": "ExpressionStatement", - "src": "687:3:1" - }, - "nodeType": "ForStatement", - "src": "643:115:1" - } - ] - }, - "id": 643, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 622, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 621, - "mutability": "mutable", - "name": "recentOperators", - "nameLocation": "616:15:1", - "nodeType": "VariableDeclaration", - "scope": 643, - "src": "601:30:1", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", - "typeString": "bytes[]" - }, - "typeName": { - "baseType": { - "id": 619, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "601:5:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "id": 620, - "nodeType": "ArrayTypeName", - "src": "601:7:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes_storage_$dyn_storage_ptr", - "typeString": "bytes[]" - } - }, - "visibility": "internal" - } - ], - "src": "600:32:1" - }, - "returnParameters": { - "id": 623, - "nodeType": "ParameterList", - "parameters": [], - "src": "633:0:1" - }, - "scope": 947, - "src": "589:175:1", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "baseFunctions": [ - 4987 - ], - "body": { - "id": 718, - "nodeType": "Block", - "src": "982:527:1", - "statements": [ - { - "assignments": [ - 656, - 659 - ], - "declarations": [ - { - "constant": false, - "id": 656, - "mutability": "mutable", - "name": "operators", - "nameLocation": "1010:9:1", - "nodeType": "VariableDeclaration", - "scope": 718, - "src": "993:26:1", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 654, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "993:7:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 655, - "nodeType": "ArrayTypeName", - "src": "993:9:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 659, - "mutability": "mutable", - "name": "signatures", - "nameLocation": "1036:10:1", - "nodeType": "VariableDeclaration", - "scope": 718, - "src": "1021:25:1", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", - "typeString": "bytes[]" - }, - "typeName": { - "baseType": { - "id": 657, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "1021:5:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "id": 658, - "nodeType": "ArrayTypeName", - "src": "1021:7:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes_storage_$dyn_storage_ptr", - "typeString": "bytes[]" - } - }, - "visibility": "internal" - } - ], - "id": 671, - "initialValue": { - "arguments": [ - { - "id": 662, - "name": "proof", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 647, - "src": "1061:5:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - }, - { - "components": [ - { - "baseExpression": { - "id": 664, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1069:7:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 663, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1069:7:1", - "typeDescriptions": {} - } - }, - "id": 665, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1069:9:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_array$_t_address_$dyn_memory_ptr_$", - "typeString": "type(address[] memory)" - } - }, - { - "baseExpression": { - "id": 667, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1080:5:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", - "typeString": "type(bytes storage pointer)" - }, - "typeName": { - "id": 666, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "1080:5:1", - "typeDescriptions": {} - } - }, - "id": 668, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1080:7:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$", - "typeString": "type(bytes memory[] memory)" - } - } - ], - "id": 669, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "1068:20:1", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_type$_t_array$_t_address_$dyn_memory_ptr_$_$_t_type$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$_$", - "typeString": "tuple(type(address[] memory),type(bytes memory[] memory))" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - }, - { - "typeIdentifier": "t_tuple$_t_type$_t_array$_t_address_$dyn_memory_ptr_$_$_t_type$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$_$", - "typeString": "tuple(type(address[] memory),type(bytes memory[] memory))" - } - ], - "expression": { - "id": 660, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "1050:3:1", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 661, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "decode", - "nodeType": "MemberAccess", - "src": "1050:10:1", - "typeDescriptions": { - "typeIdentifier": "t_function_abidecode_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 670, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1050:39:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$", - "typeString": "tuple(address[] memory,bytes memory[] memory)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "992:97:1" - }, - { - "assignments": [ - 673 - ], - "declarations": [ - { - "constant": false, - "id": 673, - "mutability": "mutable", - "name": "operatorsHash", - "nameLocation": "1108:13:1", - "nodeType": "VariableDeclaration", - "scope": 718, - "src": "1100:21:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 672, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1100:7:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "id": 682, - "initialValue": { - "arguments": [ - { - "arguments": [ - { - "id": 677, - "name": "operators", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 656, - "src": "1145:9:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - { - "expression": { - "id": 678, - "name": "signatures", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 659, - "src": "1156:10:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", - "typeString": "bytes memory[] memory" - } - }, - "id": 679, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "src": "1156:17:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 675, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "1134:3:1", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 676, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encode", - "nodeType": "MemberAccess", - "src": "1134:10:1", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 680, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1134:40:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 674, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "1124:9:1", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 681, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1124:51:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1100:75:1" - }, - { - "assignments": [ - 684 - ], - "declarations": [ - { - "constant": false, - "id": 684, - "mutability": "mutable", - "name": "operatorsEpoch", - "nameLocation": "1193:14:1", - "nodeType": "VariableDeclaration", - "scope": 718, - "src": "1185:22:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 683, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1185:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 688, - "initialValue": { - "baseExpression": { - "id": 685, - "name": "epochForHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 615, - "src": "1210:12:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - } - }, - "id": 687, - "indexExpression": { - "id": 686, - "name": "operatorsHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 673, - "src": "1223:13:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1210:27:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1185:52:1" - }, - { - "assignments": [ - 690 - ], - "declarations": [ - { - "constant": false, - "id": 690, - "mutability": "mutable", - "name": "epoch", - "nameLocation": "1255:5:1", - "nodeType": "VariableDeclaration", - "scope": 718, - "src": "1247:13:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 689, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1247:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 692, - "initialValue": { - "id": 691, - "name": "currentEpoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 607, - "src": "1263:12:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1247:28:1" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 701, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 695, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 693, - "name": "operatorsEpoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 684, - "src": "1290:14:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 694, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1308:1:1", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "1290:19:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 700, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 698, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 696, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 690, - "src": "1313:5:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "id": 697, - "name": "operatorsEpoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 684, - "src": "1321:14:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1313:22:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "id": 699, - "name": "OLD_KEY_RETENTION", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 618, - "src": "1339:17:1", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "1313:43:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "1290:66:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 705, - "nodeType": "IfStatement", - "src": "1286:97:1", - "trueBody": { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 702, - "name": "InvalidOperators", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 599, - "src": "1365:16:1", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 703, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1365:18:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 704, - "nodeType": "RevertStatement", - "src": "1358:25:1" - } - }, - { - "expression": { - "arguments": [ - { - "id": 707, - "name": "messageHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 645, - "src": "1414:11:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 708, - "name": "operators", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 656, - "src": "1427:9:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - { - "id": 709, - "name": "signatures", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 659, - "src": "1438:10:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", - "typeString": "bytes memory[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - }, - { - "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", - "typeString": "bytes memory[] memory" - } - ], - "id": 706, - "name": "_validateSignatures", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 890, - "src": "1394:19:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes32_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$returns$__$", - "typeString": "function (bytes32,address[] memory,bytes memory[] memory) pure" - } - }, - "id": 710, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1394:55:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 711, - "nodeType": "ExpressionStatement", - "src": "1394:55:1" - }, - { - "expression": { - "id": 716, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 712, - "name": "currentOperators", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 650, - "src": "1460:16:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 715, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 713, - "name": "operatorsEpoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 684, - "src": "1479:14:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "id": 714, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 690, - "src": "1497:5:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1479:23:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "1460:42:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 717, - "nodeType": "ExpressionStatement", - "src": "1460:42:1" - } - ] - }, - "functionSelector": "73e3d66a", - "id": 719, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "validateProof", - "nameLocation": "879:13:1", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 648, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 645, - "mutability": "mutable", - "name": "messageHash", - "nameLocation": "901:11:1", - "nodeType": "VariableDeclaration", - "scope": 719, - "src": "893:19:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 644, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "893:7:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 647, - "mutability": "mutable", - "name": "proof", - "nameLocation": "929:5:1", - "nodeType": "VariableDeclaration", - "scope": 719, - "src": "914:20:1", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 646, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "914:5:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "892:43:1" - }, - "returnParameters": { - "id": 651, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 650, - "mutability": "mutable", - "name": "currentOperators", - "nameLocation": "964:16:1", - "nodeType": "VariableDeclaration", - "scope": 719, - "src": "959:21:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 649, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "959:4:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "958:23:1" - }, - "scope": 947, - "src": "870:639:1", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "baseFunctions": [ - 4992 - ], - "body": { - "id": 730, - "nodeType": "Block", - "src": "1678:46:1", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 727, - "name": "params", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 721, - "src": "1710:6:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - ], - "id": 726, - "name": "_transferOperatorship", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 825, - "src": "1688:21:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (bytes memory)" - } - }, - "id": 728, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1688:29:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 729, - "nodeType": "ExpressionStatement", - "src": "1688:29:1" - } - ] - }, - "functionSelector": "d289d1cb", - "id": 731, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 724, - "kind": "modifierInvocation", - "modifierName": { - "id": 723, - "name": "onlyOwner", - "nodeType": "IdentifierPath", - "referencedDeclaration": 4410, - "src": "1668:9:1" - }, - "nodeType": "ModifierInvocation", - "src": "1668:9:1" - } - ], - "name": "transferOperatorship", - "nameLocation": "1615:20:1", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 722, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 721, - "mutability": "mutable", - "name": "params", - "nameLocation": "1651:6:1", - "nodeType": "VariableDeclaration", - "scope": 731, - "src": "1636:21:1", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 720, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "1636:5:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "1635:23:1" - }, - "returnParameters": { - "id": 725, - "nodeType": "ParameterList", - "parameters": [], - "src": "1678:0:1" - }, - "scope": 947, - "src": "1606:118:1", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 824, - "nodeType": "Block", - "src": "1891:740:1", - "statements": [ - { - "assignments": [ - 740, - 742 - ], - "declarations": [ - { - "constant": false, - "id": 740, - "mutability": "mutable", - "name": "newOperators", - "nameLocation": "1919:12:1", - "nodeType": "VariableDeclaration", - "scope": 824, - "src": "1902:29:1", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 738, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1902:7:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 739, - "nodeType": "ArrayTypeName", - "src": "1902:9:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 742, - "mutability": "mutable", - "name": "newThreshold", - "nameLocation": "1941:12:1", - "nodeType": "VariableDeclaration", - "scope": 824, - "src": "1933:20:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 741, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1933:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 753, - "initialValue": { - "arguments": [ - { - "id": 745, - "name": "params", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 733, - "src": "1968:6:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "components": [ - { - "baseExpression": { - "id": 747, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1977:7:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 746, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1977:7:1", - "typeDescriptions": {} - } - }, - "id": 748, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1977:9:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_array$_t_address_$dyn_memory_ptr_$", - "typeString": "type(address[] memory)" - } - }, - { - "id": 750, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1988:7:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 749, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1988:7:1", - "typeDescriptions": {} - } - } - ], - "id": 751, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "1976:20:1", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_type$_t_array$_t_address_$dyn_memory_ptr_$_$_t_type$_t_uint256_$_$", - "typeString": "tuple(type(address[] memory),type(uint256))" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_tuple$_t_type$_t_array$_t_address_$dyn_memory_ptr_$_$_t_type$_t_uint256_$_$", - "typeString": "tuple(type(address[] memory),type(uint256))" - } - ], - "expression": { - "id": 743, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "1957:3:1", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 744, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "decode", - "nodeType": "MemberAccess", - "src": "1957:10:1", - "typeDescriptions": { - "typeIdentifier": "t_function_abidecode_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 752, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1957:40:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_array$_t_address_$dyn_memory_ptr_$_t_uint256_$", - "typeString": "tuple(address[] memory,uint256)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1901:96:1" - }, - { - "assignments": [ - 755 - ], - "declarations": [ - { - "constant": false, - "id": 755, - "mutability": "mutable", - "name": "operatorsLength", - "nameLocation": "2015:15:1", - "nodeType": "VariableDeclaration", - "scope": 824, - "src": "2007:23:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 754, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2007:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 758, - "initialValue": { - "expression": { - "id": 756, - "name": "newOperators", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 740, - "src": "2033:12:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 757, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "src": "2033:19:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2007:45:1" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 766, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 761, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 759, - "name": "operatorsLength", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 755, - "src": "2067:15:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 760, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2086:1:1", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "2067:20:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "id": 765, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "2091:49:1", - "subExpression": { - "arguments": [ - { - "id": 763, - "name": "newOperators", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 740, - "src": "2127:12:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - ], - "id": 762, - "name": "_isSortedAscAndContainsNoDuplicate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 946, - "src": "2092:34:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_bool_$", - "typeString": "function (address[] memory) pure returns (bool)" - } - }, - "id": 764, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2092:48:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "2067:73:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 770, - "nodeType": "IfStatement", - "src": "2063:104:1", - "trueBody": { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 767, - "name": "InvalidOperators", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 599, - "src": "2149:16:1", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 768, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2149:18:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 769, - "nodeType": "RevertStatement", - "src": "2142:25:1" - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 777, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 773, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 771, - "name": "newThreshold", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 742, - "src": "2182:12:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 772, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2198:1:1", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "2182:17:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 776, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 774, - "name": "operatorsLength", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 755, - "src": "2203:15:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "id": 775, - "name": "newThreshold", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 742, - "src": "2221:12:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2203:30:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "2182:51:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 781, - "nodeType": "IfStatement", - "src": "2178:82:1", - "trueBody": { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 778, - "name": "InvalidThreshold", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 601, - "src": "2242:16:1", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 779, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2242:18:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 780, - "nodeType": "RevertStatement", - "src": "2235:25:1" - } - }, - { - "assignments": [ - 783 - ], - "declarations": [ - { - "constant": false, - "id": 783, - "mutability": "mutable", - "name": "newOperatorsHash", - "nameLocation": "2279:16:1", - "nodeType": "VariableDeclaration", - "scope": 824, - "src": "2271:24:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 782, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2271:7:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "id": 787, - "initialValue": { - "arguments": [ - { - "id": 785, - "name": "params", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 733, - "src": "2308:6:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 784, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "2298:9:1", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 786, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2298:17:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2271:44:1" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 792, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "baseExpression": { - "id": 788, - "name": "epochForHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 615, - "src": "2330:12:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - } - }, - "id": 790, - "indexExpression": { - "id": 789, - "name": "newOperatorsHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 783, - "src": "2343:16:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2330:30:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 791, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2363:1:1", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "2330:34:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 796, - "nodeType": "IfStatement", - "src": "2326:62:1", - "trueBody": { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 793, - "name": "SameOperators", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 603, - "src": "2373:13:1", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 794, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2373:15:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 795, - "nodeType": "RevertStatement", - "src": "2366:22:1" - } - }, - { - "assignments": [ - 798 - ], - "declarations": [ - { - "constant": false, - "id": 798, - "mutability": "mutable", - "name": "epoch", - "nameLocation": "2407:5:1", - "nodeType": "VariableDeclaration", - "scope": 824, - "src": "2399:13:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 797, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2399:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 802, - "initialValue": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 801, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 799, - "name": "currentEpoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 607, - "src": "2415:12:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "hexValue": "31", - "id": 800, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2430:1:1", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "2415:16:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2399:32:1" - }, - { - "expression": { - "id": 805, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 803, - "name": "currentEpoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 607, - "src": "2441:12:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 804, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 798, - "src": "2456:5:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2441:20:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 806, - "nodeType": "ExpressionStatement", - "src": "2441:20:1" - }, - { - "expression": { - "id": 811, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 807, - "name": "hashForEpoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 611, - "src": "2471:12:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_bytes32_$", - "typeString": "mapping(uint256 => bytes32)" - } - }, - "id": 809, - "indexExpression": { - "id": 808, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 798, - "src": "2484:5:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2471:19:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 810, - "name": "newOperatorsHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 783, - "src": "2493:16:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "src": "2471:38:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "id": 812, - "nodeType": "ExpressionStatement", - "src": "2471:38:1" - }, - { - "expression": { - "id": 817, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 813, - "name": "epochForHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 615, - "src": "2519:12:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - } - }, - "id": 815, - "indexExpression": { - "id": 814, - "name": "newOperatorsHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 783, - "src": "2532:16:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2519:30:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 816, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 798, - "src": "2552:5:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2519:38:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 818, - "nodeType": "ExpressionStatement", - "src": "2519:38:1" - }, - { - "eventCall": { - "arguments": [ - { - "id": 820, - "name": "newOperators", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 740, - "src": "2597:12:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - { - "id": 821, - "name": "newThreshold", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 742, - "src": "2611:12:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 819, - "name": "OperatorshipTransferred", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5006, - "src": "2573:23:1", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_array$_t_address_$dyn_memory_ptr_$_t_uint256_$returns$__$", - "typeString": "function (address[] memory,uint256)" - } - }, - "id": 822, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2573:51:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 823, - "nodeType": "EmitStatement", - "src": "2568:56:1" - } - ] - }, - "id": 825, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_transferOperatorship", - "nameLocation": "1839:21:1", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 734, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 733, - "mutability": "mutable", - "name": "params", - "nameLocation": "1874:6:1", - "nodeType": "VariableDeclaration", - "scope": 825, - "src": "1861:19:1", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 732, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "1861:5:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "1860:21:1" - }, - "returnParameters": { - "id": 735, - "nodeType": "ParameterList", - "parameters": [], - "src": "1891:0:1" - }, - "scope": 947, - "src": "1830:801:1", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 889, - "nodeType": "Block", - "src": "2786:570:1", - "statements": [ - { - "assignments": [ - 837 - ], - "declarations": [ - { - "constant": false, - "id": 837, - "mutability": "mutable", - "name": "j", - "nameLocation": "2804:1:1", - "nodeType": "VariableDeclaration", - "scope": 889, - "src": "2796:9:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 836, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2796:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 839, - "initialValue": { - "hexValue": "30", - "id": 838, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2808:1:1", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "2796:13:1" - }, - { - "body": { - "id": 887, - "nodeType": "Block", - "src": "2981:369:1", - "statements": [ - { - "assignments": [ - 852 - ], - "declarations": [ - { - "constant": false, - "id": 852, - "mutability": "mutable", - "name": "signer", - "nameLocation": "3003:6:1", - "nodeType": "VariableDeclaration", - "scope": 887, - "src": "2995:14:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 851, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2995:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "id": 860, - "initialValue": { - "arguments": [ - { - "id": 855, - "name": "messageHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 827, - "src": "3026:11:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "baseExpression": { - "id": 856, - "name": "signatures", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 833, - "src": "3039:10:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", - "typeString": "bytes memory[] memory" - } - }, - "id": 858, - "indexExpression": { - "id": 857, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 841, - "src": "3050:1:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3039:13:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "expression": { - "id": 853, - "name": "ECDSA", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3478, - "src": "3012:5:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ECDSA_$3478_$", - "typeString": "type(library ECDSA)" - } - }, - "id": 854, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "recover", - "nodeType": "MemberAccess", - "referencedDeclaration": 3460, - "src": "3012:13:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes32_$_t_bytes_memory_ptr_$returns$_t_address_$", - "typeString": "function (bytes32,bytes memory) pure returns (address)" - } - }, - "id": 859, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3012:41:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2995:58:1" - }, - { - "body": { - "id": 874, - "nodeType": "Block", - "src": "3194:2:1", - "statements": [] - }, - "condition": { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 870, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 864, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 861, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 837, - "src": "3141:1:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "expression": { - "id": 862, - "name": "operators", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 830, - "src": "3145:9:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 863, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "src": "3145:16:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3141:20:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 869, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 865, - "name": "signer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 852, - "src": "3165:6:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "baseExpression": { - "id": 866, - "name": "operators", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 830, - "src": "3175:9:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 868, - "indexExpression": { - "id": 867, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 837, - "src": "3185:1:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3175:12:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "3165:22:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "3141:46:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 875, - "loopExpression": { - "expression": { - "id": 872, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": true, - "src": "3189:3:1", - "subExpression": { - "id": 871, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 837, - "src": "3191:1:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 873, - "nodeType": "ExpressionStatement", - "src": "3189:3:1" - }, - "nodeType": "ForStatement", - "src": "3134:62:1" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 879, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 876, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 837, - "src": "3213:1:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "expression": { - "id": 877, - "name": "operators", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 830, - "src": "3218:9:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 878, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "src": "3218:16:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3213:21:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 883, - "nodeType": "IfStatement", - "src": "3209:52:1", - "trueBody": { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 880, - "name": "MalformedSigners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 605, - "src": "3243:16:1", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 881, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3243:18:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 882, - "nodeType": "RevertStatement", - "src": "3236:25:1" - } - }, - { - "expression": { - "id": 885, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": true, - "src": "3336:3:1", - "subExpression": { - "id": 884, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 837, - "src": "3338:1:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 886, - "nodeType": "ExpressionStatement", - "src": "3336:3:1" - } - ] - }, - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 847, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 844, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 841, - "src": "2953:1:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "expression": { - "id": 845, - "name": "signatures", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 833, - "src": "2957:10:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", - "typeString": "bytes memory[] memory" - } - }, - "id": 846, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "src": "2957:17:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2953:21:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 888, - "initializationExpression": { - "assignments": [ - 841 - ], - "declarations": [ - { - "constant": false, - "id": 841, - "mutability": "mutable", - "name": "i", - "nameLocation": "2946:1:1", - "nodeType": "VariableDeclaration", - "scope": 888, - "src": "2938:9:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 840, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2938:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 843, - "initialValue": { - "hexValue": "30", - "id": 842, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2950:1:1", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "2938:13:1" - }, - "loopExpression": { - "expression": { - "id": 849, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": true, - "src": "2976:3:1", - "subExpression": { - "id": 848, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 841, - "src": "2978:1:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 850, - "nodeType": "ExpressionStatement", - "src": "2976:3:1" - }, - "nodeType": "ForStatement", - "src": "2933:417:1" - } - ] - }, - "id": 890, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_validateSignatures", - "nameLocation": "2646:19:1", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 834, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 827, - "mutability": "mutable", - "name": "messageHash", - "nameLocation": "2683:11:1", - "nodeType": "VariableDeclaration", - "scope": 890, - "src": "2675:19:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 826, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2675:7:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 830, - "mutability": "mutable", - "name": "operators", - "nameLocation": "2721:9:1", - "nodeType": "VariableDeclaration", - "scope": 890, - "src": "2704:26:1", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 828, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2704:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 829, - "nodeType": "ArrayTypeName", - "src": "2704:9:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 833, - "mutability": "mutable", - "name": "signatures", - "nameLocation": "2755:10:1", - "nodeType": "VariableDeclaration", - "scope": 890, - "src": "2740:25:1", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", - "typeString": "bytes[]" - }, - "typeName": { - "baseType": { - "id": 831, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "2740:5:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "id": 832, - "nodeType": "ArrayTypeName", - "src": "2740:7:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes_storage_$dyn_storage_ptr", - "typeString": "bytes[]" - } - }, - "visibility": "internal" - } - ], - "src": "2665:106:1" - }, - "returnParameters": { - "id": 835, - "nodeType": "ParameterList", - "parameters": [], - "src": "2786:0:1" - }, - "scope": 947, - "src": "2637:719:1", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 945, - "nodeType": "Block", - "src": "3462:243:1", - "statements": [ - { - "body": { - "id": 934, - "nodeType": "Block", - "src": "3518:138:1", - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 929, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 918, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "baseExpression": { - "id": 910, - "name": "accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 893, - "src": "3536:8:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 912, - "indexExpression": { - "id": 911, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 899, - "src": "3545:1:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3536:11:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "baseExpression": { - "id": 913, - "name": "accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 893, - "src": "3551:8:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 917, - "indexExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 916, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 914, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 899, - "src": "3560:1:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "hexValue": "31", - "id": 915, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3564:1:1", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "3560:5:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3551:15:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "3536:30:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 928, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "baseExpression": { - "id": 919, - "name": "accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 893, - "src": "3570:8:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 923, - "indexExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 922, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 920, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 899, - "src": "3579:1:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "hexValue": "31", - "id": 921, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3583:1:1", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "3579:5:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3570:15:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 926, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3597: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": 925, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3589:7:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 924, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3589:7:1", - "typeDescriptions": {} - } - }, - "id": 927, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3589:10:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "3570:29:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "3536:63:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 933, - "nodeType": "IfStatement", - "src": "3532:114:1", - "trueBody": { - "id": 932, - "nodeType": "Block", - "src": "3601:45:1", - "statements": [ - { - "expression": { - "hexValue": "66616c7365", - "id": 930, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3626:5:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 897, - "id": 931, - "nodeType": "Return", - "src": "3619:12:1" - } - ] - } - } - ] - }, - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 906, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 901, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 899, - "src": "3488:1:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 905, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 902, - "name": "accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 893, - "src": "3492:8:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 903, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "src": "3492:15:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "hexValue": "31", - "id": 904, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3510:1:1", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "3492:19:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3488:23:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 935, - "initializationExpression": { - "assignments": [ - 899 - ], - "declarations": [ - { - "constant": false, - "id": 899, - "mutability": "mutable", - "name": "i", - "nameLocation": "3485:1:1", - "nodeType": "VariableDeclaration", - "scope": 935, - "src": "3477:9:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 898, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3477:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 900, - "nodeType": "VariableDeclarationStatement", - "src": "3477:9:1" - }, - "loopExpression": { - "expression": { - "id": 908, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": true, - "src": "3513:3:1", - "subExpression": { - "id": 907, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 899, - "src": "3515:1:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 909, - "nodeType": "ExpressionStatement", - "src": "3513:3:1" - }, - "nodeType": "ForStatement", - "src": "3472:184:1" - }, - { - "expression": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 943, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "baseExpression": { - "id": 936, - "name": "accounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 893, - "src": "3673:8:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 938, - "indexExpression": { - "hexValue": "30", - "id": 937, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3682:1:1", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3673:11:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 941, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3696: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": 940, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3688:7:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 939, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3688:7:1", - "typeDescriptions": {} - } - }, - "id": 942, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3688:10:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "3673:25:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 897, - "id": 944, - "nodeType": "Return", - "src": "3666:32:1" - } - ] - }, - "id": 946, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_isSortedAscAndContainsNoDuplicate", - "nameLocation": "3371:34:1", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 894, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 893, - "mutability": "mutable", - "name": "accounts", - "nameLocation": "3423:8:1", - "nodeType": "VariableDeclaration", - "scope": 946, - "src": "3406:25:1", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 891, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3406:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 892, - "nodeType": "ArrayTypeName", - "src": "3406:9:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "visibility": "internal" - } - ], - "src": "3405:27:1" - }, - "returnParameters": { - "id": 897, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 896, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 946, - "src": "3456:4:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 895, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3456:4:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "3455:6:1" - }, - "scope": 947, - "src": "3362:343:1", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - } - ], - "scope": 948, - "src": "212:3495:1", - "usedErrors": [ - 599, - 601, - 603, - 605, - 3386, - 3388, - 3390, - 3392, - 5897, - 5899 - ] - } - ], - "src": "33:3675:1" - }, - "id": 1 - }, - "@axelar-network/axelar-cgp-solidity/contracts/AxelarGateway.sol": { - "ast": { - "absolutePath": "@axelar-network/axelar-cgp-solidity/contracts/AxelarGateway.sol", - "exportedSymbols": { - "AdminMultisigBase": [ - 585 - ], - "AxelarGateway": [ - 3073 - ], - "DepositHandler": [ - 3381 - ], - "ECDSA": [ - 3478 - ], - "IAxelarAuth": [ - 4993 - ], - "IAxelarGateway": [ - 5700 - ], - "IBurnableMintableCappedERC20": [ - 5734 - ], - "IERC20": [ - 5814 - ], - "ITokenDeployer": [ - 5934 - ] - }, - "id": 3074, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 949, - "literals": [ - "solidity", - "0.8", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "33:22:2" - }, - { - "absolutePath": "@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarGateway.sol", - "file": "./interfaces/IAxelarGateway.sol", - "id": 951, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 3074, - "sourceUnit": 5701, - "src": "57:65:2", - "symbolAliases": [ - { - "foreign": { - "id": 950, - "name": "IAxelarGateway", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "src": "66:14:2", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "absolutePath": "@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarAuth.sol", - "file": "./interfaces/IAxelarAuth.sol", - "id": 953, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 3074, - "sourceUnit": 4994, - "src": "123:59:2", - "symbolAliases": [ - { - "foreign": { - "id": 952, - "name": "IAxelarAuth", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "src": "132:11:2", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "absolutePath": "@axelar-network/axelar-cgp-solidity/contracts/interfaces/IERC20.sol", - "file": "./interfaces/IERC20.sol", - "id": 955, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 3074, - "sourceUnit": 5815, - "src": "183:49:2", - "symbolAliases": [ - { - "foreign": { - "id": 954, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "src": "192:6:2", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "absolutePath": "@axelar-network/axelar-cgp-solidity/contracts/interfaces/IBurnableMintableCappedERC20.sol", - "file": "./interfaces/IBurnableMintableCappedERC20.sol", - "id": 957, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 3074, - "sourceUnit": 5735, - "src": "233:93:2", - "symbolAliases": [ - { - "foreign": { - "id": 956, - "name": "IBurnableMintableCappedERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "src": "242:28:2", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "absolutePath": "@axelar-network/axelar-cgp-solidity/contracts/interfaces/ITokenDeployer.sol", - "file": "./interfaces/ITokenDeployer.sol", - "id": 959, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 3074, - "sourceUnit": 5935, - "src": "327:65:2", - "symbolAliases": [ - { - "foreign": { - "id": 958, - "name": "ITokenDeployer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "src": "336:14:2", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "absolutePath": "@axelar-network/axelar-cgp-solidity/contracts/ECDSA.sol", - "file": "./ECDSA.sol", - "id": 961, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 3074, - "sourceUnit": 3479, - "src": "394:36:2", - "symbolAliases": [ - { - "foreign": { - "id": 960, - "name": "ECDSA", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "src": "403:5:2", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "absolutePath": "@axelar-network/axelar-cgp-solidity/contracts/DepositHandler.sol", - "file": "./DepositHandler.sol", - "id": 963, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 3074, - "sourceUnit": 3382, - "src": "431:54:2", - "symbolAliases": [ - { - "foreign": { - "id": 962, - "name": "DepositHandler", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "src": "440:14:2", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "absolutePath": "@axelar-network/axelar-cgp-solidity/contracts/AdminMultisigBase.sol", - "file": "./AdminMultisigBase.sol", - "id": 965, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 3074, - "sourceUnit": 586, - "src": "486:60:2", - "symbolAliases": [ - { - "foreign": { - "id": 964, - "name": "AdminMultisigBase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "src": "495:17:2", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "baseName": { - "id": 966, - "name": "IAxelarGateway", - "nodeType": "IdentifierPath", - "referencedDeclaration": 5700, - "src": "574:14:2" - }, - "id": 967, - "nodeType": "InheritanceSpecifier", - "src": "574:14:2" - }, - { - "baseName": { - "id": 968, - "name": "AdminMultisigBase", - "nodeType": "IdentifierPath", - "referencedDeclaration": 585, - "src": "590:17:2" - }, - "id": 969, - "nodeType": "InheritanceSpecifier", - "src": "590:17:2" - } - ], - "canonicalName": "AxelarGateway", - "contractDependencies": [ - 3381 - ], - "contractKind": "contract", - "fullyImplemented": true, - "id": 3073, - "linearizedBaseContracts": [ - 3073, - 585, - 4294, - 5700 - ], - "name": "AxelarGateway", - "nameLocation": "557:13:2", - "nodeType": "ContractDefinition", - "nodes": [ - { - "canonicalName": "AxelarGateway.TokenType", - "id": 973, - "members": [ - { - "id": 970, - "name": "InternalBurnable", - "nameLocation": "639:16:2", - "nodeType": "EnumValue", - "src": "639:16:2" - }, - { - "id": 971, - "name": "InternalBurnableFrom", - "nameLocation": "665:20:2", - "nodeType": "EnumValue", - "src": "665:20:2" - }, - { - "id": 972, - "name": "External", - "nameLocation": "695:8:2", - "nodeType": "EnumValue", - "src": "695:8:2" - } - ], - "name": "TokenType", - "nameLocation": "619:9:2", - "nodeType": "EnumDefinition", - "src": "614:95:2" - }, - { - "constant": true, - "documentation": { - "id": 974, - "nodeType": "StructuredDocumentation", - "src": "937:111:2", - "text": "@dev Storage slot with the address of the current factory. `keccak256('eip1967.proxy.implementation') - 1`." - }, - "id": 980, - "mutability": "constant", - "name": "KEY_IMPLEMENTATION", - "nameLocation": "1079:18:2", - "nodeType": "VariableDeclaration", - "scope": 3073, - "src": "1053:122:2", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 975, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1053:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "arguments": [ - { - "hexValue": "307833363038393461313362613161333231303636376338323834393264623938646361336532303736636333373335613932306133636135303564333832626263", - "id": 978, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1108:66:2", - "typeDescriptions": { - "typeIdentifier": "t_rational_24440054405305269366569402256811496959409073762505157381672968839269610695612_by_1", - "typeString": "int_const 2444...(69 digits omitted)...5612" - }, - "value": "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_24440054405305269366569402256811496959409073762505157381672968839269610695612_by_1", - "typeString": "int_const 2444...(69 digits omitted)...5612" - } - ], - "id": 977, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1100:7:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes32_$", - "typeString": "type(bytes32)" - }, - "typeName": { - "id": 976, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1100:7:2", - "typeDescriptions": {} - } - }, - "id": 979, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1100:75:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 985, - "mutability": "constant", - "name": "PREFIX_COMMAND_EXECUTED", - "nameLocation": "1278:23:2", - "nodeType": "VariableDeclaration", - "scope": 3073, - "src": "1252:81:2", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 981, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1252:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "arguments": [ - { - "hexValue": "636f6d6d616e642d6578656375746564", - "id": 983, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1314:18:2", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_957705a374326b30f4a1069c936d736cc9993ed6c820b4e0e2fd94a8beca0d1d", - "typeString": "literal_string \"command-executed\"" - }, - "value": "command-executed" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_957705a374326b30f4a1069c936d736cc9993ed6c820b4e0e2fd94a8beca0d1d", - "typeString": "literal_string \"command-executed\"" - } - ], - "id": 982, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "1304:9:2", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 984, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1304:29:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 990, - "mutability": "constant", - "name": "PREFIX_TOKEN_ADDRESS", - "nameLocation": "1365:20:2", - "nodeType": "VariableDeclaration", - "scope": 3073, - "src": "1339:75:2", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 986, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1339:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "arguments": [ - { - "hexValue": "746f6b656e2d61646472657373", - "id": 988, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1398:15:2", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c4e632779a6a7838736dd7e5e6a0eadf171dd37dfb6230720e265576dfcf42bb", - "typeString": "literal_string \"token-address\"" - }, - "value": "token-address" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_c4e632779a6a7838736dd7e5e6a0eadf171dd37dfb6230720e265576dfcf42bb", - "typeString": "literal_string \"token-address\"" - } - ], - "id": 987, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "1388:9:2", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 989, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1388:26:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 995, - "mutability": "constant", - "name": "PREFIX_TOKEN_TYPE", - "nameLocation": "1446:17:2", - "nodeType": "VariableDeclaration", - "scope": 3073, - "src": "1420:69:2", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 991, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1420:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "arguments": [ - { - "hexValue": "746f6b656e2d74797065", - "id": 993, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1476:12:2", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_a80d2259af55890618ec2eeb3ac72de4bdba22529bb14845d8a3d712d1c3f621", - "typeString": "literal_string \"token-type\"" - }, - "value": "token-type" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_a80d2259af55890618ec2eeb3ac72de4bdba22529bb14845d8a3d712d1c3f621", - "typeString": "literal_string \"token-type\"" - } - ], - "id": 992, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "1466:9:2", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 994, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1466:23:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 1000, - "mutability": "constant", - "name": "PREFIX_CONTRACT_CALL_APPROVED", - "nameLocation": "1521:29:2", - "nodeType": "VariableDeclaration", - "scope": 3073, - "src": "1495:93:2", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 996, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1495:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "arguments": [ - { - "hexValue": "636f6e74726163742d63616c6c2d617070726f766564", - "id": 998, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1563:24:2", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_07b0d4304f82012bd3b70b1d531c160e326067c90829e2a3d386722ad10b89c3", - "typeString": "literal_string \"contract-call-approved\"" - }, - "value": "contract-call-approved" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_07b0d4304f82012bd3b70b1d531c160e326067c90829e2a3d386722ad10b89c3", - "typeString": "literal_string \"contract-call-approved\"" - } - ], - "id": 997, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "1553:9:2", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 999, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1553:35:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 1005, - "mutability": "constant", - "name": "PREFIX_CONTRACT_CALL_APPROVED_WITH_MINT", - "nameLocation": "1620:39:2", - "nodeType": "VariableDeclaration", - "scope": 3073, - "src": "1594:113:2", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1001, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1594:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "arguments": [ - { - "hexValue": "636f6e74726163742d63616c6c2d617070726f7665642d776974682d6d696e74", - "id": 1003, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1672:34:2", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_b7ad972b71475860613db3ba1fe699b886c878f9002a09250dc25e769eb19a10", - "typeString": "literal_string \"contract-call-approved-with-mint\"" - }, - "value": "contract-call-approved-with-mint" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_b7ad972b71475860613db3ba1fe699b886c878f9002a09250dc25e769eb19a10", - "typeString": "literal_string \"contract-call-approved-with-mint\"" - } - ], - "id": 1002, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "1662:9:2", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 1004, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1662:45:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 1010, - "mutability": "constant", - "name": "PREFIX_TOKEN_DAILY_MINT_LIMIT", - "nameLocation": "1739:29:2", - "nodeType": "VariableDeclaration", - "scope": 3073, - "src": "1713:93:2", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1006, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1713:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "arguments": [ - { - "hexValue": "746f6b656e2d6461696c792d6d696e742d6c696d6974", - "id": 1008, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1781:24:2", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_385b0fbf06aae812803f7f3a3a975b7e1dce19f50fb39baf3f341e2849e5ce06", - "typeString": "literal_string \"token-daily-mint-limit\"" - }, - "value": "token-daily-mint-limit" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_385b0fbf06aae812803f7f3a3a975b7e1dce19f50fb39baf3f341e2849e5ce06", - "typeString": "literal_string \"token-daily-mint-limit\"" - } - ], - "id": 1007, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "1771:9:2", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 1009, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1771:35:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 1015, - "mutability": "constant", - "name": "PREFIX_TOKEN_DAILY_MINT_AMOUNT", - "nameLocation": "1838:30:2", - "nodeType": "VariableDeclaration", - "scope": 3073, - "src": "1812:95:2", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1011, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1812:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "arguments": [ - { - "hexValue": "746f6b656e2d6461696c792d6d696e742d616d6f756e74", - "id": 1013, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1881:25:2", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_4281768ab7480ddcf054116642fb644388166407fc26c4e8e435dd259143cfd2", - "typeString": "literal_string \"token-daily-mint-amount\"" - }, - "value": "token-daily-mint-amount" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_4281768ab7480ddcf054116642fb644388166407fc26c4e8e435dd259143cfd2", - "typeString": "literal_string \"token-daily-mint-amount\"" - } - ], - "id": 1012, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "1871:9:2", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 1014, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1871:36:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 1020, - "mutability": "constant", - "name": "SELECTOR_BURN_TOKEN", - "nameLocation": "1940:19:2", - "nodeType": "VariableDeclaration", - "scope": 3073, - "src": "1914:70:2", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1016, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1914:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "arguments": [ - { - "hexValue": "6275726e546f6b656e", - "id": 1018, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1972:11:2", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_da199c0e76f665e0450020791c7f8eacc75f3cdbace313272c28f93e5390b62c", - "typeString": "literal_string \"burnToken\"" - }, - "value": "burnToken" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_da199c0e76f665e0450020791c7f8eacc75f3cdbace313272c28f93e5390b62c", - "typeString": "literal_string \"burnToken\"" - } - ], - "id": 1017, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "1962:9:2", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 1019, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1962:22:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 1025, - "mutability": "constant", - "name": "SELECTOR_DEPLOY_TOKEN", - "nameLocation": "2016:21:2", - "nodeType": "VariableDeclaration", - "scope": 3073, - "src": "1990:74:2", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1021, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1990:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "arguments": [ - { - "hexValue": "6465706c6f79546f6b656e", - "id": 1023, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2050:13:2", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_5763814b98a3aa86f212797af3273868b5dd6e2a532d764a79b98ca859e7bbad", - "typeString": "literal_string \"deployToken\"" - }, - "value": "deployToken" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_5763814b98a3aa86f212797af3273868b5dd6e2a532d764a79b98ca859e7bbad", - "typeString": "literal_string \"deployToken\"" - } - ], - "id": 1022, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "2040:9:2", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 1024, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2040:24:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 1030, - "mutability": "constant", - "name": "SELECTOR_MINT_TOKEN", - "nameLocation": "2096:19:2", - "nodeType": "VariableDeclaration", - "scope": 3073, - "src": "2070:70:2", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1026, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2070:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "arguments": [ - { - "hexValue": "6d696e74546f6b656e", - "id": 1028, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2128:11:2", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_ec78d9c22c08bb9f0ecd5d95571ae83e3f22219c5a9278c3270691d50abfd91b", - "typeString": "literal_string \"mintToken\"" - }, - "value": "mintToken" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_ec78d9c22c08bb9f0ecd5d95571ae83e3f22219c5a9278c3270691d50abfd91b", - "typeString": "literal_string \"mintToken\"" - } - ], - "id": 1027, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "2118:9:2", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 1029, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2118:22:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 1035, - "mutability": "constant", - "name": "SELECTOR_APPROVE_CONTRACT_CALL", - "nameLocation": "2172:30:2", - "nodeType": "VariableDeclaration", - "scope": 3073, - "src": "2146:91:2", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1031, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2146:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "arguments": [ - { - "hexValue": "617070726f7665436f6e747261637443616c6c", - "id": 1033, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2215:21:2", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_37ac16aabc4d87540e53151b2b716265cfd6b195db96a9daf8e893c829bbd233", - "typeString": "literal_string \"approveContractCall\"" - }, - "value": "approveContractCall" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_37ac16aabc4d87540e53151b2b716265cfd6b195db96a9daf8e893c829bbd233", - "typeString": "literal_string \"approveContractCall\"" - } - ], - "id": 1032, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "2205:9:2", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 1034, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2205:32:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 1040, - "mutability": "constant", - "name": "SELECTOR_APPROVE_CONTRACT_CALL_WITH_MINT", - "nameLocation": "2269:40:2", - "nodeType": "VariableDeclaration", - "scope": 3073, - "src": "2243:109:2", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1036, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2243:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "arguments": [ - { - "hexValue": "617070726f7665436f6e747261637443616c6c576974684d696e74", - "id": 1038, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2322:29:2", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_f41504255b911b3042ee4f8786fdf7cf4bcf24ace033fa16af3c8574e025e436", - "typeString": "literal_string \"approveContractCallWithMint\"" - }, - "value": "approveContractCallWithMint" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_f41504255b911b3042ee4f8786fdf7cf4bcf24ace033fa16af3c8574e025e436", - "typeString": "literal_string \"approveContractCallWithMint\"" - } - ], - "id": 1037, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "2312:9:2", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 1039, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2312:40:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 1045, - "mutability": "constant", - "name": "SELECTOR_TRANSFER_OPERATORSHIP", - "nameLocation": "2384:30:2", - "nodeType": "VariableDeclaration", - "scope": 3073, - "src": "2358:92:2", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1041, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2358:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "arguments": [ - { - "hexValue": "7472616e736665724f70657261746f7273686970", - "id": 1043, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2427:22:2", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_b460dcb6fd5797fc0e7ea0f13406c80d30702ba7f73a42bd91394775dcbca718", - "typeString": "literal_string \"transferOperatorship\"" - }, - "value": "transferOperatorship" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_b460dcb6fd5797fc0e7ea0f13406c80d30702ba7f73a42bd91394775dcbca718", - "typeString": "literal_string \"transferOperatorship\"" - } - ], - "id": 1042, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "2417:9:2", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 1044, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2417:33:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1047, - "mutability": "immutable", - "name": "AUTH_MODULE", - "nameLocation": "2484:11:2", - "nodeType": "VariableDeclaration", - "scope": 3073, - "src": "2457:38:2", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1046, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2457:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1049, - "mutability": "immutable", - "name": "TOKEN_DEPLOYER_IMPLEMENTATION", - "nameLocation": "2528:29:2", - "nodeType": "VariableDeclaration", - "scope": 3073, - "src": "2501:56:2", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1048, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2501:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "body": { - "id": 1082, - "nodeType": "Block", - "src": "2633:269:2", - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1060, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "expression": { - "id": 1056, - "name": "authModule", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1051, - "src": "2647:10:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 1057, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "code", - "nodeType": "MemberAccess", - "src": "2647:15:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 1058, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "src": "2647:22:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 1059, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2673:1:2", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "2647:27:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1064, - "nodeType": "IfStatement", - "src": "2643:59:2", - "trueBody": { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 1061, - "name": "InvalidAuthModule", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5371, - "src": "2683:17:2", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 1062, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2683:19:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1063, - "nodeType": "RevertStatement", - "src": "2676:26:2" - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1069, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "expression": { - "id": 1065, - "name": "tokenDeployerImplementation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1053, - "src": "2716:27:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 1066, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "code", - "nodeType": "MemberAccess", - "src": "2716:32:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 1067, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "src": "2716:39:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 1068, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2759:1:2", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "2716:44:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1073, - "nodeType": "IfStatement", - "src": "2712:79:2", - "trueBody": { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 1070, - "name": "InvalidTokenDeployer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5373, - "src": "2769:20:2", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 1071, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2769:22:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1072, - "nodeType": "RevertStatement", - "src": "2762:29:2" - } - }, - { - "expression": { - "id": 1076, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 1074, - "name": "AUTH_MODULE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1047, - "src": "2802:11:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 1075, - "name": "authModule", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1051, - "src": "2816:10:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "2802:24:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 1077, - "nodeType": "ExpressionStatement", - "src": "2802:24:2" - }, - { - "expression": { - "id": 1080, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 1078, - "name": "TOKEN_DEPLOYER_IMPLEMENTATION", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1049, - "src": "2836:29:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 1079, - "name": "tokenDeployerImplementation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1053, - "src": "2868:27:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "2836:59:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 1081, - "nodeType": "ExpressionStatement", - "src": "2836:59:2" - } - ] - }, - "id": 1083, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1054, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1051, - "mutability": "mutable", - "name": "authModule", - "nameLocation": "2584:10:2", - "nodeType": "VariableDeclaration", - "scope": 1083, - "src": "2576:18:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1050, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2576:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1053, - "mutability": "mutable", - "name": "tokenDeployerImplementation", - "nameLocation": "2604:27:2", - "nodeType": "VariableDeclaration", - "scope": 1083, - "src": "2596:35:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1052, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2596:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "2575:57:2" - }, - "returnParameters": { - "id": 1055, - "nodeType": "ParameterList", - "parameters": [], - "src": "2633:0:2" - }, - "scope": 3073, - "src": "2564:338:2", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 1097, - "nodeType": "Block", - "src": "2928:78:2", - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 1091, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 1085, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "2942:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1086, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "2942:10:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "arguments": [ - { - "id": 1089, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "2964:4:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AxelarGateway_$3073", - "typeString": "contract AxelarGateway" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_AxelarGateway_$3073", - "typeString": "contract AxelarGateway" - } - ], - "id": 1088, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2956:7:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 1087, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2956:7:2", - "typeDescriptions": {} - } - }, - "id": 1090, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2956:13:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "2942:27:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1095, - "nodeType": "IfStatement", - "src": "2938:49:2", - "trueBody": { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 1092, - "name": "NotSelf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5363, - "src": "2978:7:2", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 1093, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2978:9:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1094, - "nodeType": "RevertStatement", - "src": "2971:16:2" - } - }, - { - "id": 1096, - "nodeType": "PlaceholderStatement", - "src": "2998:1:2" - } - ] - }, - "id": 1098, - "name": "onlySelf", - "nameLocation": "2917:8:2", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 1084, - "nodeType": "ParameterList", - "parameters": [], - "src": "2925:2:2" - }, - "src": "2908:98:2", - "virtual": false, - "visibility": "internal" - }, - { - "baseFunctions": [ - 5520 - ], - "body": { - "id": 1125, - "nodeType": "Block", - "src": "3264:149:2", - "statements": [ - { - "expression": { - "arguments": [ - { - "expression": { - "id": 1110, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3289:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1111, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "3289:10:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 1112, - "name": "symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1104, - "src": "3301:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - } - }, - { - "id": 1113, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1106, - "src": "3309:6:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1109, - "name": "_burnTokenFrom", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2737, - "src": "3274:14:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_string_memory_ptr_$_t_uint256_$returns$__$", - "typeString": "function (address,string memory,uint256)" - } - }, - "id": 1114, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3274:42:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1115, - "nodeType": "ExpressionStatement", - "src": "3274:42:2" - }, - { - "eventCall": { - "arguments": [ - { - "expression": { - "id": 1117, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3341:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1118, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "3341:10:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 1119, - "name": "destinationChain", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1100, - "src": "3353:16:2", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - } - }, - { - "id": 1120, - "name": "destinationAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1102, - "src": "3371:18:2", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - } - }, - { - "id": 1121, - "name": "symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1104, - "src": "3391:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - } - }, - { - "id": 1122, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1106, - "src": "3399:6:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "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_uint256", - "typeString": "uint256" - } - ], - "id": 1116, - "name": "TokenSent", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5421, - "src": "3331:9:2", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_uint256_$returns$__$", - "typeString": "function (address,string memory,string memory,string memory,uint256)" - } - }, - "id": 1123, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3331:75:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1124, - "nodeType": "EmitStatement", - "src": "3326:80:2" - } - ] - }, - "functionSelector": "26ef699d", - "id": 1126, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "sendToken", - "nameLocation": "3097:9:2", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1107, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1100, - "mutability": "mutable", - "name": "destinationChain", - "nameLocation": "3132:16:2", - "nodeType": "VariableDeclaration", - "scope": 1126, - "src": "3116:32:2", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1099, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3116:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1102, - "mutability": "mutable", - "name": "destinationAddress", - "nameLocation": "3174:18:2", - "nodeType": "VariableDeclaration", - "scope": 1126, - "src": "3158:34:2", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1101, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3158:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1104, - "mutability": "mutable", - "name": "symbol", - "nameLocation": "3218:6:2", - "nodeType": "VariableDeclaration", - "scope": 1126, - "src": "3202:22:2", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1103, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3202:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1106, - "mutability": "mutable", - "name": "amount", - "nameLocation": "3242:6:2", - "nodeType": "VariableDeclaration", - "scope": 1126, - "src": "3234:14:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1105, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3234:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3106:148:2" - }, - "returnParameters": { - "id": 1108, - "nodeType": "ParameterList", - "parameters": [], - "src": "3264:0:2" - }, - "scope": 3073, - "src": "3088:325:2", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "baseFunctions": [ - 5529 - ], - "body": { - "id": 1146, - "nodeType": "Block", - "src": "3582:121:2", - "statements": [ - { - "eventCall": { - "arguments": [ - { - "expression": { - "id": 1136, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3610:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1137, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "3610:10:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 1138, - "name": "destinationChain", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1128, - "src": "3622:16:2", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - } - }, - { - "id": 1139, - "name": "destinationContractAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1130, - "src": "3640:26:2", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - } - }, - { - "arguments": [ - { - "id": 1141, - "name": "payload", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1132, - "src": "3678:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - ], - "id": 1140, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "3668:9:2", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 1142, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3668:18:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 1143, - "name": "payload", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1132, - "src": "3688:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - }, - { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - ], - "id": 1135, - "name": "ContractCall", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5433, - "src": "3597:12:2", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_bytes32_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (address,string memory,string memory,bytes32,bytes memory)" - } - }, - "id": 1144, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3597:99:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1145, - "nodeType": "EmitStatement", - "src": "3592:104:2" - } - ] - }, - "functionSelector": "1c92115f", - "id": 1147, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "callContract", - "nameLocation": "3428:12:2", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1133, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1128, - "mutability": "mutable", - "name": "destinationChain", - "nameLocation": "3466:16:2", - "nodeType": "VariableDeclaration", - "scope": 1147, - "src": "3450:32:2", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1127, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3450:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1130, - "mutability": "mutable", - "name": "destinationContractAddress", - "nameLocation": "3508:26:2", - "nodeType": "VariableDeclaration", - "scope": 1147, - "src": "3492:42:2", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1129, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3492:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1132, - "mutability": "mutable", - "name": "payload", - "nameLocation": "3559:7:2", - "nodeType": "VariableDeclaration", - "scope": 1147, - "src": "3544:22:2", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 1131, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "3544:5:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "3440:132:2" - }, - "returnParameters": { - "id": 1134, - "nodeType": "ParameterList", - "parameters": [], - "src": "3582:0:2" - }, - "scope": 3073, - "src": "3419:284:2", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "baseFunctions": [ - 5542 - ], - "body": { - "id": 1180, - "nodeType": "Block", - "src": "3937:198:2", - "statements": [ - { - "expression": { - "arguments": [ - { - "expression": { - "id": 1161, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3962:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1162, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "3962:10:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 1163, - "name": "symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1155, - "src": "3974:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - } - }, - { - "id": 1164, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1157, - "src": "3982:6:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1160, - "name": "_burnTokenFrom", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2737, - "src": "3947:14:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_string_memory_ptr_$_t_uint256_$returns$__$", - "typeString": "function (address,string memory,uint256)" - } - }, - "id": 1165, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3947:42:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1166, - "nodeType": "ExpressionStatement", - "src": "3947:42:2" - }, - { - "eventCall": { - "arguments": [ - { - "expression": { - "id": 1168, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4026:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1169, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "4026:10:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 1170, - "name": "destinationChain", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1149, - "src": "4038:16:2", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - } - }, - { - "id": 1171, - "name": "destinationContractAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1151, - "src": "4056:26:2", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - } - }, - { - "arguments": [ - { - "id": 1173, - "name": "payload", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1153, - "src": "4094:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - ], - "id": 1172, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "4084:9:2", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 1174, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4084:18:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 1175, - "name": "payload", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1153, - "src": "4104:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - }, - { - "id": 1176, - "name": "symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1155, - "src": "4113:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - } - }, - { - "id": 1177, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1157, - "src": "4121:6:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - }, - { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - }, - { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1167, - "name": "ContractCallWithToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5449, - "src": "4004:21:2", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_bytes32_$_t_bytes_memory_ptr_$_t_string_memory_ptr_$_t_uint256_$returns$__$", - "typeString": "function (address,string memory,string memory,bytes32,bytes memory,string memory,uint256)" - } - }, - "id": 1178, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4004:124:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1179, - "nodeType": "EmitStatement", - "src": "3999:129:2" - } - ] - }, - "functionSelector": "b5417084", - "id": 1181, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "callContractWithToken", - "nameLocation": "3718:21:2", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1158, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1149, - "mutability": "mutable", - "name": "destinationChain", - "nameLocation": "3765:16:2", - "nodeType": "VariableDeclaration", - "scope": 1181, - "src": "3749:32:2", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1148, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3749:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1151, - "mutability": "mutable", - "name": "destinationContractAddress", - "nameLocation": "3807:26:2", - "nodeType": "VariableDeclaration", - "scope": 1181, - "src": "3791:42:2", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1150, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3791:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1153, - "mutability": "mutable", - "name": "payload", - "nameLocation": "3858:7:2", - "nodeType": "VariableDeclaration", - "scope": 1181, - "src": "3843:22:2", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 1152, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "3843:5:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1155, - "mutability": "mutable", - "name": "symbol", - "nameLocation": "3891:6:2", - "nodeType": "VariableDeclaration", - "scope": 1181, - "src": "3875:22:2", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1154, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3875:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1157, - "mutability": "mutable", - "name": "amount", - "nameLocation": "3915:6:2", - "nodeType": "VariableDeclaration", - "scope": 1181, - "src": "3907:14:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1156, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3907:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3739:188:2" - }, - "returnParameters": { - "id": 1159, - "nodeType": "ParameterList", - "parameters": [], - "src": "3937:0:2" - }, - "scope": 3073, - "src": "3709:426:2", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "baseFunctions": [ - 5557 - ], - "body": { - "id": 1207, - "nodeType": "Block", - "src": "4382:131:2", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "id": 1199, - "name": "commandId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1183, - "src": "4437:9:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 1200, - "name": "sourceChain", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1185, - "src": "4448:11:2", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - } - }, - { - "id": 1201, - "name": "sourceAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1187, - "src": "4461:13:2", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - } - }, - { - "id": 1202, - "name": "contractAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1189, - "src": "4476:15:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 1203, - "name": "payloadHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1191, - "src": "4493:11:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - }, - { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 1198, - "name": "_getIsContractCallApprovedKey", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2848, - "src": "4407:29:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes32_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_address_$_t_bytes32_$returns$_t_bytes32_$", - "typeString": "function (bytes32,string memory,string memory,address,bytes32) pure returns (bytes32)" - } - }, - "id": 1204, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4407:98:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 1197, - "name": "getBool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4131, - "src": "4399:7:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", - "typeString": "function (bytes32) view returns (bool)" - } - }, - "id": 1205, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4399:107:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 1196, - "id": 1206, - "nodeType": "Return", - "src": "4392:114:2" - } - ] - }, - "functionSelector": "f6a5f9f5", - "id": 1208, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "isContractCallApproved", - "nameLocation": "4150:22:2", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 1193, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "4358:8:2" - }, - "parameters": { - "id": 1192, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1183, - "mutability": "mutable", - "name": "commandId", - "nameLocation": "4190:9:2", - "nodeType": "VariableDeclaration", - "scope": 1208, - "src": "4182:17:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1182, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "4182:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1185, - "mutability": "mutable", - "name": "sourceChain", - "nameLocation": "4225:11:2", - "nodeType": "VariableDeclaration", - "scope": 1208, - "src": "4209:27:2", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1184, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4209:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1187, - "mutability": "mutable", - "name": "sourceAddress", - "nameLocation": "4262:13:2", - "nodeType": "VariableDeclaration", - "scope": 1208, - "src": "4246:29:2", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1186, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4246:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1189, - "mutability": "mutable", - "name": "contractAddress", - "nameLocation": "4293:15:2", - "nodeType": "VariableDeclaration", - "scope": 1208, - "src": "4285:23:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1188, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4285:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1191, - "mutability": "mutable", - "name": "payloadHash", - "nameLocation": "4326:11:2", - "nodeType": "VariableDeclaration", - "scope": 1208, - "src": "4318:19:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1190, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "4318:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "4172:171:2" - }, - "returnParameters": { - "id": 1196, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1195, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1208, - "src": "4376:4:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1194, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "4376:4:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "4375:6:2" - }, - "scope": 3073, - "src": "4141:372:2", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "baseFunctions": [ - 5576 - ], - "body": { - "id": 1240, - "nodeType": "Block", - "src": "4823:197:2", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "id": 1230, - "name": "commandId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1210, - "src": "4915:9:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 1231, - "name": "sourceChain", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1212, - "src": "4926:11:2", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - } - }, - { - "id": 1232, - "name": "sourceAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1214, - "src": "4939:13:2", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - } - }, - { - "id": 1233, - "name": "contractAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1216, - "src": "4954:15:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 1234, - "name": "payloadHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1218, - "src": "4971:11:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 1235, - "name": "symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1220, - "src": "4984:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - } - }, - { - "id": 1236, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1222, - "src": "4992:6:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - }, - { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1229, - "name": "_getIsContractCallApprovedWithMintKey", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2882, - "src": "4877:37:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes32_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_address_$_t_bytes32_$_t_string_memory_ptr_$_t_uint256_$returns$_t_bytes32_$", - "typeString": "function (bytes32,string memory,string memory,address,bytes32,string memory,uint256) pure returns (bytes32)" - } - }, - "id": 1237, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4877:122:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 1228, - "name": "getBool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4131, - "src": "4852:7:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", - "typeString": "function (bytes32) view returns (bool)" - } - }, - "id": 1238, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4852:161:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 1227, - "id": 1239, - "nodeType": "Return", - "src": "4833:180:2" - } - ] - }, - "functionSelector": "bc00c216", - "id": 1241, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "isContractCallAndMintApproved", - "nameLocation": "4528:29:2", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 1224, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "4799:8:2" - }, - "parameters": { - "id": 1223, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1210, - "mutability": "mutable", - "name": "commandId", - "nameLocation": "4575:9:2", - "nodeType": "VariableDeclaration", - "scope": 1241, - "src": "4567:17:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1209, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "4567:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1212, - "mutability": "mutable", - "name": "sourceChain", - "nameLocation": "4610:11:2", - "nodeType": "VariableDeclaration", - "scope": 1241, - "src": "4594:27:2", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1211, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4594:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1214, - "mutability": "mutable", - "name": "sourceAddress", - "nameLocation": "4647:13:2", - "nodeType": "VariableDeclaration", - "scope": 1241, - "src": "4631:29:2", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1213, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4631:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1216, - "mutability": "mutable", - "name": "contractAddress", - "nameLocation": "4678:15:2", - "nodeType": "VariableDeclaration", - "scope": 1241, - "src": "4670:23:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1215, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4670:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1218, - "mutability": "mutable", - "name": "payloadHash", - "nameLocation": "4711:11:2", - "nodeType": "VariableDeclaration", - "scope": 1241, - "src": "4703:19:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1217, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "4703:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1220, - "mutability": "mutable", - "name": "symbol", - "nameLocation": "4748:6:2", - "nodeType": "VariableDeclaration", - "scope": 1241, - "src": "4732:22:2", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1219, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4732:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1222, - "mutability": "mutable", - "name": "amount", - "nameLocation": "4772:6:2", - "nodeType": "VariableDeclaration", - "scope": 1241, - "src": "4764:14:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1221, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4764:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "4557:227:2" - }, - "returnParameters": { - "id": 1227, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1226, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1241, - "src": "4817:4:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1225, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "4817:4:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "4816:6:2" - }, - "scope": 3073, - "src": "4519:501:2", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "baseFunctions": [ - 5589 - ], - "body": { - "id": 1279, - "nodeType": "Block", - "src": "5233:195:2", - "statements": [ - { - "assignments": [ - 1256 - ], - "declarations": [ - { - "constant": false, - "id": 1256, - "mutability": "mutable", - "name": "key", - "nameLocation": "5251:3:2", - "nodeType": "VariableDeclaration", - "scope": 1279, - "src": "5243:11:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1255, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "5243:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "id": 1265, - "initialValue": { - "arguments": [ - { - "id": 1258, - "name": "commandId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1243, - "src": "5287:9:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 1259, - "name": "sourceChain", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1245, - "src": "5298:11:2", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - } - }, - { - "id": 1260, - "name": "sourceAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1247, - "src": "5311:13:2", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - } - }, - { - "expression": { - "id": 1261, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5326:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1262, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "5326:10:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 1263, - "name": "payloadHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1249, - "src": "5338:11:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - }, - { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 1257, - "name": "_getIsContractCallApprovedKey", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2848, - "src": "5257:29:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes32_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_address_$_t_bytes32_$returns$_t_bytes32_$", - "typeString": "function (bytes32,string memory,string memory,address,bytes32) pure returns (bytes32)" - } - }, - "id": 1264, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5257:93:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5243:107:2" - }, - { - "expression": { - "id": 1270, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 1266, - "name": "valid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1253, - "src": "5360:5:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 1268, - "name": "key", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1256, - "src": "5376:3:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 1267, - "name": "getBool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4131, - "src": "5368:7:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", - "typeString": "function (bytes32) view returns (bool)" - } - }, - "id": 1269, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5368:12:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "5360:20:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1271, - "nodeType": "ExpressionStatement", - "src": "5360:20:2" - }, - { - "condition": { - "id": 1272, - "name": "valid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1253, - "src": "5394:5:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1278, - "nodeType": "IfStatement", - "src": "5390:31:2", - "trueBody": { - "expression": { - "arguments": [ - { - "id": 1274, - "name": "key", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1256, - "src": "5410:3:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "hexValue": "66616c7365", - "id": 1275, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5415:5:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 1273, - "name": "_setBool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4213, - "src": "5401:8:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_bool_$returns$__$", - "typeString": "function (bytes32,bool)" - } - }, - "id": 1276, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5401:20:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1277, - "nodeType": "ExpressionStatement", - "src": "5401:20:2" - } - } - ] - }, - "functionSelector": "5f6970c3", - "id": 1280, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "validateContractCall", - "nameLocation": "5035:20:2", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 1251, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "5203:8:2" - }, - "parameters": { - "id": 1250, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1243, - "mutability": "mutable", - "name": "commandId", - "nameLocation": "5073:9:2", - "nodeType": "VariableDeclaration", - "scope": 1280, - "src": "5065:17:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1242, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "5065:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1245, - "mutability": "mutable", - "name": "sourceChain", - "nameLocation": "5108:11:2", - "nodeType": "VariableDeclaration", - "scope": 1280, - "src": "5092:27:2", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1244, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "5092:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1247, - "mutability": "mutable", - "name": "sourceAddress", - "nameLocation": "5145:13:2", - "nodeType": "VariableDeclaration", - "scope": 1280, - "src": "5129:29:2", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1246, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "5129:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1249, - "mutability": "mutable", - "name": "payloadHash", - "nameLocation": "5176:11:2", - "nodeType": "VariableDeclaration", - "scope": 1280, - "src": "5168:19:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1248, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "5168:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "5055:138:2" - }, - "returnParameters": { - "id": 1254, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1253, - "mutability": "mutable", - "name": "valid", - "nameLocation": "5226:5:2", - "nodeType": "VariableDeclaration", - "scope": 1280, - "src": "5221:10:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1252, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "5221:4:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "5220:12:2" - }, - "scope": 3073, - "src": "5026:402:2", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "baseFunctions": [ - 5606 - ], - "body": { - "id": 1332, - "nodeType": "Block", - "src": "5704:330:2", - "statements": [ - { - "assignments": [ - 1299 - ], - "declarations": [ - { - "constant": false, - "id": 1299, - "mutability": "mutable", - "name": "key", - "nameLocation": "5722:3:2", - "nodeType": "VariableDeclaration", - "scope": 1332, - "src": "5714:11:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1298, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "5714:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "id": 1310, - "initialValue": { - "arguments": [ - { - "id": 1301, - "name": "commandId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1282, - "src": "5766:9:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 1302, - "name": "sourceChain", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1284, - "src": "5777:11:2", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - } - }, - { - "id": 1303, - "name": "sourceAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1286, - "src": "5790:13:2", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - } - }, - { - "expression": { - "id": 1304, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5805:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1305, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "5805:10:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 1306, - "name": "payloadHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1288, - "src": "5817:11:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 1307, - "name": "symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1290, - "src": "5830:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - } - }, - { - "id": 1308, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1292, - "src": "5838:6:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - }, - { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1300, - "name": "_getIsContractCallApprovedWithMintKey", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2882, - "src": "5728:37:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes32_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_address_$_t_bytes32_$_t_string_memory_ptr_$_t_uint256_$returns$_t_bytes32_$", - "typeString": "function (bytes32,string memory,string memory,address,bytes32,string memory,uint256) pure returns (bytes32)" - } - }, - "id": 1309, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5728:117:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5714:131:2" - }, - { - "expression": { - "id": 1315, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 1311, - "name": "valid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1296, - "src": "5855:5:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 1313, - "name": "key", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1299, - "src": "5871:3:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 1312, - "name": "getBool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4131, - "src": "5863:7:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", - "typeString": "function (bytes32) view returns (bool)" - } - }, - "id": 1314, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5863:12:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "5855:20:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1316, - "nodeType": "ExpressionStatement", - "src": "5855:20:2" - }, - { - "condition": { - "id": 1317, - "name": "valid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1296, - "src": "5889:5:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1331, - "nodeType": "IfStatement", - "src": "5885:143:2", - "trueBody": { - "id": 1330, - "nodeType": "Block", - "src": "5896:132:2", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 1319, - "name": "key", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1299, - "src": "5954:3:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "hexValue": "66616c7365", - "id": 1320, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5959:5:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 1318, - "name": "_setBool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4213, - "src": "5945:8:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_bool_$returns$__$", - "typeString": "function (bytes32,bool)" - } - }, - "id": 1321, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5945:20:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1322, - "nodeType": "ExpressionStatement", - "src": "5945:20:2" - }, - { - "expression": { - "arguments": [ - { - "id": 1324, - "name": "symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1290, - "src": "5990:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - } - }, - { - "expression": { - "id": 1325, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5998:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1326, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "5998:10:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 1327, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1292, - "src": "6010:6:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1323, - "name": "_mintToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2593, - "src": "5979:10:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (string memory,address,uint256)" - } - }, - "id": 1328, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5979:38:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1329, - "nodeType": "ExpressionStatement", - "src": "5979:38:2" - } - ] - } - } - ] - }, - "functionSelector": "1876eed9", - "id": 1333, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "validateContractCallAndMint", - "nameLocation": "5443:27:2", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 1294, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "5674:8:2" - }, - "parameters": { - "id": 1293, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1282, - "mutability": "mutable", - "name": "commandId", - "nameLocation": "5488:9:2", - "nodeType": "VariableDeclaration", - "scope": 1333, - "src": "5480:17:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1281, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "5480:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1284, - "mutability": "mutable", - "name": "sourceChain", - "nameLocation": "5523:11:2", - "nodeType": "VariableDeclaration", - "scope": 1333, - "src": "5507:27:2", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1283, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "5507:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1286, - "mutability": "mutable", - "name": "sourceAddress", - "nameLocation": "5560:13:2", - "nodeType": "VariableDeclaration", - "scope": 1333, - "src": "5544:29:2", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1285, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "5544:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1288, - "mutability": "mutable", - "name": "payloadHash", - "nameLocation": "5591:11:2", - "nodeType": "VariableDeclaration", - "scope": 1333, - "src": "5583:19:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1287, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "5583:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1290, - "mutability": "mutable", - "name": "symbol", - "nameLocation": "5628:6:2", - "nodeType": "VariableDeclaration", - "scope": 1333, - "src": "5612:22:2", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1289, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "5612:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1292, - "mutability": "mutable", - "name": "amount", - "nameLocation": "5652:6:2", - "nodeType": "VariableDeclaration", - "scope": 1333, - "src": "5644:14:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1291, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5644:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "5470:194:2" - }, - "returnParameters": { - "id": 1297, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1296, - "mutability": "mutable", - "name": "valid", - "nameLocation": "5697:5:2", - "nodeType": "VariableDeclaration", - "scope": 1333, - "src": "5692:10:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1295, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "5692:4:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "5691:12:2" - }, - "scope": 3073, - "src": "5434:600:2", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "baseFunctions": [ - 5613 - ], - "body": { - "id": 1347, - "nodeType": "Block", - "src": "6185:67:2", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "id": 1343, - "name": "symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1335, - "src": "6237:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 1342, - "name": "_getTokenDailyMintLimitKey", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2753, - "src": "6210:26:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (string memory) pure returns (bytes32)" - } - }, - "id": 1344, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6210:34:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 1341, - "name": "getUint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4083, - "src": "6202:7:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", - "typeString": "function (bytes32) view returns (uint256)" - } - }, - "id": 1345, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6202:43:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 1340, - "id": 1346, - "nodeType": "Return", - "src": "6195:50:2" - } - ] - }, - "functionSelector": "5dde8117", - "id": 1348, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "tokenDailyMintLimit", - "nameLocation": "6104:19:2", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 1337, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "6158:8:2" - }, - "parameters": { - "id": 1336, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1335, - "mutability": "mutable", - "name": "symbol", - "nameLocation": "6138:6:2", - "nodeType": "VariableDeclaration", - "scope": 1348, - "src": "6124:20:2", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1334, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "6124:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "6123:22:2" - }, - "returnParameters": { - "id": 1340, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1339, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1348, - "src": "6176:7:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1338, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6176:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "6175:9:2" - }, - "scope": 3073, - "src": "6095:157:2", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "baseFunctions": [ - 5620 - ], - "body": { - "id": 1366, - "nodeType": "Block", - "src": "6349:94:2", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "id": 1358, - "name": "symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1350, - "src": "6402:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1362, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 1359, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "6410:5:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 1360, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "src": "6410:15:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "hexValue": "31", - "id": 1361, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6428:6:2", - "subdenomination": "days", - "typeDescriptions": { - "typeIdentifier": "t_rational_86400_by_1", - "typeString": "int_const 86400" - }, - "value": "1" - }, - "src": "6410:24:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1357, - "name": "_getTokenDailyMintAmountKey", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2772, - "src": "6374:27:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$_t_uint256_$returns$_t_bytes32_$", - "typeString": "function (string memory,uint256) pure returns (bytes32)" - } - }, - "id": 1363, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6374:61:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 1356, - "name": "getUint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4083, - "src": "6366:7:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", - "typeString": "function (bytes32) view returns (uint256)" - } - }, - "id": 1364, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6366:70:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 1355, - "id": 1365, - "nodeType": "Return", - "src": "6359:77:2" - } - ] - }, - "functionSelector": "23275548", - "id": 1367, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "tokenDailyMintAmount", - "nameLocation": "6267:20:2", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 1352, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "6322:8:2" - }, - "parameters": { - "id": 1351, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1350, - "mutability": "mutable", - "name": "symbol", - "nameLocation": "6302:6:2", - "nodeType": "VariableDeclaration", - "scope": 1367, - "src": "6288:20:2", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1349, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "6288:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "6287:22:2" - }, - "returnParameters": { - "id": 1355, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1354, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1367, - "src": "6340:7:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1353, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6340:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "6339:9:2" - }, - "scope": 3073, - "src": "6258:185:2", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "baseFunctions": [ - 5625 - ], - "body": { - "id": 1375, - "nodeType": "Block", - "src": "6514:29:2", - "statements": [ - { - "expression": { - "hexValue": "66616c7365", - "id": 1373, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6531:5:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 1372, - "id": 1374, - "nodeType": "Return", - "src": "6524:12:2" - } - ] - }, - "functionSelector": "aa1e1f0a", - "id": 1376, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "allTokensFrozen", - "nameLocation": "6458:15:2", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 1369, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "6490:8:2" - }, - "parameters": { - "id": 1368, - "nodeType": "ParameterList", - "parameters": [], - "src": "6473:2:2" - }, - "returnParameters": { - "id": 1372, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1371, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1376, - "src": "6508:4:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1370, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6508:4:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "6507:6:2" - }, - "scope": 3073, - "src": "6449:94:2", - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - }, - { - "baseFunctions": [ - 5630 - ], - "body": { - "id": 1386, - "nodeType": "Block", - "src": "6614:54:2", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 1383, - "name": "KEY_IMPLEMENTATION", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 980, - "src": "6642:18:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 1382, - "name": "getAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4107, - "src": "6631:10:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_address_$", - "typeString": "function (bytes32) view returns (address)" - } - }, - "id": 1384, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6631:30:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "functionReturnParameters": 1381, - "id": 1385, - "nodeType": "Return", - "src": "6624:37:2" - } - ] - }, - "functionSelector": "5c60da1b", - "id": 1387, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "implementation", - "nameLocation": "6558:14:2", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 1378, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "6587:8:2" - }, - "parameters": { - "id": 1377, - "nodeType": "ParameterList", - "parameters": [], - "src": "6572:2:2" - }, - "returnParameters": { - "id": 1381, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1380, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1387, - "src": "6605:7:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1379, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6605:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "6604:9:2" - }, - "scope": 3073, - "src": "6549:119:2", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "baseFunctions": [ - 5637 - ], - "body": { - "id": 1401, - "nodeType": "Block", - "src": "6759:63:2", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "id": 1397, - "name": "symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1389, - "src": "6807:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 1396, - "name": "_getTokenAddressKey", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2804, - "src": "6787:19:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (string memory) pure returns (bytes32)" - } - }, - "id": 1398, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6787:27:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 1395, - "name": "getAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4107, - "src": "6776:10:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_address_$", - "typeString": "function (bytes32) view returns (address)" - } - }, - "id": 1399, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6776:39:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "functionReturnParameters": 1394, - "id": 1400, - "nodeType": "Return", - "src": "6769:46:2" - } - ] - }, - "functionSelector": "935b13f6", - "id": 1402, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "tokenAddresses", - "nameLocation": "6683:14:2", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 1391, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "6732:8:2" - }, - "parameters": { - "id": 1390, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1389, - "mutability": "mutable", - "name": "symbol", - "nameLocation": "6712:6:2", - "nodeType": "VariableDeclaration", - "scope": 1402, - "src": "6698:20:2", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1388, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "6698:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "6697:22:2" - }, - "returnParameters": { - "id": 1394, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1393, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1402, - "src": "6750:7:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1392, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6750:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "6749:9:2" - }, - "scope": 3073, - "src": "6674:148:2", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "baseFunctions": [ - 5644 - ], - "body": { - "id": 1412, - "nodeType": "Block", - "src": "6902:29:2", - "statements": [ - { - "expression": { - "hexValue": "66616c7365", - "id": 1410, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6919:5:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 1409, - "id": 1411, - "nodeType": "Return", - "src": "6912:12:2" - } - ] - }, - "functionSelector": "7b1b769e", - "id": 1413, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "tokenFrozen", - "nameLocation": "6837:11:2", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 1406, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "6878:8:2" - }, - "parameters": { - "id": 1405, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1404, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1413, - "src": "6849:13:2", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1403, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "6849:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "6848:15:2" - }, - "returnParameters": { - "id": 1409, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1408, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1413, - "src": "6896:4:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1407, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6896:4:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "6895:6:2" - }, - "scope": 3073, - "src": "6828:103:2", - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - }, - { - "baseFunctions": [ - 5651 - ], - "body": { - "id": 1427, - "nodeType": "Block", - "src": "7019:68:2", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "id": 1423, - "name": "commandId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1415, - "src": "7069:9:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 1422, - "name": "_getIsCommandExecutedKey", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2820, - "src": "7044:24:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes32_$returns$_t_bytes32_$", - "typeString": "function (bytes32) pure returns (bytes32)" - } - }, - "id": 1424, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7044:35:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 1421, - "name": "getBool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4131, - "src": "7036:7:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", - "typeString": "function (bytes32) view returns (bool)" - } - }, - "id": 1425, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7036:44:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 1420, - "id": 1426, - "nodeType": "Return", - "src": "7029:51:2" - } - ] - }, - "functionSelector": "d26ff210", - "id": 1428, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "isCommandExecuted", - "nameLocation": "6946:17:2", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 1417, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "6995:8:2" - }, - "parameters": { - "id": 1416, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1415, - "mutability": "mutable", - "name": "commandId", - "nameLocation": "6972:9:2", - "nodeType": "VariableDeclaration", - "scope": 1428, - "src": "6964:17:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1414, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "6964:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "6963:19:2" - }, - "returnParameters": { - "id": 1420, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1419, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1428, - "src": "7013:4:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1418, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "7013:4:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "7012:6:2" - }, - "scope": 3073, - "src": "6937:150:2", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "baseFunctions": [ - 5656 - ], - "body": { - "id": 1438, - "nodeType": "Block", - "src": "7203:37:2", - "statements": [ - { - "expression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 1435, - "name": "_adminEpoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 278, - "src": "7220:11:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 1436, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7220:13:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 1434, - "id": 1437, - "nodeType": "Return", - "src": "7213:20:2" - } - ] - }, - "documentation": { - "id": 1429, - "nodeType": "StructuredDocumentation", - "src": "7093:42:2", - "text": "@dev Returns the current `adminEpoch`." - }, - "functionSelector": "364940d8", - "id": 1439, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "adminEpoch", - "nameLocation": "7149:10:2", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 1431, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "7176:8:2" - }, - "parameters": { - "id": 1430, - "nodeType": "ParameterList", - "parameters": [], - "src": "7159:2:2" - }, - "returnParameters": { - "id": 1434, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1433, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1439, - "src": "7194:7:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1432, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7194:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "7193:9:2" - }, - "scope": 3073, - "src": "7140:100:2", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "baseFunctions": [ - 5663 - ], - "body": { - "id": 1452, - "nodeType": "Block", - "src": "7393:49:2", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 1449, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1442, - "src": "7429:5:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1448, - "name": "_getAdminThreshold", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 323, - "src": "7410:18:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) view returns (uint256)" - } - }, - "id": 1450, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7410:25:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 1447, - "id": 1451, - "nodeType": "Return", - "src": "7403:32:2" - } - ] - }, - "documentation": { - "id": 1440, - "nodeType": "StructuredDocumentation", - "src": "7246:62:2", - "text": "@dev Returns the admin threshold for a given `adminEpoch`." - }, - "functionSelector": "88b30587", - "id": 1453, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "adminThreshold", - "nameLocation": "7322:14:2", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 1444, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "7366:8:2" - }, - "parameters": { - "id": 1443, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1442, - "mutability": "mutable", - "name": "epoch", - "nameLocation": "7345:5:2", - "nodeType": "VariableDeclaration", - "scope": 1453, - "src": "7337:13:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1441, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7337:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "7336:15:2" - }, - "returnParameters": { - "id": 1447, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1446, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 1453, - "src": "7384:7:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1445, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7384:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "7383:9:2" - }, - "scope": 3073, - "src": "7313:129:2", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "baseFunctions": [ - 5671 - ], - "body": { - "id": 1497, - "nodeType": "Block", - "src": "7607:208:2", - "statements": [ - { - "assignments": [ - 1464 - ], - "declarations": [ - { - "constant": false, - "id": 1464, - "mutability": "mutable", - "name": "adminCount", - "nameLocation": "7625:10:2", - "nodeType": "VariableDeclaration", - "scope": 1497, - "src": "7617:18:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1463, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7617:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 1468, - "initialValue": { - "arguments": [ - { - "id": 1466, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1456, - "src": "7653:5:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1465, - "name": "_getAdminCount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 309, - "src": "7638:14:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) view returns (uint256)" - } - }, - "id": 1467, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7638:21:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7617:42:2" - }, - { - "expression": { - "id": 1475, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 1469, - "name": "results", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1461, - "src": "7669:7:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 1473, - "name": "adminCount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1464, - "src": "7693:10:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1472, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "7679:13:2", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_address_$dyn_memory_ptr_$", - "typeString": "function (uint256) pure returns (address[] memory)" - }, - "typeName": { - "baseType": { - "id": 1470, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7683:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 1471, - "nodeType": "ArrayTypeName", - "src": "7683:9:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - } - }, - "id": 1474, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7679:25:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "src": "7669:35:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 1476, - "nodeType": "ExpressionStatement", - "src": "7669:35:2" - }, - { - "body": { - "id": 1495, - "nodeType": "Block", - "src": "7752:57:2", - "statements": [ - { - "expression": { - "id": 1493, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 1486, - "name": "results", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1461, - "src": "7766:7:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 1488, - "indexExpression": { - "id": 1487, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1478, - "src": "7774:1:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7766:10:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 1490, - "name": "epoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1456, - "src": "7789:5:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 1491, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1478, - "src": "7796:1:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1489, - "name": "_getAdmin", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 295, - "src": "7779:9:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_address_$", - "typeString": "function (uint256,uint256) view returns (address)" - } - }, - "id": 1492, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7779:19:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "7766:32:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 1494, - "nodeType": "ExpressionStatement", - "src": "7766:32:2" - } - ] - }, - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1482, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1480, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1478, - "src": "7731:1:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "id": 1481, - "name": "adminCount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1464, - "src": "7735:10:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7731:14:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1496, - "initializationExpression": { - "assignments": [ - 1478 - ], - "declarations": [ - { - "constant": false, - "id": 1478, - "mutability": "mutable", - "name": "i", - "nameLocation": "7728:1:2", - "nodeType": "VariableDeclaration", - "scope": 1496, - "src": "7720:9:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1477, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7720:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 1479, - "nodeType": "VariableDeclarationStatement", - "src": "7720:9:2" - }, - "loopExpression": { - "expression": { - "id": 1484, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": true, - "src": "7747:3:2", - "subExpression": { - "id": 1483, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1478, - "src": "7749:1:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1485, - "nodeType": "ExpressionStatement", - "src": "7747:3:2" - }, - "nodeType": "ForStatement", - "src": "7715:94:2" - } - ] - }, - "documentation": { - "id": 1454, - "nodeType": "StructuredDocumentation", - "src": "7448:65:2", - "text": "@dev Returns the array of admins within a given `adminEpoch`." - }, - "functionSelector": "14bfd6d0", - "id": 1498, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "admins", - "nameLocation": "7527:6:2", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 1458, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "7563:8:2" - }, - "parameters": { - "id": 1457, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1456, - "mutability": "mutable", - "name": "epoch", - "nameLocation": "7542:5:2", - "nodeType": "VariableDeclaration", - "scope": 1498, - "src": "7534:13:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1455, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7534:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "7533:15:2" - }, - "returnParameters": { - "id": 1462, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1461, - "mutability": "mutable", - "name": "results", - "nameLocation": "7598:7:2", - "nodeType": "VariableDeclaration", - "scope": 1498, - "src": "7581:24:2", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 1459, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7581:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 1460, - "nodeType": "ArrayTypeName", - "src": "7581:9:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "visibility": "internal" - } - ], - "src": "7580:26:2" - }, - "scope": 3073, - "src": "7518:297:2", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "baseFunctions": [ - 5680 - ], - "body": { - "id": 1562, - "nodeType": "Block", - "src": "8015:388:2", - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1514, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 1510, - "name": "symbols", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1501, - "src": "8029:7:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_string_calldata_ptr_$dyn_calldata_ptr", - "typeString": "string calldata[] calldata" - } - }, - "id": 1511, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "src": "8029:14:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "expression": { - "id": 1512, - "name": "limits", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1504, - "src": "8047:6:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[] calldata" - } - }, - "id": 1513, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "src": "8047:13:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8029:31:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1518, - "nodeType": "IfStatement", - "src": "8025:77:2", - "trueBody": { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 1515, - "name": "InvalidSetDailyMintLimitsParams", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5405, - "src": "8069:31:2", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 1516, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8069:33:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1517, - "nodeType": "RevertStatement", - "src": "8062:40:2" - } - }, - { - "body": { - "id": 1560, - "nodeType": "Block", - "src": "8158:239:2", - "statements": [ - { - "assignments": [ - 1531 - ], - "declarations": [ - { - "constant": false, - "id": 1531, - "mutability": "mutable", - "name": "symbol", - "nameLocation": "8186:6:2", - "nodeType": "VariableDeclaration", - "scope": 1560, - "src": "8172:20:2", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1530, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "8172:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "id": 1535, - "initialValue": { - "baseExpression": { - "id": 1532, - "name": "symbols", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1501, - "src": "8195:7:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_string_calldata_ptr_$dyn_calldata_ptr", - "typeString": "string calldata[] calldata" - } - }, - "id": 1534, - "indexExpression": { - "id": 1533, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1520, - "src": "8203:1:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8195:10:2", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "8172:33:2" - }, - { - "assignments": [ - 1537 - ], - "declarations": [ - { - "constant": false, - "id": 1537, - "mutability": "mutable", - "name": "limit", - "nameLocation": "8227:5:2", - "nodeType": "VariableDeclaration", - "scope": 1560, - "src": "8219:13:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1536, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8219:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 1541, - "initialValue": { - "baseExpression": { - "id": 1538, - "name": "limits", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1504, - "src": "8235:6:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[] calldata" - } - }, - "id": 1540, - "indexExpression": { - "id": 1539, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1520, - "src": "8242:1:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8235:9:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "8219:25:2" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 1549, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [ - { - "id": 1543, - "name": "symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1531, - "src": "8278:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 1542, - "name": "tokenAddresses", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1402, - "src": "8263:14:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$returns$_t_address_$", - "typeString": "function (string memory) view returns (address)" - } - }, - "id": 1544, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8263:22:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 1547, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8297:1:2", - "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": 1546, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "8289:7:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 1545, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8289:7:2", - "typeDescriptions": {} - } - }, - "id": 1548, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8289:10:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "8263:36:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1554, - "nodeType": "IfStatement", - "src": "8259:74:2", - "trueBody": { - "errorCall": { - "arguments": [ - { - "id": 1551, - "name": "symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1531, - "src": "8326:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 1550, - "name": "TokenDoesNotExist", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5383, - "src": "8308:17:2", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$_t_string_memory_ptr_$returns$__$", - "typeString": "function (string memory) pure" - } - }, - "id": 1552, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8308:25:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1553, - "nodeType": "RevertStatement", - "src": "8301:32:2" - } - }, - { - "expression": { - "arguments": [ - { - "id": 1556, - "name": "symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1531, - "src": "8372:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "id": 1557, - "name": "limit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1537, - "src": "8380:5:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1555, - "name": "_setTokenDailyMintLimit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2919, - "src": "8348:23:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$", - "typeString": "function (string memory,uint256)" - } - }, - "id": 1558, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8348:38:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1559, - "nodeType": "ExpressionStatement", - "src": "8348:38:2" - } - ] - }, - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1526, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1523, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1520, - "src": "8133:1:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "expression": { - "id": 1524, - "name": "symbols", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1501, - "src": "8137:7:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_string_calldata_ptr_$dyn_calldata_ptr", - "typeString": "string calldata[] calldata" - } - }, - "id": 1525, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "src": "8137:14:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8133:18:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1561, - "initializationExpression": { - "assignments": [ - 1520 - ], - "declarations": [ - { - "constant": false, - "id": 1520, - "mutability": "mutable", - "name": "i", - "nameLocation": "8126:1:2", - "nodeType": "VariableDeclaration", - "scope": 1561, - "src": "8118:9:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1519, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8118:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 1522, - "initialValue": { - "hexValue": "30", - "id": 1521, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8130:1:2", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "8118:13:2" - }, - "loopExpression": { - "expression": { - "id": 1528, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "8153:3:2", - "subExpression": { - "id": 1527, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1520, - "src": "8153:1:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1529, - "nodeType": "ExpressionStatement", - "src": "8153:3:2" - }, - "nodeType": "ForStatement", - "src": "8113:284:2" - } - ] - }, - "functionSelector": "f6789c8c", - "id": 1563, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 1508, - "kind": "modifierInvocation", - "modifierName": { - "id": 1507, - "name": "onlyAdmin", - "nodeType": "IdentifierPath", - "referencedDeclaration": 157, - "src": "8005:9:2" - }, - "nodeType": "ModifierInvocation", - "src": "8005:9:2" - } - ], - "name": "setTokenDailyMintLimits", - "nameLocation": "7909:23:2", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 1506, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "7996:8:2" - }, - "parameters": { - "id": 1505, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1501, - "mutability": "mutable", - "name": "symbols", - "nameLocation": "7951:7:2", - "nodeType": "VariableDeclaration", - "scope": 1563, - "src": "7933:25:2", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_string_calldata_ptr_$dyn_calldata_ptr", - "typeString": "string[]" - }, - "typeName": { - "baseType": { - "id": 1499, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "7933:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "id": 1500, - "nodeType": "ArrayTypeName", - "src": "7933:8:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_string_storage_$dyn_storage_ptr", - "typeString": "string[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1504, - "mutability": "mutable", - "name": "limits", - "nameLocation": "7979:6:2", - "nodeType": "VariableDeclaration", - "scope": 1563, - "src": "7960:25:2", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 1502, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7960:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1503, - "nodeType": "ArrayTypeName", - "src": "7960:9:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - } - ], - "src": "7932:54:2" - }, - "returnParameters": { - "id": 1509, - "nodeType": "ParameterList", - "parameters": [], - "src": "8015:0:2" - }, - "scope": 3073, - "src": "7900:503:2", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "baseFunctions": [ - 5689 - ], - "body": { - "id": 1616, - "nodeType": "Block", - "src": "8574:670:2", - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "id": 1578, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1575, - "name": "newImplementationCodeHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1567, - "src": "8588:25:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "expression": { - "id": 1576, - "name": "newImplementation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1565, - "src": "8617:17:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 1577, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "codehash", - "nodeType": "MemberAccess", - "src": "8617:26:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "src": "8588:55:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1582, - "nodeType": "IfStatement", - "src": "8584:85:2", - "trueBody": { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 1579, - "name": "InvalidCodeHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5367, - "src": "8652:15:2", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 1580, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8652:17:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1581, - "nodeType": "RevertStatement", - "src": "8645:24:2" - } - }, - { - "eventCall": { - "arguments": [ - { - "id": 1584, - "name": "newImplementation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1565, - "src": "8694:17:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1583, - "name": "Upgraded", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5509, - "src": "8685:8:2", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 1585, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8685:27:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1586, - "nodeType": "EmitStatement", - "src": "8680:32:2" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1590, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 1587, - "name": "setupParams", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1569, - "src": "8974:11:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - }, - "id": 1588, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "src": "8974:18:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "hexValue": "30", - "id": 1589, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8996:1:2", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "8974:23:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1611, - "nodeType": "IfStatement", - "src": "8970:220:2", - "trueBody": { - "id": 1610, - "nodeType": "Block", - "src": "8999:191:2", - "statements": [ - { - "assignments": [ - 1592, - null - ], - "declarations": [ - { - "constant": false, - "id": 1592, - "mutability": "mutable", - "name": "success", - "nameLocation": "9019:7:2", - "nodeType": "VariableDeclaration", - "scope": 1610, - "src": "9014:12:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1591, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "9014:4:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - }, - null - ], - "id": 1603, - "initialValue": { - "arguments": [ - { - "arguments": [ - { - "expression": { - "expression": { - "id": 1597, - "name": "IAxelarGateway", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5700, - "src": "9086:14:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IAxelarGateway_$5700_$", - "typeString": "type(contract IAxelarGateway)" - } - }, - "id": 1598, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "setup", - "nodeType": "MemberAccess", - "referencedDeclaration": 5694, - "src": "9086:20:2", - "typeDescriptions": { - "typeIdentifier": "t_function_declaration_nonpayable$_t_bytes_calldata_ptr_$returns$__$", - "typeString": "function IAxelarGateway.setup(bytes calldata)" - } - }, - "id": 1599, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "selector", - "nodeType": "MemberAccess", - "src": "9086:29:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - { - "id": 1600, - "name": "setupParams", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1569, - "src": "9117:11:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - ], - "expression": { - "id": 1595, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "9063:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 1596, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodeWithSelector", - "nodeType": "MemberAccess", - "src": "9063:22:2", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (bytes4) pure returns (bytes memory)" - } - }, - "id": 1601, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9063:66:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "expression": { - "id": 1593, - "name": "newImplementation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1565, - "src": "9032:17:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 1594, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "delegatecall", - "nodeType": "MemberAccess", - "src": "9032:30:2", - "typeDescriptions": { - "typeIdentifier": "t_function_baredelegatecall_nonpayable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "function (bytes memory) returns (bool,bytes memory)" - } - }, - "id": 1602, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9032:98:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "tuple(bool,bytes memory)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "9013:117:2" - }, - { - "condition": { - "id": 1605, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "9149:8:2", - "subExpression": { - "id": 1604, - "name": "success", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1592, - "src": "9150:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1609, - "nodeType": "IfStatement", - "src": "9145:34:2", - "trueBody": { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 1606, - "name": "SetupFailed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5369, - "src": "9166:11:2", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 1607, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9166:13:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1608, - "nodeType": "RevertStatement", - "src": "9159:20:2" - } - } - ] - } - }, - { - "expression": { - "arguments": [ - { - "id": 1613, - "name": "newImplementation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1565, - "src": "9219:17:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1612, - "name": "_setImplementation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3072, - "src": "9200:18:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 1614, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9200:37:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1615, - "nodeType": "ExpressionStatement", - "src": "9200:37:2" - } - ] - }, - "functionSelector": "a3499c73", - "id": 1617, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 1573, - "kind": "modifierInvocation", - "modifierName": { - "id": 1572, - "name": "onlyAdmin", - "nodeType": "IdentifierPath", - "referencedDeclaration": 157, - "src": "8564:9:2" - }, - "nodeType": "ModifierInvocation", - "src": "8564:9:2" - } - ], - "name": "upgrade", - "nameLocation": "8418:7:2", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 1571, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "8555:8:2" - }, - "parameters": { - "id": 1570, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1565, - "mutability": "mutable", - "name": "newImplementation", - "nameLocation": "8443:17:2", - "nodeType": "VariableDeclaration", - "scope": 1617, - "src": "8435:25:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1564, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8435:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1567, - "mutability": "mutable", - "name": "newImplementationCodeHash", - "nameLocation": "8478:25:2", - "nodeType": "VariableDeclaration", - "scope": 1617, - "src": "8470:33:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1566, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "8470:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1569, - "mutability": "mutable", - "name": "setupParams", - "nameLocation": "8528:11:2", - "nodeType": "VariableDeclaration", - "scope": 1617, - "src": "8513:26:2", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 1568, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "8513:5:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "8425:120:2" - }, - "returnParameters": { - "id": 1574, - "nodeType": "ParameterList", - "parameters": [], - "src": "8574:0:2" - }, - "scope": 3073, - "src": "8409:835:2", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "baseFunctions": [ - 5694 - ], - "body": { - "id": 1693, - "nodeType": "Block", - "src": "9394:792:2", - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 1629, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 1623, - "name": "implementation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1387, - "src": "9488:14:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", - "typeString": "function () view returns (address)" - } - }, - "id": 1624, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9488:16:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 1627, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9516:1:2", - "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": 1626, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9508:7:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 1625, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9508:7:2", - "typeDescriptions": {} - } - }, - "id": 1628, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9508:10:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "9488:30:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1633, - "nodeType": "IfStatement", - "src": "9484:53:2", - "trueBody": { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 1630, - "name": "NotProxy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5365, - "src": "9527:8:2", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 1631, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9527:10:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1632, - "nodeType": "RevertStatement", - "src": "9520:17:2" - } - }, - { - "assignments": [ - 1638, - 1640, - 1642 - ], - "declarations": [ - { - "constant": false, - "id": 1638, - "mutability": "mutable", - "name": "adminAddresses", - "nameLocation": "9566:14:2", - "nodeType": "VariableDeclaration", - "scope": 1693, - "src": "9549:31:2", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 1636, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9549:7:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 1637, - "nodeType": "ArrayTypeName", - "src": "9549:9:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1640, - "mutability": "mutable", - "name": "newAdminThreshold", - "nameLocation": "9590:17:2", - "nodeType": "VariableDeclaration", - "scope": 1693, - "src": "9582:25:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1639, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9582:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1642, - "mutability": "mutable", - "name": "newOperatorsData", - "nameLocation": "9622:16:2", - "nodeType": "VariableDeclaration", - "scope": 1693, - "src": "9609:29:2", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 1641, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "9609:5:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "id": 1655, - "initialValue": { - "arguments": [ - { - "id": 1645, - "name": "params", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1619, - "src": "9666:6:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - }, - { - "components": [ - { - "baseExpression": { - "id": 1647, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9687:7:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 1646, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9687:7:2", - "typeDescriptions": {} - } - }, - "id": 1648, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9687:9:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_array$_t_address_$dyn_memory_ptr_$", - "typeString": "type(address[] memory)" - } - }, - { - "id": 1650, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9698:7:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 1649, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9698:7:2", - "typeDescriptions": {} - } - }, - { - "id": 1652, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9707:5:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", - "typeString": "type(bytes storage pointer)" - }, - "typeName": { - "id": 1651, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "9707:5:2", - "typeDescriptions": {} - } - } - ], - "id": 1653, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "9686:27:2", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_type$_t_array$_t_address_$dyn_memory_ptr_$_$_t_type$_t_uint256_$_$_t_type$_t_bytes_storage_ptr_$_$", - "typeString": "tuple(type(address[] memory),type(uint256),type(bytes storage pointer))" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - }, - { - "typeIdentifier": "t_tuple$_t_type$_t_array$_t_address_$dyn_memory_ptr_$_$_t_type$_t_uint256_$_$_t_type$_t_bytes_storage_ptr_$_$", - "typeString": "tuple(type(address[] memory),type(uint256),type(bytes storage pointer))" - } - ], - "expression": { - "id": 1643, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "9642:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 1644, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "decode", - "nodeType": "MemberAccess", - "src": "9642:10:2", - "typeDescriptions": { - "typeIdentifier": "t_function_abidecode_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 1654, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9642:81:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_array$_t_address_$dyn_memory_ptr_$_t_uint256_$_t_bytes_memory_ptr_$", - "typeString": "tuple(address[] memory,uint256,bytes memory)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "9548:175:2" - }, - { - "assignments": [ - 1657 - ], - "declarations": [ - { - "constant": false, - "id": 1657, - "mutability": "mutable", - "name": "newAdminEpoch", - "nameLocation": "9836:13:2", - "nodeType": "VariableDeclaration", - "scope": 1693, - "src": "9828:21:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1656, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9828:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 1665, - "initialValue": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1664, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 1658, - "name": "_adminEpoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 278, - "src": "9852:11:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 1659, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9852:13:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "arguments": [ - { - "hexValue": "31", - "id": 1662, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9876:1:2", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - } - ], - "id": 1661, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9868:7:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 1660, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9868:7:2", - "typeDescriptions": {} - } - }, - "id": 1663, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9868:10:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9852:26:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "9828:50:2" - }, - { - "expression": { - "arguments": [ - { - "id": 1667, - "name": "newAdminEpoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1657, - "src": "9903:13:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1666, - "name": "_setAdminEpoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 388, - "src": "9888:14:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 1668, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9888:29:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1669, - "nodeType": "ExpressionStatement", - "src": "9888:29:2" - }, - { - "expression": { - "arguments": [ - { - "id": 1671, - "name": "newAdminEpoch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1657, - "src": "9938:13:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 1672, - "name": "adminAddresses", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1638, - "src": "9953:14:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - { - "id": 1673, - "name": "newAdminThreshold", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1640, - "src": "9969:17:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1670, - "name": "_setAdmins", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 512, - "src": "9927:10:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_array$_t_address_$dyn_memory_ptr_$_t_uint256_$returns$__$", - "typeString": "function (uint256,address[] memory,uint256)" - } - }, - "id": 1674, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9927:60:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1675, - "nodeType": "ExpressionStatement", - "src": "9927:60:2" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1679, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 1676, - "name": "newOperatorsData", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1642, - "src": "10002:16:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 1677, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "src": "10002:23:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 1678, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10028:1:2", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "10002:27:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1692, - "nodeType": "IfStatement", - "src": "9998:182:2", - "trueBody": { - "id": 1691, - "nodeType": "Block", - "src": "10031:149:2", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 1684, - "name": "newOperatorsData", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1642, - "src": "10091:16:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "expression": { - "arguments": [ - { - "id": 1681, - "name": "AUTH_MODULE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1047, - "src": "10057:11:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1680, - "name": "IAxelarAuth", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4993, - "src": "10045:11:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IAxelarAuth_$4993_$", - "typeString": "type(contract IAxelarAuth)" - } - }, - "id": 1682, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10045:24:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IAxelarAuth_$4993", - "typeString": "contract IAxelarAuth" - } - }, - "id": 1683, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transferOperatorship", - "nodeType": "MemberAccess", - "referencedDeclaration": 4992, - "src": "10045:45:2", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (bytes memory) external" - } - }, - "id": 1685, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10045:63:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1686, - "nodeType": "ExpressionStatement", - "src": "10045:63:2" - }, - { - "eventCall": { - "arguments": [ - { - "id": 1688, - "name": "newOperatorsData", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1642, - "src": "10152:16:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 1687, - "name": "OperatorshipTransferred", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5505, - "src": "10128:23:2", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (bytes memory)" - } - }, - "id": 1689, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10128:41:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1690, - "nodeType": "EmitStatement", - "src": "10123:46:2" - } - ] - } - } - ] - }, - "functionSelector": "9ded06df", - "id": 1694, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "setup", - "nameLocation": "9347:5:2", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 1621, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "9385:8:2" - }, - "parameters": { - "id": 1620, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1619, - "mutability": "mutable", - "name": "params", - "nameLocation": "9368:6:2", - "nodeType": "VariableDeclaration", - "scope": 1694, - "src": "9353:21:2", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 1618, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "9353:5:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "9352:23:2" - }, - "returnParameters": { - "id": 1622, - "nodeType": "ParameterList", - "parameters": [], - "src": "9394:0:2" - }, - "scope": 3073, - "src": "9338:848:2", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "baseFunctions": [ - 5699 - ], - "body": { - "id": 1979, - "nodeType": "Block", - "src": "10249:2837:2", - "statements": [ - { - "assignments": [ - 1701, - 1703 - ], - "declarations": [ - { - "constant": false, - "id": 1701, - "mutability": "mutable", - "name": "data", - "nameLocation": "10273:4:2", - "nodeType": "VariableDeclaration", - "scope": 1979, - "src": "10260:17:2", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 1700, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "10260:5:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1703, - "mutability": "mutable", - "name": "proof", - "nameLocation": "10292:5:2", - "nodeType": "VariableDeclaration", - "scope": 1979, - "src": "10279:18:2", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 1702, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "10279:5:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "id": 1713, - "initialValue": { - "arguments": [ - { - "id": 1706, - "name": "input", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1696, - "src": "10312:5:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - }, - { - "components": [ - { - "id": 1708, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "10320:5:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", - "typeString": "type(bytes storage pointer)" - }, - "typeName": { - "id": 1707, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "10320:5:2", - "typeDescriptions": {} - } - }, - { - "id": 1710, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "10327:5:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", - "typeString": "type(bytes storage pointer)" - }, - "typeName": { - "id": 1709, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "10327:5:2", - "typeDescriptions": {} - } - } - ], - "id": 1711, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "10319:14:2", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_type$_t_bytes_storage_ptr_$_$_t_type$_t_bytes_storage_ptr_$_$", - "typeString": "tuple(type(bytes storage pointer),type(bytes storage pointer))" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - }, - { - "typeIdentifier": "t_tuple$_t_type$_t_bytes_storage_ptr_$_$_t_type$_t_bytes_storage_ptr_$_$", - "typeString": "tuple(type(bytes storage pointer),type(bytes storage pointer))" - } - ], - "expression": { - "id": 1704, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "10301:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 1705, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "decode", - "nodeType": "MemberAccess", - "src": "10301:10:2", - "typeDescriptions": { - "typeIdentifier": "t_function_abidecode_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 1712, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10301:33:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$", - "typeString": "tuple(bytes memory,bytes memory)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10259:75:2" - }, - { - "assignments": [ - 1715 - ], - "declarations": [ - { - "constant": false, - "id": 1715, - "mutability": "mutable", - "name": "messageHash", - "nameLocation": "10353:11:2", - "nodeType": "VariableDeclaration", - "scope": 1979, - "src": "10345:19:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1714, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "10345:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "id": 1722, - "initialValue": { - "arguments": [ - { - "arguments": [ - { - "id": 1719, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1701, - "src": "10406:4:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 1718, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "10396:9:2", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 1720, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10396:15:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "id": 1716, - "name": "ECDSA", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3478, - "src": "10367:5:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ECDSA_$3478_$", - "typeString": "type(library ECDSA)" - } - }, - "id": 1717, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "toEthSignedMessageHash", - "nodeType": "MemberAccess", - "referencedDeclaration": 3477, - "src": "10367:28:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes32_$returns$_t_bytes32_$", - "typeString": "function (bytes32) pure returns (bytes32)" - } - }, - "id": 1721, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10367:45:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10345:67:2" - }, - { - "assignments": [ - 1724 - ], - "declarations": [ - { - "constant": false, - "id": 1724, - "mutability": "mutable", - "name": "currentOperators", - "nameLocation": "10472:16:2", - "nodeType": "VariableDeclaration", - "scope": 1979, - "src": "10467:21:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1723, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "10467:4:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "id": 1732, - "initialValue": { - "arguments": [ - { - "id": 1729, - "name": "messageHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1715, - "src": "10530:11:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 1730, - "name": "proof", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1703, - "src": "10543:5:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "expression": { - "arguments": [ - { - "id": 1726, - "name": "AUTH_MODULE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1047, - "src": "10503:11:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1725, - "name": "IAxelarAuth", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4993, - "src": "10491:11:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IAxelarAuth_$4993_$", - "typeString": "type(contract IAxelarAuth)" - } - }, - "id": 1727, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10491:24:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IAxelarAuth_$4993", - "typeString": "contract IAxelarAuth" - } - }, - "id": 1728, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "validateProof", - "nodeType": "MemberAccess", - "referencedDeclaration": 4987, - "src": "10491:38:2", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_bytes_memory_ptr_$returns$_t_bool_$", - "typeString": "function (bytes32,bytes memory) external returns (bool)" - } - }, - "id": 1731, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10491:58:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10467:82:2" - }, - { - "assignments": [ - 1734 - ], - "declarations": [ - { - "constant": false, - "id": 1734, - "mutability": "mutable", - "name": "chainId", - "nameLocation": "10568:7:2", - "nodeType": "VariableDeclaration", - "scope": 1979, - "src": "10560:15:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1733, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10560:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 1735, - "nodeType": "VariableDeclarationStatement", - "src": "10560:15:2" - }, - { - "assignments": [ - 1740 - ], - "declarations": [ - { - "constant": false, - "id": 1740, - "mutability": "mutable", - "name": "commandIds", - "nameLocation": "10602:10:2", - "nodeType": "VariableDeclaration", - "scope": 1979, - "src": "10585:27:2", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", - "typeString": "bytes32[]" - }, - "typeName": { - "baseType": { - "id": 1738, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "10585:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "id": 1739, - "nodeType": "ArrayTypeName", - "src": "10585:9:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", - "typeString": "bytes32[]" - } - }, - "visibility": "internal" - } - ], - "id": 1741, - "nodeType": "VariableDeclarationStatement", - "src": "10585:27:2" - }, - { - "assignments": [ - 1746 - ], - "declarations": [ - { - "constant": false, - "id": 1746, - "mutability": "mutable", - "name": "commands", - "nameLocation": "10638:8:2", - "nodeType": "VariableDeclaration", - "scope": 1979, - "src": "10622:24:2", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr", - "typeString": "string[]" - }, - "typeName": { - "baseType": { - "id": 1744, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "10622:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "id": 1745, - "nodeType": "ArrayTypeName", - "src": "10622:8:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_string_storage_$dyn_storage_ptr", - "typeString": "string[]" - } - }, - "visibility": "internal" - } - ], - "id": 1747, - "nodeType": "VariableDeclarationStatement", - "src": "10622:24:2" - }, - { - "assignments": [ - 1752 - ], - "declarations": [ - { - "constant": false, - "id": 1752, - "mutability": "mutable", - "name": "params", - "nameLocation": "10671:6:2", - "nodeType": "VariableDeclaration", - "scope": 1979, - "src": "10656:21:2", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", - "typeString": "bytes[]" - }, - "typeName": { - "baseType": { - "id": 1750, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "10656:5:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "id": 1751, - "nodeType": "ArrayTypeName", - "src": "10656:7:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes_storage_$dyn_storage_ptr", - "typeString": "bytes[]" - } - }, - "visibility": "internal" - } - ], - "id": 1753, - "nodeType": "VariableDeclarationStatement", - "src": "10656:21:2" - }, - { - "clauses": [ - { - "block": { - "id": 1784, - "nodeType": "Block", - "src": "10906:110:2", - "statements": [ - { - "expression": { - "id": 1782, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "components": [ - { - "id": 1772, - "name": "chainId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1734, - "src": "10921:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 1773, - "name": "commandIds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1740, - "src": "10930:10:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", - "typeString": "bytes32[] memory" - } - }, - { - "id": 1774, - "name": "commands", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1746, - "src": "10942:8:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr", - "typeString": "string memory[] memory" - } - }, - { - "id": 1775, - "name": "params", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1752, - "src": "10952:6:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", - "typeString": "bytes memory[] memory" - } - } - ], - "id": 1776, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "10920:39:2", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$", - "typeString": "tuple(uint256,bytes32[] memory,string memory[] memory,bytes memory[] memory)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "components": [ - { - "id": 1777, - "name": "chainId_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1761, - "src": "10963:8:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 1778, - "name": "commandIds_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1764, - "src": "10973:11:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", - "typeString": "bytes32[] memory" - } - }, - { - "id": 1779, - "name": "commands_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1767, - "src": "10986:9:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr", - "typeString": "string memory[] memory" - } - }, - { - "id": 1780, - "name": "params_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1770, - "src": "10997:7:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", - "typeString": "bytes memory[] memory" - } - } - ], - "id": 1781, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "10962:43:2", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$", - "typeString": "tuple(uint256,bytes32[] memory,string memory[] memory,bytes memory[] memory)" - } - }, - "src": "10920:85:2", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1783, - "nodeType": "ExpressionStatement", - "src": "10920:85:2" - } - ] - }, - "errorName": "", - "id": 1785, - "nodeType": "TryCatchClause", - "parameters": { - "id": 1771, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1761, - "mutability": "mutable", - "name": "chainId_", - "nameLocation": "10770:8:2", - "nodeType": "VariableDeclaration", - "scope": 1785, - "src": "10762:16:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1760, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10762:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1764, - "mutability": "mutable", - "name": "commandIds_", - "nameLocation": "10809:11:2", - "nodeType": "VariableDeclaration", - "scope": 1785, - "src": "10792:28:2", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", - "typeString": "bytes32[]" - }, - "typeName": { - "baseType": { - "id": 1762, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "10792:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "id": 1763, - "nodeType": "ArrayTypeName", - "src": "10792:9:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", - "typeString": "bytes32[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1767, - "mutability": "mutable", - "name": "commands_", - "nameLocation": "10850:9:2", - "nodeType": "VariableDeclaration", - "scope": 1785, - "src": "10834:25:2", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr", - "typeString": "string[]" - }, - "typeName": { - "baseType": { - "id": 1765, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "10834:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "id": 1766, - "nodeType": "ArrayTypeName", - "src": "10834:8:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_string_storage_$dyn_storage_ptr", - "typeString": "string[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1770, - "mutability": "mutable", - "name": "params_", - "nameLocation": "10888:7:2", - "nodeType": "VariableDeclaration", - "scope": 1785, - "src": "10873:22:2", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", - "typeString": "bytes[]" - }, - "typeName": { - "baseType": { - "id": 1768, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "10873:5:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "id": 1769, - "nodeType": "ArrayTypeName", - "src": "10873:7:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes_storage_$dyn_storage_ptr", - "typeString": "bytes[]" - } - }, - "visibility": "internal" - } - ], - "src": "10748:157:2" - }, - "src": "10740:276:2" - }, - { - "block": { - "id": 1809, - "nodeType": "Block", - "src": "11023:124:2", - "statements": [ - { - "expression": { - "id": 1807, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "components": [ - { - "id": 1786, - "name": "chainId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1734, - "src": "11038:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 1787, - "name": "commandIds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1740, - "src": "11047:10:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", - "typeString": "bytes32[] memory" - } - }, - { - "id": 1788, - "name": "commands", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1746, - "src": "11059:8:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr", - "typeString": "string memory[] memory" - } - }, - { - "id": 1789, - "name": "params", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1752, - "src": "11069:6:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", - "typeString": "bytes memory[] memory" - } - } - ], - "id": 1790, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "11037:39:2", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$", - "typeString": "tuple(uint256,bytes32[] memory,string memory[] memory,bytes memory[] memory)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 1793, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1701, - "src": "11090:4:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "components": [ - { - "id": 1795, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "11097:7:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 1794, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11097:7:2", - "typeDescriptions": {} - } - }, - { - "baseExpression": { - "id": 1797, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "11106:7:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes32_$", - "typeString": "type(bytes32)" - }, - "typeName": { - "id": 1796, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "11106:7:2", - "typeDescriptions": {} - } - }, - "id": 1798, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11106:9:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_array$_t_bytes32_$dyn_memory_ptr_$", - "typeString": "type(bytes32[] memory)" - } - }, - { - "baseExpression": { - "id": 1800, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "11117:6:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_string_storage_ptr_$", - "typeString": "type(string storage pointer)" - }, - "typeName": { - "id": 1799, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "11117:6:2", - "typeDescriptions": {} - } - }, - "id": 1801, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11117:8:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$", - "typeString": "type(string memory[] memory)" - } - }, - { - "baseExpression": { - "id": 1803, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "11127:5:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", - "typeString": "type(bytes storage pointer)" - }, - "typeName": { - "id": 1802, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "11127:5:2", - "typeDescriptions": {} - } - }, - "id": 1804, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11127:7:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$", - "typeString": "type(bytes memory[] memory)" - } - } - ], - "id": 1805, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "11096:39:2", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_type$_t_uint256_$_$_t_type$_t_array$_t_bytes32_$dyn_memory_ptr_$_$_t_type$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$_$_t_type$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$_$", - "typeString": "tuple(type(uint256),type(bytes32[] memory),type(string memory[] memory),type(bytes memory[] memory))" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_tuple$_t_type$_t_uint256_$_$_t_type$_t_array$_t_bytes32_$dyn_memory_ptr_$_$_t_type$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$_$_t_type$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$_$", - "typeString": "tuple(type(uint256),type(bytes32[] memory),type(string memory[] memory),type(bytes memory[] memory))" - } - ], - "expression": { - "id": 1791, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "11079:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 1792, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "decode", - "nodeType": "MemberAccess", - "src": "11079:10:2", - "typeDescriptions": { - "typeIdentifier": "t_function_abidecode_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 1806, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11079:57:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$", - "typeString": "tuple(uint256,bytes32[] memory,string memory[] memory,bytes memory[] memory)" - } - }, - "src": "11037:99:2", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1808, - "nodeType": "ExpressionStatement", - "src": "11037:99:2" - } - ] - }, - "errorName": "", - "id": 1810, - "nodeType": "TryCatchClause", - "src": "11017:130:2" - } - ], - "externalCall": { - "arguments": [ - { - "id": 1758, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1701, - "src": "10734:4:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "expression": { - "arguments": [ - { - "id": 1755, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "10706:4:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AxelarGateway_$3073", - "typeString": "contract AxelarGateway" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_AxelarGateway_$3073", - "typeString": "contract AxelarGateway" - } - ], - "id": 1754, - "name": "AxelarGateway", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3073, - "src": "10692:13:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_AxelarGateway_$3073_$", - "typeString": "type(contract AxelarGateway)" - } - }, - "id": 1756, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10692:19:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_AxelarGateway_$3073", - "typeString": "contract AxelarGateway" - } - }, - "id": 1757, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "_unpackLegacyCommands", - "nodeType": "MemberAccess", - "referencedDeclaration": 2481, - "src": "10692:41:2", - "typeDescriptions": { - "typeIdentifier": "t_function_external_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$", - "typeString": "function (bytes memory) pure external returns (uint256,bytes32[] memory,string memory[] memory,bytes memory[] memory)" - } - }, - "id": 1759, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10692:47:2", - "tryCall": true, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$", - "typeString": "tuple(uint256,bytes32[] memory,string memory[] memory,bytes memory[] memory)" - } - }, - "id": 1811, - "nodeType": "TryStatement", - "src": "10688:459:2" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1815, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1812, - "name": "chainId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1734, - "src": "11161:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "expression": { - "id": 1813, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "11172:5:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 1814, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "chainid", - "nodeType": "MemberAccess", - "src": "11172:13:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "11161:24:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1819, - "nodeType": "IfStatement", - "src": "11157:53:2", - "trueBody": { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 1816, - "name": "InvalidChainId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5377, - "src": "11194:14:2", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 1817, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11194:16:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1818, - "nodeType": "RevertStatement", - "src": "11187:23:2" - } - }, - { - "assignments": [ - 1821 - ], - "declarations": [ - { - "constant": false, - "id": 1821, - "mutability": "mutable", - "name": "commandsLength", - "nameLocation": "11229:14:2", - "nodeType": "VariableDeclaration", - "scope": 1979, - "src": "11221:22:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1820, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11221:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 1824, - "initialValue": { - "expression": { - "id": 1822, - "name": "commandIds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1740, - "src": "11246:10:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", - "typeString": "bytes32[] memory" - } - }, - "id": 1823, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "src": "11246:17:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "11221:42:2" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 1833, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1828, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1825, - "name": "commandsLength", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1821, - "src": "11278:14:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "expression": { - "id": 1826, - "name": "commands", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1746, - "src": "11296:8:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr", - "typeString": "string memory[] memory" - } - }, - "id": 1827, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "src": "11296:15:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "11278:33:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1832, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1829, - "name": "commandsLength", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1821, - "src": "11315:14:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "expression": { - "id": 1830, - "name": "params", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1752, - "src": "11333:6:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", - "typeString": "bytes memory[] memory" - } - }, - "id": 1831, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "src": "11333:13:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "11315:31:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "11278:68:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1837, - "nodeType": "IfStatement", - "src": "11274:98:2", - "trueBody": { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 1834, - "name": "InvalidCommands", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5379, - "src": "11355:15:2", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 1835, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11355:17:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1836, - "nodeType": "RevertStatement", - "src": "11348:24:2" - } - }, - { - "body": { - "id": 1977, - "nodeType": "Block", - "src": "11424:1656:2", - "statements": [ - { - "assignments": [ - 1848 - ], - "declarations": [ - { - "constant": false, - "id": 1848, - "mutability": "mutable", - "name": "commandId", - "nameLocation": "11446:9:2", - "nodeType": "VariableDeclaration", - "scope": 1977, - "src": "11438:17:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1847, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "11438:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "id": 1852, - "initialValue": { - "baseExpression": { - "id": 1849, - "name": "commandIds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1740, - "src": "11458:10:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", - "typeString": "bytes32[] memory" - } - }, - "id": 1851, - "indexExpression": { - "id": 1850, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1839, - "src": "11469:1:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11458:13:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "11438:33:2" - }, - { - "condition": { - "arguments": [ - { - "id": 1854, - "name": "commandId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1848, - "src": "11508:9:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 1853, - "name": "isCommandExecuted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1428, - "src": "11490:17:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bool_$", - "typeString": "function (bytes32) view returns (bool)" - } - }, - "id": 1855, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11490:28:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1857, - "nodeType": "IfStatement", - "src": "11486:42:2", - "trueBody": { - "id": 1856, - "nodeType": "Continue", - "src": "11520:8:2" - } - }, - { - "assignments": [ - 1859 - ], - "declarations": [ - { - "constant": false, - "id": 1859, - "mutability": "mutable", - "name": "commandSelector", - "nameLocation": "11595:15:2", - "nodeType": "VariableDeclaration", - "scope": 1977, - "src": "11588:22:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 1858, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "11588:6:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "visibility": "internal" - } - ], - "id": 1860, - "nodeType": "VariableDeclarationStatement", - "src": "11588:22:2" - }, - { - "assignments": [ - 1862 - ], - "declarations": [ - { - "constant": false, - "id": 1862, - "mutability": "mutable", - "name": "commandHash", - "nameLocation": "11632:11:2", - "nodeType": "VariableDeclaration", - "scope": 1977, - "src": "11624:19:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1861, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "11624:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "id": 1871, - "initialValue": { - "arguments": [ - { - "arguments": [ - { - "baseExpression": { - "id": 1866, - "name": "commands", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1746, - "src": "11673:8:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr", - "typeString": "string memory[] memory" - } - }, - "id": 1868, - "indexExpression": { - "id": 1867, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1839, - "src": "11682:1:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11673:11:2", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "expression": { - "id": 1864, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "11656:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 1865, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "src": "11656:16:2", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 1869, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11656:29:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 1863, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "11646:9:2", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 1870, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11646:40:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "11624:62:2" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "id": 1874, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1872, - "name": "commandHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1862, - "src": "11705:11:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "id": 1873, - "name": "SELECTOR_DEPLOY_TOKEN", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1025, - "src": "11720:21:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "src": "11705:36:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "condition": { - "commonType": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "id": 1884, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1882, - "name": "commandHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1862, - "src": "11838:11:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "id": 1883, - "name": "SELECTOR_MINT_TOKEN", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1030, - "src": "11853:19:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "src": "11838:34:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "condition": { - "commonType": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "id": 1894, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1892, - "name": "commandHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1862, - "src": "11967:11:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "id": 1893, - "name": "SELECTOR_APPROVE_CONTRACT_CALL", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1035, - "src": "11982:30:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "src": "11967:45:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "condition": { - "commonType": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "id": 1904, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1902, - "name": "commandHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1862, - "src": "12117:11:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "id": 1903, - "name": "SELECTOR_APPROVE_CONTRACT_CALL_WITH_MINT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1040, - "src": "12132:40:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "src": "12117:55:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "condition": { - "commonType": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "id": 1914, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1912, - "name": "commandHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1862, - "src": "12285:11:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "id": 1913, - "name": "SELECTOR_BURN_TOKEN", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1020, - "src": "12300:19:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "src": "12285:34:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "condition": { - "commonType": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "id": 1924, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1922, - "name": "commandHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1862, - "src": "12414:11:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "id": 1923, - "name": "SELECTOR_TRANSFER_OPERATORSHIP", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1045, - "src": "12429:30:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "src": "12414:45:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 1937, - "nodeType": "Block", - "src": "12611:82:2", - "statements": [ - { - "id": 1936, - "nodeType": "Continue", - "src": "12629:8:2" - } - ] - }, - "id": 1938, - "nodeType": "IfStatement", - "src": "12410:283:2", - "trueBody": { - "id": 1935, - "nodeType": "Block", - "src": "12461:144:2", - "statements": [ - { - "condition": { - "id": 1926, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "12483:17:2", - "subExpression": { - "id": 1925, - "name": "currentOperators", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1724, - "src": "12484:16:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1928, - "nodeType": "IfStatement", - "src": "12479:31:2", - "trueBody": { - "id": 1927, - "nodeType": "Continue", - "src": "12502:8:2" - } - }, - { - "expression": { - "id": 1933, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 1929, - "name": "commandSelector", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1859, - "src": "12529:15:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "expression": { - "expression": { - "id": 1930, - "name": "AxelarGateway", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3073, - "src": "12547:13:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_AxelarGateway_$3073_$", - "typeString": "type(contract AxelarGateway)" - } - }, - "id": 1931, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "transferOperatorship", - "nodeType": "MemberAccess", - "referencedDeclaration": 2439, - "src": "12547:34:2", - "typeDescriptions": { - "typeIdentifier": "t_function_declaration_nonpayable$_t_bytes_calldata_ptr_$_t_bytes32_$returns$__$", - "typeString": "function AxelarGateway.transferOperatorship(bytes calldata,bytes32)" - } - }, - "id": 1932, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "selector", - "nodeType": "MemberAccess", - "src": "12547:43:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "src": "12529:61:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "id": 1934, - "nodeType": "ExpressionStatement", - "src": "12529:61:2" - } - ] - } - }, - "id": 1939, - "nodeType": "IfStatement", - "src": "12281:412:2", - "trueBody": { - "id": 1921, - "nodeType": "Block", - "src": "12321:83:2", - "statements": [ - { - "expression": { - "id": 1919, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 1915, - "name": "commandSelector", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1859, - "src": "12339:15:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "expression": { - "expression": { - "id": 1916, - "name": "AxelarGateway", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3073, - "src": "12357:13:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_AxelarGateway_$3073_$", - "typeString": "type(contract AxelarGateway)" - } - }, - "id": 1917, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "burnToken", - "nodeType": "MemberAccess", - "referencedDeclaration": 2290, - "src": "12357:23:2", - "typeDescriptions": { - "typeIdentifier": "t_function_declaration_nonpayable$_t_bytes_calldata_ptr_$_t_bytes32_$returns$__$", - "typeString": "function AxelarGateway.burnToken(bytes calldata,bytes32)" - } - }, - "id": 1918, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "selector", - "nodeType": "MemberAccess", - "src": "12357:32:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "src": "12339:50:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "id": 1920, - "nodeType": "ExpressionStatement", - "src": "12339:50:2" - } - ] - } - }, - "id": 1940, - "nodeType": "IfStatement", - "src": "12113:580:2", - "trueBody": { - "id": 1911, - "nodeType": "Block", - "src": "12174:101:2", - "statements": [ - { - "expression": { - "id": 1909, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 1905, - "name": "commandSelector", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1859, - "src": "12192:15:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "expression": { - "expression": { - "id": 1906, - "name": "AxelarGateway", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3073, - "src": "12210:13:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_AxelarGateway_$3073_$", - "typeString": "type(contract AxelarGateway)" - } - }, - "id": 1907, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "approveContractCallWithMint", - "nodeType": "MemberAccess", - "referencedDeclaration": 2418, - "src": "12210:41:2", - "typeDescriptions": { - "typeIdentifier": "t_function_declaration_nonpayable$_t_bytes_calldata_ptr_$_t_bytes32_$returns$__$", - "typeString": "function AxelarGateway.approveContractCallWithMint(bytes calldata,bytes32)" - } - }, - "id": 1908, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "selector", - "nodeType": "MemberAccess", - "src": "12210:50:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "src": "12192:68:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "id": 1910, - "nodeType": "ExpressionStatement", - "src": "12192:68:2" - } - ] - } - }, - "id": 1941, - "nodeType": "IfStatement", - "src": "11963:730:2", - "trueBody": { - "id": 1901, - "nodeType": "Block", - "src": "12014:93:2", - "statements": [ - { - "expression": { - "id": 1899, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 1895, - "name": "commandSelector", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1859, - "src": "12032:15:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "expression": { - "expression": { - "id": 1896, - "name": "AxelarGateway", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3073, - "src": "12050:13:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_AxelarGateway_$3073_$", - "typeString": "type(contract AxelarGateway)" - } - }, - "id": 1897, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "approveContractCall", - "nodeType": "MemberAccess", - "referencedDeclaration": 2348, - "src": "12050:33:2", - "typeDescriptions": { - "typeIdentifier": "t_function_declaration_nonpayable$_t_bytes_calldata_ptr_$_t_bytes32_$returns$__$", - "typeString": "function AxelarGateway.approveContractCall(bytes calldata,bytes32)" - } - }, - "id": 1898, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "selector", - "nodeType": "MemberAccess", - "src": "12050:42:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "src": "12032:60:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "id": 1900, - "nodeType": "ExpressionStatement", - "src": "12032:60:2" - } - ] - } - }, - "id": 1942, - "nodeType": "IfStatement", - "src": "11834:859:2", - "trueBody": { - "id": 1891, - "nodeType": "Block", - "src": "11874:83:2", - "statements": [ - { - "expression": { - "id": 1889, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 1885, - "name": "commandSelector", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1859, - "src": "11892:15:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "expression": { - "expression": { - "id": 1886, - "name": "AxelarGateway", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3073, - "src": "11910:13:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_AxelarGateway_$3073_$", - "typeString": "type(contract AxelarGateway)" - } - }, - "id": 1887, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "mintToken", - "nodeType": "MemberAccess", - "referencedDeclaration": 2161, - "src": "11910:23:2", - "typeDescriptions": { - "typeIdentifier": "t_function_declaration_nonpayable$_t_bytes_calldata_ptr_$_t_bytes32_$returns$__$", - "typeString": "function AxelarGateway.mintToken(bytes calldata,bytes32)" - } - }, - "id": 1888, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "selector", - "nodeType": "MemberAccess", - "src": "11910:32:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "src": "11892:50:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "id": 1890, - "nodeType": "ExpressionStatement", - "src": "11892:50:2" - } - ] - } - }, - "id": 1943, - "nodeType": "IfStatement", - "src": "11701:992:2", - "trueBody": { - "id": 1881, - "nodeType": "Block", - "src": "11743:85:2", - "statements": [ - { - "expression": { - "id": 1879, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 1875, - "name": "commandSelector", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1859, - "src": "11761:15:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "expression": { - "expression": { - "id": 1876, - "name": "AxelarGateway", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3073, - "src": "11779:13:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_AxelarGateway_$3073_$", - "typeString": "type(contract AxelarGateway)" - } - }, - "id": 1877, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "deployToken", - "nodeType": "MemberAccess", - "referencedDeclaration": 2127, - "src": "11779:25:2", - "typeDescriptions": { - "typeIdentifier": "t_function_declaration_nonpayable$_t_bytes_calldata_ptr_$_t_bytes32_$returns$__$", - "typeString": "function AxelarGateway.deployToken(bytes calldata,bytes32)" - } - }, - "id": 1878, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "selector", - "nodeType": "MemberAccess", - "src": "11779:34:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "src": "11761:52:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "id": 1880, - "nodeType": "ExpressionStatement", - "src": "11761:52:2" - } - ] - } - }, - { - "expression": { - "arguments": [ - { - "id": 1945, - "name": "commandId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1848, - "src": "12831:9:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "hexValue": "74727565", - "id": 1946, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12842:4:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 1944, - "name": "_setCommandExecuted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3005, - "src": "12811:19:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_bool_$returns$__$", - "typeString": "function (bytes32,bool)" - } - }, - "id": 1947, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12811:36:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1948, - "nodeType": "ExpressionStatement", - "src": "12811:36:2" - }, - { - "assignments": [ - 1950, - null - ], - "declarations": [ - { - "constant": false, - "id": 1950, - "mutability": "mutable", - "name": "success", - "nameLocation": "12867:7:2", - "nodeType": "VariableDeclaration", - "scope": 1977, - "src": "12862:12:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1949, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "12862:4:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - }, - null - ], - "id": 1965, - "initialValue": { - "arguments": [ - { - "arguments": [ - { - "id": 1958, - "name": "commandSelector", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1859, - "src": "12922:15:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - { - "baseExpression": { - "id": 1959, - "name": "params", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1752, - "src": "12939:6:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", - "typeString": "bytes memory[] memory" - } - }, - "id": 1961, - "indexExpression": { - "id": 1960, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1839, - "src": "12946:1:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12939:9:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "id": 1962, - "name": "commandId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1848, - "src": "12950:9:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "id": 1956, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "12899:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 1957, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodeWithSelector", - "nodeType": "MemberAccess", - "src": "12899:22:2", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (bytes4) pure returns (bytes memory)" - } - }, - "id": 1963, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12899:61:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "expression": { - "arguments": [ - { - "id": 1953, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "12888:4:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AxelarGateway_$3073", - "typeString": "contract AxelarGateway" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_AxelarGateway_$3073", - "typeString": "contract AxelarGateway" - } - ], - "id": 1952, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "12880:7:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 1951, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12880:7:2", - "typeDescriptions": {} - } - }, - "id": 1954, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12880:13:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 1955, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "call", - "nodeType": "MemberAccess", - "src": "12880:18:2", - "typeDescriptions": { - "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "function (bytes memory) payable returns (bool,bytes memory)" - } - }, - "id": 1964, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12880:81:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "tuple(bool,bytes memory)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "12861:100:2" - }, - { - "condition": { - "id": 1966, - "name": "success", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1950, - "src": "12980:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "expression": { - "arguments": [ - { - "id": 1972, - "name": "commandId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1848, - "src": "13052:9:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "hexValue": "66616c7365", - "id": 1973, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13063:5:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 1971, - "name": "_setCommandExecuted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3005, - "src": "13032:19:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_bool_$returns$__$", - "typeString": "function (bytes32,bool)" - } - }, - "id": 1974, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13032:37:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1975, - "nodeType": "ExpressionStatement", - "src": "13032:37:2" - }, - "id": 1976, - "nodeType": "IfStatement", - "src": "12976:93:2", - "trueBody": { - "eventCall": { - "arguments": [ - { - "id": 1968, - "name": "commandId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1848, - "src": "13003:9:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 1967, - "name": "Executed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5453, - "src": "12994:8:2", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$returns$__$", - "typeString": "function (bytes32)" - } - }, - "id": 1969, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12994:19:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1970, - "nodeType": "EmitStatement", - "src": "12989:24:2" - } - } - ] - }, - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1843, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 1841, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1839, - "src": "11399:1:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "id": 1842, - "name": "commandsLength", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1821, - "src": "11403:14:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "11399:18:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1978, - "initializationExpression": { - "assignments": [ - 1839 - ], - "declarations": [ - { - "constant": false, - "id": 1839, - "mutability": "mutable", - "name": "i", - "nameLocation": "11396:1:2", - "nodeType": "VariableDeclaration", - "scope": 1978, - "src": "11388:9:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1838, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11388:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 1840, - "nodeType": "VariableDeclarationStatement", - "src": "11388:9:2" - }, - "loopExpression": { - "expression": { - "id": 1845, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": true, - "src": "11419:3:2", - "subExpression": { - "id": 1844, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1839, - "src": "11421:1:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1846, - "nodeType": "ExpressionStatement", - "src": "11419:3:2" - }, - "nodeType": "ForStatement", - "src": "11383:1697:2" - } - ] - }, - "functionSelector": "09c5eabe", - "id": 1980, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "execute", - "nameLocation": "10201:7:2", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 1698, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "10240:8:2" - }, - "parameters": { - "id": 1697, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1696, - "mutability": "mutable", - "name": "input", - "nameLocation": "10224:5:2", - "nodeType": "VariableDeclaration", - "scope": 1980, - "src": "10209:20:2", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 1695, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "10209:5:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "10208:22:2" - }, - "returnParameters": { - "id": 1699, - "nodeType": "ParameterList", - "parameters": [], - "src": "10249:0:2" - }, - "scope": 3073, - "src": "10192:2894:2", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 2126, - "nodeType": "Block", - "src": "13239:1557:2", - "statements": [ - { - "assignments": [ - 1990, - 1992, - 1994, - 1996, - 1998, - 2000 - ], - "declarations": [ - { - "constant": false, - "id": 1990, - "mutability": "mutable", - "name": "name", - "nameLocation": "13264:4:2", - "nodeType": "VariableDeclaration", - "scope": 2126, - "src": "13250:18:2", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1989, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "13250:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1992, - "mutability": "mutable", - "name": "symbol", - "nameLocation": "13284:6:2", - "nodeType": "VariableDeclaration", - "scope": 2126, - "src": "13270:20:2", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1991, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "13270:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1994, - "mutability": "mutable", - "name": "decimals", - "nameLocation": "13298:8:2", - "nodeType": "VariableDeclaration", - "scope": 2126, - "src": "13292:14:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 1993, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "13292:5:2", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1996, - "mutability": "mutable", - "name": "cap", - "nameLocation": "13316:3:2", - "nodeType": "VariableDeclaration", - "scope": 2126, - "src": "13308:11:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1995, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13308:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1998, - "mutability": "mutable", - "name": "tokenAddress", - "nameLocation": "13329:12:2", - "nodeType": "VariableDeclaration", - "scope": 2126, - "src": "13321:20:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1997, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13321:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2000, - "mutability": "mutable", - "name": "dailyMintLimit", - "nameLocation": "13351:14:2", - "nodeType": "VariableDeclaration", - "scope": 2126, - "src": "13343:22:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1999, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13343:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 2018, - "initialValue": { - "arguments": [ - { - "id": 2003, - "name": "params", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1982, - "src": "13393:6:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - }, - { - "components": [ - { - "id": 2005, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "13414:6:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_string_storage_ptr_$", - "typeString": "type(string storage pointer)" - }, - "typeName": { - "id": 2004, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "13414:6:2", - "typeDescriptions": {} - } - }, - { - "id": 2007, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "13422:6:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_string_storage_ptr_$", - "typeString": "type(string storage pointer)" - }, - "typeName": { - "id": 2006, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "13422:6:2", - "typeDescriptions": {} - } - }, - { - "id": 2009, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "13430:5:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint8_$", - "typeString": "type(uint8)" - }, - "typeName": { - "id": 2008, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "13430:5:2", - "typeDescriptions": {} - } - }, - { - "id": 2011, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "13437:7:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 2010, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13437:7:2", - "typeDescriptions": {} - } - }, - { - "id": 2013, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "13446:7:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 2012, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13446:7:2", - "typeDescriptions": {} - } - }, - { - "id": 2015, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "13455:7:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 2014, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13455:7:2", - "typeDescriptions": {} - } - } - ], - "id": 2016, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "13413:50:2", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_type$_t_string_storage_ptr_$_$_t_type$_t_string_storage_ptr_$_$_t_type$_t_uint8_$_$_t_type$_t_uint256_$_$_t_type$_t_address_$_$_t_type$_t_uint256_$_$", - "typeString": "tuple(type(string storage pointer),type(string storage pointer),type(uint8),type(uint256),type(address),type(uint256))" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - }, - { - "typeIdentifier": "t_tuple$_t_type$_t_string_storage_ptr_$_$_t_type$_t_string_storage_ptr_$_$_t_type$_t_uint8_$_$_t_type$_t_uint256_$_$_t_type$_t_address_$_$_t_type$_t_uint256_$_$", - "typeString": "tuple(type(string storage pointer),type(string storage pointer),type(uint8),type(uint256),type(address),type(uint256))" - } - ], - "expression": { - "id": 2001, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "13369:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 2002, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "decode", - "nodeType": "MemberAccess", - "src": "13369:10:2", - "typeDescriptions": { - "typeIdentifier": "t_function_abidecode_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 2017, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13369:104:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_uint8_$_t_uint256_$_t_address_payable_$_t_uint256_$", - "typeString": "tuple(string memory,string memory,uint8,uint256,address payable,uint256)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "13249:224:2" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 2026, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [ - { - "id": 2020, - "name": "symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1992, - "src": "13558:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 2019, - "name": "tokenAddresses", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1402, - "src": "13543:14:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$returns$_t_address_$", - "typeString": "function (string memory) view returns (address)" - } - }, - "id": 2021, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13543:22:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 2024, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13577:1:2", - "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": 2023, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "13569:7:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 2022, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13569:7:2", - "typeDescriptions": {} - } - }, - "id": 2025, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13569:10:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "13543:36:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 2031, - "nodeType": "IfStatement", - "src": "13539:75:2", - "trueBody": { - "errorCall": { - "arguments": [ - { - "id": 2028, - "name": "symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1992, - "src": "13607:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 2027, - "name": "TokenAlreadyExists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5387, - "src": "13588:18:2", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$_t_string_memory_ptr_$returns$__$", - "typeString": "function (string memory) pure" - } - }, - "id": 2029, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13588:26:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2030, - "nodeType": "RevertStatement", - "src": "13581:33:2" - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 2037, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2032, - "name": "tokenAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1998, - "src": "13629:12:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 2035, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13653:1:2", - "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": 2034, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "13645:7:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 2033, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13645:7:2", - "typeDescriptions": {} - } - }, - "id": 2036, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13645:10:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "13629:26:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 2109, - "nodeType": "Block", - "src": "14230:403:2", - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2097, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "expression": { - "id": 2090, - "name": "tokenAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1998, - "src": "14351:12:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 2091, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "code", - "nodeType": "MemberAccess", - "src": "14351:17:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 2092, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "src": "14351:24:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 2095, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14387:1:2", - "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": 2094, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "14379:7:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 2093, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14379:7:2", - "typeDescriptions": {} - } - }, - "id": 2096, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14379:10:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "14351:38:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 2102, - "nodeType": "IfStatement", - "src": "14347:90:2", - "trueBody": { - "errorCall": { - "arguments": [ - { - "id": 2099, - "name": "tokenAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1998, - "src": "14424:12:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 2098, - "name": "TokenContractDoesNotExist", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5395, - "src": "14398:25:2", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$_t_address_$returns$__$", - "typeString": "function (address) pure" - } - }, - "id": 2100, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14398:39:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2101, - "nodeType": "RevertStatement", - "src": "14391:46:2" - } - }, - { - "expression": { - "arguments": [ - { - "id": 2104, - "name": "symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1992, - "src": "14595:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "expression": { - "id": 2105, - "name": "TokenType", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 973, - "src": "14603:9:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_TokenType_$973_$", - "typeString": "type(enum AxelarGateway.TokenType)" - } - }, - "id": 2106, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "External", - "nodeType": "MemberAccess", - "referencedDeclaration": 972, - "src": "14603:18:2", - "typeDescriptions": { - "typeIdentifier": "t_enum$_TokenType_$973", - "typeString": "enum AxelarGateway.TokenType" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_enum$_TokenType_$973", - "typeString": "enum AxelarGateway.TokenType" - } - ], - "id": 2103, - "name": "_setTokenType", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2975, - "src": "14581:13:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_enum$_TokenType_$973_$returns$__$", - "typeString": "function (string memory,enum AxelarGateway.TokenType)" - } - }, - "id": 2107, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14581:41:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2108, - "nodeType": "ExpressionStatement", - "src": "14581:41:2" - } - ] - }, - "id": 2110, - "nodeType": "IfStatement", - "src": "13625:1008:2", - "trueBody": { - "id": 2089, - "nodeType": "Block", - "src": "13657:567:2", - "statements": [ - { - "assignments": [ - 2039 - ], - "declarations": [ - { - "constant": false, - "id": 2039, - "mutability": "mutable", - "name": "salt", - "nameLocation": "13766:4:2", - "nodeType": "VariableDeclaration", - "scope": 2089, - "src": "13758:12:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 2038, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "13758:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "id": 2046, - "initialValue": { - "arguments": [ - { - "arguments": [ - { - "id": 2043, - "name": "symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1992, - "src": "13800:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "expression": { - "id": 2041, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "13783:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 2042, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "src": "13783:16:2", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 2044, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13783:24:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 2040, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "13773:9:2", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 2045, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13773:35:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "13758:50:2" - }, - { - "assignments": [ - 2048, - 2050 - ], - "declarations": [ - { - "constant": false, - "id": 2048, - "mutability": "mutable", - "name": "success", - "nameLocation": "13829:7:2", - "nodeType": "VariableDeclaration", - "scope": 2089, - "src": "13824:12:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2047, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "13824:4:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2050, - "mutability": "mutable", - "name": "data", - "nameLocation": "13851:4:2", - "nodeType": "VariableDeclaration", - "scope": 2089, - "src": "13838:17:2", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 2049, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "13838:5:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "id": 2065, - "initialValue": { - "arguments": [ - { - "arguments": [ - { - "expression": { - "expression": { - "id": 2055, - "name": "ITokenDeployer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5934, - "src": "13942:14:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ITokenDeployer_$5934_$", - "typeString": "type(contract ITokenDeployer)" - } - }, - "id": 2056, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "deployToken", - "nodeType": "MemberAccess", - "referencedDeclaration": 5933, - "src": "13942:26:2", - "typeDescriptions": { - "typeIdentifier": "t_function_declaration_nonpayable$_t_string_calldata_ptr_$_t_string_calldata_ptr_$_t_uint8_$_t_uint256_$_t_bytes32_$returns$_t_address_$", - "typeString": "function ITokenDeployer.deployToken(string calldata,string calldata,uint8,uint256,bytes32) returns (address)" - } - }, - "id": 2057, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "selector", - "nodeType": "MemberAccess", - "src": "13942:35:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - { - "id": 2058, - "name": "name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1990, - "src": "13979:4:2", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "id": 2059, - "name": "symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1992, - "src": "13985:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "id": 2060, - "name": "decimals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1994, - "src": "13993:8:2", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - { - "id": 2061, - "name": "cap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1996, - "src": "14003:3:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 2062, - "name": "salt", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2039, - "src": "14008:4:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "id": 2053, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "13919:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 2054, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodeWithSelector", - "nodeType": "MemberAccess", - "src": "13919:22:2", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (bytes4) pure returns (bytes memory)" - } - }, - "id": 2063, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13919:94:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "expression": { - "id": 2051, - "name": "TOKEN_DEPLOYER_IMPLEMENTATION", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1049, - "src": "13859:29:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 2052, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "delegatecall", - "nodeType": "MemberAccess", - "src": "13859:42:2", - "typeDescriptions": { - "typeIdentifier": "t_function_baredelegatecall_nonpayable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "function (bytes memory) returns (bool,bytes memory)" - } - }, - "id": 2064, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13859:168:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "tuple(bool,bytes memory)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "13823:204:2" - }, - { - "condition": { - "id": 2067, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "14046:8:2", - "subExpression": { - "id": 2066, - "name": "success", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2048, - "src": "14047:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 2072, - "nodeType": "IfStatement", - "src": "14042:46:2", - "trueBody": { - "errorCall": { - "arguments": [ - { - "id": 2069, - "name": "symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1992, - "src": "14081:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 2068, - "name": "TokenDeployFailed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5391, - "src": "14063:17:2", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$_t_string_memory_ptr_$returns$__$", - "typeString": "function (string memory) pure" - } - }, - "id": 2070, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14063:25:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2071, - "nodeType": "RevertStatement", - "src": "14056:32:2" - } - }, - { - "expression": { - "id": 2081, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2073, - "name": "tokenAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1998, - "src": "14103:12:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 2076, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2050, - "src": "14129:4:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "components": [ - { - "id": 2078, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "14136:7:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 2077, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "14136:7:2", - "typeDescriptions": {} - } - } - ], - "id": 2079, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "14135:9:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - } - ], - "expression": { - "id": 2074, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "14118:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 2075, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "decode", - "nodeType": "MemberAccess", - "src": "14118:10:2", - "typeDescriptions": { - "typeIdentifier": "t_function_abidecode_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 2080, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14118:27:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "14103:42:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 2082, - "nodeType": "ExpressionStatement", - "src": "14103:42:2" - }, - { - "expression": { - "arguments": [ - { - "id": 2084, - "name": "symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1992, - "src": "14174:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "expression": { - "id": 2085, - "name": "TokenType", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 973, - "src": "14182:9:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_TokenType_$973_$", - "typeString": "type(enum AxelarGateway.TokenType)" - } - }, - "id": 2086, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "InternalBurnableFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 971, - "src": "14182:30:2", - "typeDescriptions": { - "typeIdentifier": "t_enum$_TokenType_$973", - "typeString": "enum AxelarGateway.TokenType" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_enum$_TokenType_$973", - "typeString": "enum AxelarGateway.TokenType" - } - ], - "id": 2083, - "name": "_setTokenType", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2975, - "src": "14160:13:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_enum$_TokenType_$973_$returns$__$", - "typeString": "function (string memory,enum AxelarGateway.TokenType)" - } - }, - "id": 2087, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14160:53:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2088, - "nodeType": "ExpressionStatement", - "src": "14160:53:2" - } - ] - } - }, - { - "expression": { - "arguments": [ - { - "id": 2112, - "name": "symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1992, - "src": "14660:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "id": 2113, - "name": "tokenAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1998, - "src": "14668:12:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 2111, - "name": "_setTokenAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2990, - "src": "14643:16:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_address_$returns$__$", - "typeString": "function (string memory,address)" - } - }, - "id": 2114, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14643:38:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2115, - "nodeType": "ExpressionStatement", - "src": "14643:38:2" - }, - { - "expression": { - "arguments": [ - { - "id": 2117, - "name": "symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1992, - "src": "14715:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "id": 2118, - "name": "dailyMintLimit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2000, - "src": "14723:14:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2116, - "name": "_setTokenDailyMintLimit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2919, - "src": "14691:23:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$", - "typeString": "function (string memory,uint256)" - } - }, - "id": 2119, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14691:47:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2120, - "nodeType": "ExpressionStatement", - "src": "14691:47:2" - }, - { - "eventCall": { - "arguments": [ - { - "id": 2122, - "name": "symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1992, - "src": "14768:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "id": 2123, - "name": "tokenAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1998, - "src": "14776:12:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 2121, - "name": "TokenDeployed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5459, - "src": "14754:13:2", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_address_$returns$__$", - "typeString": "function (string memory,address)" - } - }, - "id": 2124, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14754:35:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2125, - "nodeType": "EmitStatement", - "src": "14749:40:2" - } - ] - }, - "functionSelector": "886a625d", - "id": 2127, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 1987, - "kind": "modifierInvocation", - "modifierName": { - "id": 1986, - "name": "onlySelf", - "nodeType": "IdentifierPath", - "referencedDeclaration": 1098, - "src": "13230:8:2" - }, - "nodeType": "ModifierInvocation", - "src": "13230:8:2" - } - ], - "name": "deployToken", - "nameLocation": "13177:11:2", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1985, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1982, - "mutability": "mutable", - "name": "params", - "nameLocation": "13204:6:2", - "nodeType": "VariableDeclaration", - "scope": 2127, - "src": "13189:21:2", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 1981, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "13189:5:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1984, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2127, - "src": "13212:7:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 1983, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "13212:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "13188:32:2" - }, - "returnParameters": { - "id": 1988, - "nodeType": "ParameterList", - "parameters": [], - "src": "13239:0:2" - }, - "scope": 3073, - "src": "13168:1628:2", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 2160, - "nodeType": "Block", - "src": "14871:167:2", - "statements": [ - { - "assignments": [ - 2137, - 2139, - 2141 - ], - "declarations": [ - { - "constant": false, - "id": 2137, - "mutability": "mutable", - "name": "symbol", - "nameLocation": "14896:6:2", - "nodeType": "VariableDeclaration", - "scope": 2160, - "src": "14882:20:2", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 2136, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "14882:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2139, - "mutability": "mutable", - "name": "account", - "nameLocation": "14912:7:2", - "nodeType": "VariableDeclaration", - "scope": 2160, - "src": "14904:15:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2138, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "14904:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2141, - "mutability": "mutable", - "name": "amount", - "nameLocation": "14929:6:2", - "nodeType": "VariableDeclaration", - "scope": 2160, - "src": "14921:14:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2140, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14921:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 2153, - "initialValue": { - "arguments": [ - { - "id": 2144, - "name": "params", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2129, - "src": "14950:6:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - }, - { - "components": [ - { - "id": 2146, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "14959:6:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_string_storage_ptr_$", - "typeString": "type(string storage pointer)" - }, - "typeName": { - "id": 2145, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "14959:6:2", - "typeDescriptions": {} - } - }, - { - "id": 2148, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "14967:7:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 2147, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "14967:7:2", - "typeDescriptions": {} - } - }, - { - "id": 2150, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "14976:7:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 2149, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14976:7:2", - "typeDescriptions": {} - } - } - ], - "id": 2151, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "14958:26:2", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_type$_t_string_storage_ptr_$_$_t_type$_t_address_$_$_t_type$_t_uint256_$_$", - "typeString": "tuple(type(string storage pointer),type(address),type(uint256))" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - }, - { - "typeIdentifier": "t_tuple$_t_type$_t_string_storage_ptr_$_$_t_type$_t_address_$_$_t_type$_t_uint256_$_$", - "typeString": "tuple(type(string storage pointer),type(address),type(uint256))" - } - ], - "expression": { - "id": 2142, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "14939:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 2143, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "decode", - "nodeType": "MemberAccess", - "src": "14939:10:2", - "typeDescriptions": { - "typeIdentifier": "t_function_abidecode_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 2152, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14939:46:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_string_memory_ptr_$_t_address_payable_$_t_uint256_$", - "typeString": "tuple(string memory,address payable,uint256)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "14881:104:2" - }, - { - "expression": { - "arguments": [ - { - "id": 2155, - "name": "symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2137, - "src": "15007:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "id": 2156, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2139, - "src": "15015:7:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 2157, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2141, - "src": "15024:6:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2154, - "name": "_mintToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2593, - "src": "14996:10:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (string memory,address,uint256)" - } - }, - "id": 2158, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14996:35:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2159, - "nodeType": "ExpressionStatement", - "src": "14996:35:2" - } - ] - }, - "functionSelector": "146e2d78", - "id": 2161, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 2134, - "kind": "modifierInvocation", - "modifierName": { - "id": 2133, - "name": "onlySelf", - "nodeType": "IdentifierPath", - "referencedDeclaration": 1098, - "src": "14862:8:2" - }, - "nodeType": "ModifierInvocation", - "src": "14862:8:2" - } - ], - "name": "mintToken", - "nameLocation": "14811:9:2", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2132, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2129, - "mutability": "mutable", - "name": "params", - "nameLocation": "14836:6:2", - "nodeType": "VariableDeclaration", - "scope": 2161, - "src": "14821:21:2", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 2128, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "14821:5:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2131, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2161, - "src": "14844:7:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 2130, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "14844:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "14820:32:2" - }, - "returnParameters": { - "id": 2135, - "nodeType": "ParameterList", - "parameters": [], - "src": "14871:0:2" - }, - "scope": 3073, - "src": "14802:236:2", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 2289, - "nodeType": "Block", - "src": "15113:1009:2", - "statements": [ - { - "assignments": [ - 2171, - 2173 - ], - "declarations": [ - { - "constant": false, - "id": 2171, - "mutability": "mutable", - "name": "symbol", - "nameLocation": "15138:6:2", - "nodeType": "VariableDeclaration", - "scope": 2289, - "src": "15124:20:2", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 2170, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "15124:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2173, - "mutability": "mutable", - "name": "salt", - "nameLocation": "15154:4:2", - "nodeType": "VariableDeclaration", - "scope": 2289, - "src": "15146:12:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 2172, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "15146:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "id": 2183, - "initialValue": { - "arguments": [ - { - "id": 2176, - "name": "params", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2163, - "src": "15173:6:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - }, - { - "components": [ - { - "id": 2178, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "15182:6:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_string_storage_ptr_$", - "typeString": "type(string storage pointer)" - }, - "typeName": { - "id": 2177, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "15182:6:2", - "typeDescriptions": {} - } - }, - { - "id": 2180, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "15190:7:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes32_$", - "typeString": "type(bytes32)" - }, - "typeName": { - "id": 2179, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "15190:7:2", - "typeDescriptions": {} - } - } - ], - "id": 2181, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "15181:17:2", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_type$_t_string_storage_ptr_$_$_t_type$_t_bytes32_$_$", - "typeString": "tuple(type(string storage pointer),type(bytes32))" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - }, - { - "typeIdentifier": "t_tuple$_t_type$_t_string_storage_ptr_$_$_t_type$_t_bytes32_$_$", - "typeString": "tuple(type(string storage pointer),type(bytes32))" - } - ], - "expression": { - "id": 2174, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "15162:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 2175, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "decode", - "nodeType": "MemberAccess", - "src": "15162:10:2", - "typeDescriptions": { - "typeIdentifier": "t_function_abidecode_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 2182, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15162:37:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_string_memory_ptr_$_t_bytes32_$", - "typeString": "tuple(string memory,bytes32)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15123:76:2" - }, - { - "assignments": [ - 2185 - ], - "declarations": [ - { - "constant": false, - "id": 2185, - "mutability": "mutable", - "name": "tokenAddress", - "nameLocation": "15218:12:2", - "nodeType": "VariableDeclaration", - "scope": 2289, - "src": "15210:20:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2184, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "15210:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "id": 2189, - "initialValue": { - "arguments": [ - { - "id": 2187, - "name": "symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2171, - "src": "15248:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 2186, - "name": "tokenAddresses", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1402, - "src": "15233:14:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$returns$_t_address_$", - "typeString": "function (string memory) view returns (address)" - } - }, - "id": 2188, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15233:22:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15210:45:2" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 2195, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2190, - "name": "tokenAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2185, - "src": "15270:12:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 2193, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15294:1:2", - "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": 2192, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "15286:7:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 2191, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "15286:7:2", - "typeDescriptions": {} - } - }, - "id": 2194, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15286:10:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "15270:26:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 2200, - "nodeType": "IfStatement", - "src": "15266:64:2", - "trueBody": { - "errorCall": { - "arguments": [ - { - "id": 2197, - "name": "symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2171, - "src": "15323:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 2196, - "name": "TokenDoesNotExist", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5383, - "src": "15305:17:2", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$_t_string_memory_ptr_$returns$__$", - "typeString": "function (string memory) pure" - } - }, - "id": 2198, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15305:25:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2199, - "nodeType": "RevertStatement", - "src": "15298:32:2" - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_enum$_TokenType_$973", - "typeString": "enum AxelarGateway.TokenType" - }, - "id": 2206, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [ - { - "id": 2202, - "name": "symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2171, - "src": "15359:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 2201, - "name": "_getTokenType", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2899, - "src": "15345:13:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$returns$_t_enum$_TokenType_$973_$", - "typeString": "function (string memory) view returns (enum AxelarGateway.TokenType)" - } - }, - "id": 2203, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15345:21:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_enum$_TokenType_$973", - "typeString": "enum AxelarGateway.TokenType" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "expression": { - "id": 2204, - "name": "TokenType", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 973, - "src": "15370:9:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_TokenType_$973_$", - "typeString": "type(enum AxelarGateway.TokenType)" - } - }, - "id": 2205, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "External", - "nodeType": "MemberAccess", - "referencedDeclaration": 972, - "src": "15370:18:2", - "typeDescriptions": { - "typeIdentifier": "t_enum$_TokenType_$973", - "typeString": "enum AxelarGateway.TokenType" - } - }, - "src": "15345:43:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 2287, - "nodeType": "Block", - "src": "16038:78:2", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 2284, - "name": "salt", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2173, - "src": "16100:4:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "arguments": [ - { - "id": 2281, - "name": "tokenAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2185, - "src": "16081:12:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 2280, - "name": "IBurnableMintableCappedERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5734, - "src": "16052:28:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IBurnableMintableCappedERC20_$5734_$", - "typeString": "type(contract IBurnableMintableCappedERC20)" - } - }, - "id": 2282, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16052:42:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IBurnableMintableCappedERC20_$5734", - "typeString": "contract IBurnableMintableCappedERC20" - } - }, - "id": 2283, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "burn", - "nodeType": "MemberAccess", - "referencedDeclaration": 5726, - "src": "16052:47:2", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$returns$__$", - "typeString": "function (bytes32) external" - } - }, - "id": 2285, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16052:53:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2286, - "nodeType": "ExpressionStatement", - "src": "16052:53:2" - } - ] - }, - "id": 2288, - "nodeType": "IfStatement", - "src": "15341:775:2", - "trueBody": { - "id": 2279, - "nodeType": "Block", - "src": "15390:642:2", - "statements": [ - { - "assignments": [ - 2209 - ], - "declarations": [ - { - "constant": false, - "id": 2209, - "mutability": "mutable", - "name": "depositHandler", - "nameLocation": "15419:14:2", - "nodeType": "VariableDeclaration", - "scope": 2279, - "src": "15404:29:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_DepositHandler_$3381", - "typeString": "contract DepositHandler" - }, - "typeName": { - "id": 2208, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 2207, - "name": "DepositHandler", - "nodeType": "IdentifierPath", - "referencedDeclaration": 3381, - "src": "15404:14:2" - }, - "referencedDeclaration": 3381, - "src": "15404:14:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_DepositHandler_$3381", - "typeString": "contract DepositHandler" - } - }, - "visibility": "internal" - } - ], - "id": 2216, - "initialValue": { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": [], - "id": 2212, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "15436:18:2", - "typeDescriptions": { - "typeIdentifier": "t_function_creation_nonpayable$__$returns$_t_contract$_DepositHandler_$3381_$", - "typeString": "function () returns (contract DepositHandler)" - }, - "typeName": { - "id": 2211, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 2210, - "name": "DepositHandler", - "nodeType": "IdentifierPath", - "referencedDeclaration": 3381, - "src": "15440:14:2" - }, - "referencedDeclaration": 3381, - "src": "15440:14:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_DepositHandler_$3381", - "typeString": "contract DepositHandler" - } - } - }, - "id": 2214, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "names": [ - "salt" - ], - "nodeType": "FunctionCallOptions", - "options": [ - { - "id": 2213, - "name": "salt", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2173, - "src": "15462:4:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "src": "15436:32:2", - "typeDescriptions": { - "typeIdentifier": "t_function_creation_nonpayable$__$returns$_t_contract$_DepositHandler_$3381_$salt", - "typeString": "function () returns (contract DepositHandler)" - } - }, - "id": 2215, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15436:34:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_DepositHandler_$3381", - "typeString": "contract DepositHandler" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15404:66:2" - }, - { - "assignments": [ - 2218, - 2220 - ], - "declarations": [ - { - "constant": false, - "id": 2218, - "mutability": "mutable", - "name": "success", - "nameLocation": "15491:7:2", - "nodeType": "VariableDeclaration", - "scope": 2279, - "src": "15486:12:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2217, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "15486:4:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2220, - "mutability": "mutable", - "name": "returnData", - "nameLocation": "15513:10:2", - "nodeType": "VariableDeclaration", - "scope": 2279, - "src": "15500:23:2", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 2219, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "15500:5:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "id": 2244, - "initialValue": { - "arguments": [ - { - "id": 2223, - "name": "tokenAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2185, - "src": "15567:12:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "arguments": [ - { - "expression": { - "expression": { - "id": 2226, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5814, - "src": "15620:6:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5814_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 2227, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 5763, - "src": "15620:15:2", - "typeDescriptions": { - "typeIdentifier": "t_function_declaration_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function IERC20.transfer(address,uint256) returns (bool)" - } - }, - "id": 2228, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "selector", - "nodeType": "MemberAccess", - "src": "15620:24:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - { - "arguments": [ - { - "id": 2231, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "15654:4:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AxelarGateway_$3073", - "typeString": "contract AxelarGateway" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_AxelarGateway_$3073", - "typeString": "contract AxelarGateway" - } - ], - "id": 2230, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "15646:7:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 2229, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "15646:7:2", - "typeDescriptions": {} - } - }, - "id": 2232, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15646:13:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "arguments": [ - { - "arguments": [ - { - "id": 2239, - "name": "depositHandler", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2209, - "src": "15700:14:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_DepositHandler_$3381", - "typeString": "contract DepositHandler" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_DepositHandler_$3381", - "typeString": "contract DepositHandler" - } - ], - "id": 2238, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "15692:7:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 2237, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "15692:7:2", - "typeDescriptions": {} - } - }, - "id": 2240, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15692:23:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "arguments": [ - { - "id": 2234, - "name": "tokenAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2185, - "src": "15668:12:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 2233, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5814, - "src": "15661:6:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5814_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 2235, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15661:20:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5814", - "typeString": "contract IERC20" - } - }, - "id": 2236, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5753, - "src": "15661:30:2", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 2241, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15661:55:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 2224, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "15597:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 2225, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodeWithSelector", - "nodeType": "MemberAccess", - "src": "15597:22:2", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (bytes4) pure returns (bytes memory)" - } - }, - "id": 2242, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15597:120:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "expression": { - "id": 2221, - "name": "depositHandler", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2209, - "src": "15527:14:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_DepositHandler_$3381", - "typeString": "contract DepositHandler" - } - }, - "id": 2222, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "execute", - "nodeType": "MemberAccess", - "referencedDeclaration": 3365, - "src": "15527:22:2", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "function (address,bytes memory) external returns (bool,bytes memory)" - } - }, - "id": 2243, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15527:204:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "tuple(bool,bytes memory)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15485:246:2" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 2264, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2246, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "15750:8:2", - "subExpression": { - "id": 2245, - "name": "success", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2218, - "src": "15751:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 2262, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2253, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 2247, - "name": "returnData", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2220, - "src": "15763:10:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 2248, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "src": "15763:17:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 2251, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15792:1:2", - "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": 2250, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "15784:7:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 2249, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15784:7:2", - "typeDescriptions": {} - } - }, - "id": 2252, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15784:10:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15763:31:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "id": 2261, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "15798:31:2", - "subExpression": { - "arguments": [ - { - "id": 2256, - "name": "returnData", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2220, - "src": "15810:10:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "components": [ - { - "id": 2258, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "15823:4:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bool_$", - "typeString": "type(bool)" - }, - "typeName": { - "id": 2257, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "15823:4:2", - "typeDescriptions": {} - } - } - ], - "id": 2259, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "15822:6:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bool_$", - "typeString": "type(bool)" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_type$_t_bool_$", - "typeString": "type(bool)" - } - ], - "expression": { - "id": 2254, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "15799:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 2255, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "decode", - "nodeType": "MemberAccess", - "src": "15799:10:2", - "typeDescriptions": { - "typeIdentifier": "t_function_abidecode_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 2260, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15799:30:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "15763:66:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 2263, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "15762:68:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "15750:80:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 2269, - "nodeType": "IfStatement", - "src": "15746:111:2", - "trueBody": { - "errorCall": { - "arguments": [ - { - "id": 2266, - "name": "symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2171, - "src": "15850:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 2265, - "name": "BurnFailed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5399, - "src": "15839:10:2", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$_t_string_memory_ptr_$returns$__$", - "typeString": "function (string memory) pure" - } - }, - "id": 2267, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15839:18:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2268, - "nodeType": "RevertStatement", - "src": "15832:25:2" - } - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "id": 2275, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "16015:4:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AxelarGateway_$3073", - "typeString": "contract AxelarGateway" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_AxelarGateway_$3073", - "typeString": "contract AxelarGateway" - } - ], - "id": 2274, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "16007:7:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 2273, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "16007:7:2", - "typeDescriptions": {} - } - }, - "id": 2276, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16007:13:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "id": 2270, - "name": "depositHandler", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2209, - "src": "15984:14:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_DepositHandler_$3381", - "typeString": "contract DepositHandler" - } - }, - "id": 2272, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "destroy", - "nodeType": "MemberAccess", - "referencedDeclaration": 3380, - "src": "15984:22:2", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$", - "typeString": "function (address) external" - } - }, - "id": 2277, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15984:37:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2278, - "nodeType": "ExpressionStatement", - "src": "15984:37:2" - } - ] - } - } - ] - }, - "functionSelector": "4656ae2e", - "id": 2290, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 2168, - "kind": "modifierInvocation", - "modifierName": { - "id": 2167, - "name": "onlySelf", - "nodeType": "IdentifierPath", - "referencedDeclaration": 1098, - "src": "15104:8:2" - }, - "nodeType": "ModifierInvocation", - "src": "15104:8:2" - } - ], - "name": "burnToken", - "nameLocation": "15053:9:2", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2166, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2163, - "mutability": "mutable", - "name": "params", - "nameLocation": "15078:6:2", - "nodeType": "VariableDeclaration", - "scope": 2290, - "src": "15063:21:2", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 2162, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "15063:5:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2165, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2290, - "src": "15086:7:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 2164, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "15086:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "15062:32:2" - }, - "returnParameters": { - "id": 2169, - "nodeType": "ParameterList", - "parameters": [], - "src": "15113:0:2" - }, - "scope": 3073, - "src": "15044:1078:2", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 2347, - "nodeType": "Block", - "src": "16217:564:2", - "statements": [ - { - "assignments": [ - 2300, - 2302, - 2304, - 2306, - 2308, - 2310 - ], - "declarations": [ - { - "constant": false, - "id": 2300, - "mutability": "mutable", - "name": "sourceChain", - "nameLocation": "16255:11:2", - "nodeType": "VariableDeclaration", - "scope": 2347, - "src": "16241:25:2", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 2299, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "16241:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2302, - "mutability": "mutable", - "name": "sourceAddress", - "nameLocation": "16294:13:2", - "nodeType": "VariableDeclaration", - "scope": 2347, - "src": "16280:27:2", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 2301, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "16280:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2304, - "mutability": "mutable", - "name": "contractAddress", - "nameLocation": "16329:15:2", - "nodeType": "VariableDeclaration", - "scope": 2347, - "src": "16321:23:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2303, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "16321:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2306, - "mutability": "mutable", - "name": "payloadHash", - "nameLocation": "16366:11:2", - "nodeType": "VariableDeclaration", - "scope": 2347, - "src": "16358:19:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 2305, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "16358:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2308, - "mutability": "mutable", - "name": "sourceTxHash", - "nameLocation": "16399:12:2", - "nodeType": "VariableDeclaration", - "scope": 2347, - "src": "16391:20:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 2307, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "16391:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2310, - "mutability": "mutable", - "name": "sourceEventIndex", - "nameLocation": "16433:16:2", - "nodeType": "VariableDeclaration", - "scope": 2347, - "src": "16425:24:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2309, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16425:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 2328, - "initialValue": { - "arguments": [ - { - "id": 2313, - "name": "params", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2292, - "src": "16473:6:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - }, - { - "components": [ - { - "id": 2315, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "16482:6:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_string_storage_ptr_$", - "typeString": "type(string storage pointer)" - }, - "typeName": { - "id": 2314, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "16482:6:2", - "typeDescriptions": {} - } - }, - { - "id": 2317, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "16490:6:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_string_storage_ptr_$", - "typeString": "type(string storage pointer)" - }, - "typeName": { - "id": 2316, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "16490:6:2", - "typeDescriptions": {} - } - }, - { - "id": 2319, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "16498:7:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 2318, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "16498:7:2", - "typeDescriptions": {} - } - }, - { - "id": 2321, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "16507:7:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes32_$", - "typeString": "type(bytes32)" - }, - "typeName": { - "id": 2320, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "16507:7:2", - "typeDescriptions": {} - } - }, - { - "id": 2323, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "16516:7:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes32_$", - "typeString": "type(bytes32)" - }, - "typeName": { - "id": 2322, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "16516:7:2", - "typeDescriptions": {} - } - }, - { - "id": 2325, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "16525:7:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 2324, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16525:7:2", - "typeDescriptions": {} - } - } - ], - "id": 2326, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "16481:52:2", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_type$_t_string_storage_ptr_$_$_t_type$_t_string_storage_ptr_$_$_t_type$_t_address_$_$_t_type$_t_bytes32_$_$_t_type$_t_bytes32_$_$_t_type$_t_uint256_$_$", - "typeString": "tuple(type(string storage pointer),type(string storage pointer),type(address),type(bytes32),type(bytes32),type(uint256))" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - }, - { - "typeIdentifier": "t_tuple$_t_type$_t_string_storage_ptr_$_$_t_type$_t_string_storage_ptr_$_$_t_type$_t_address_$_$_t_type$_t_bytes32_$_$_t_type$_t_bytes32_$_$_t_type$_t_uint256_$_$", - "typeString": "tuple(type(string storage pointer),type(string storage pointer),type(address),type(bytes32),type(bytes32),type(uint256))" - } - ], - "expression": { - "id": 2311, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "16462:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 2312, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "decode", - "nodeType": "MemberAccess", - "src": "16462:10:2", - "typeDescriptions": { - "typeIdentifier": "t_function_abidecode_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 2327, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16462:72:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_address_payable_$_t_bytes32_$_t_bytes32_$_t_uint256_$", - "typeString": "tuple(string memory,string memory,address payable,bytes32,bytes32,uint256)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16227:307:2" - }, - { - "expression": { - "arguments": [ - { - "id": 2330, - "name": "commandId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2294, - "src": "16570:9:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 2331, - "name": "sourceChain", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2300, - "src": "16581:11:2", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "id": 2332, - "name": "sourceAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2302, - "src": "16594:13:2", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "id": 2333, - "name": "contractAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2304, - "src": "16609:15:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 2334, - "name": "payloadHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2306, - "src": "16626:11:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 2329, - "name": "_setContractCallApproved", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3030, - "src": "16545:24:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_address_$_t_bytes32_$returns$__$", - "typeString": "function (bytes32,string memory,string memory,address,bytes32)" - } - }, - "id": 2335, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16545:93:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2336, - "nodeType": "ExpressionStatement", - "src": "16545:93:2" - }, - { - "eventCall": { - "arguments": [ - { - "id": 2338, - "name": "commandId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2294, - "src": "16674:9:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 2339, - "name": "sourceChain", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2300, - "src": "16685:11:2", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "id": 2340, - "name": "sourceAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2302, - "src": "16698:13:2", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "id": 2341, - "name": "contractAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2304, - "src": "16713:15:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 2342, - "name": "payloadHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2306, - "src": "16730:11:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 2343, - "name": "sourceTxHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2308, - "src": "16743:12:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 2344, - "name": "sourceEventIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2310, - "src": "16757:16:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2337, - "name": "ContractCallApproved", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5475, - "src": "16653:20:2", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_address_$_t_bytes32_$_t_bytes32_$_t_uint256_$returns$__$", - "typeString": "function (bytes32,string memory,string memory,address,bytes32,bytes32,uint256)" - } - }, - "id": 2345, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16653:121:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2346, - "nodeType": "EmitStatement", - "src": "16648:126:2" - } - ] - }, - "functionSelector": "fbe0a31b", - "id": 2348, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 2297, - "kind": "modifierInvocation", - "modifierName": { - "id": 2296, - "name": "onlySelf", - "nodeType": "IdentifierPath", - "referencedDeclaration": 1098, - "src": "16208:8:2" - }, - "nodeType": "ModifierInvocation", - "src": "16208:8:2" - } - ], - "name": "approveContractCall", - "nameLocation": "16137:19:2", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2295, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2292, - "mutability": "mutable", - "name": "params", - "nameLocation": "16172:6:2", - "nodeType": "VariableDeclaration", - "scope": 2348, - "src": "16157:21:2", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 2291, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "16157:5:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2294, - "mutability": "mutable", - "name": "commandId", - "nameLocation": "16188:9:2", - "nodeType": "VariableDeclaration", - "scope": 2348, - "src": "16180:17:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 2293, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "16180:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "16156:42:2" - }, - "returnParameters": { - "id": 2298, - "nodeType": "ParameterList", - "parameters": [], - "src": "16217:0:2" - }, - "scope": 3073, - "src": "16128:653:2", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 2417, - "nodeType": "Block", - "src": "16884:809:2", - "statements": [ - { - "assignments": [ - 2358, - 2360, - 2362, - 2364, - 2366, - 2368, - 2370, - 2372 - ], - "declarations": [ - { - "constant": false, - "id": 2358, - "mutability": "mutable", - "name": "sourceChain", - "nameLocation": "16922:11:2", - "nodeType": "VariableDeclaration", - "scope": 2417, - "src": "16908:25:2", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 2357, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "16908:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2360, - "mutability": "mutable", - "name": "sourceAddress", - "nameLocation": "16961:13:2", - "nodeType": "VariableDeclaration", - "scope": 2417, - "src": "16947:27:2", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 2359, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "16947:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2362, - "mutability": "mutable", - "name": "contractAddress", - "nameLocation": "16996:15:2", - "nodeType": "VariableDeclaration", - "scope": 2417, - "src": "16988:23:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2361, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "16988:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2364, - "mutability": "mutable", - "name": "payloadHash", - "nameLocation": "17033:11:2", - "nodeType": "VariableDeclaration", - "scope": 2417, - "src": "17025:19:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 2363, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "17025:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2366, - "mutability": "mutable", - "name": "symbol", - "nameLocation": "17072:6:2", - "nodeType": "VariableDeclaration", - "scope": 2417, - "src": "17058:20:2", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 2365, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "17058:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2368, - "mutability": "mutable", - "name": "amount", - "nameLocation": "17100:6:2", - "nodeType": "VariableDeclaration", - "scope": 2417, - "src": "17092:14:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2367, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17092:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2370, - "mutability": "mutable", - "name": "sourceTxHash", - "nameLocation": "17128:12:2", - "nodeType": "VariableDeclaration", - "scope": 2417, - "src": "17120:20:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 2369, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "17120:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2372, - "mutability": "mutable", - "name": "sourceEventIndex", - "nameLocation": "17162:16:2", - "nodeType": "VariableDeclaration", - "scope": 2417, - "src": "17154:24:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2371, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17154:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 2394, - "initialValue": { - "arguments": [ - { - "id": 2375, - "name": "params", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2350, - "src": "17202:6:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - }, - { - "components": [ - { - "id": 2377, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "17211:6:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_string_storage_ptr_$", - "typeString": "type(string storage pointer)" - }, - "typeName": { - "id": 2376, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "17211:6:2", - "typeDescriptions": {} - } - }, - { - "id": 2379, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "17219:6:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_string_storage_ptr_$", - "typeString": "type(string storage pointer)" - }, - "typeName": { - "id": 2378, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "17219:6:2", - "typeDescriptions": {} - } - }, - { - "id": 2381, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "17227:7:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 2380, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17227:7:2", - "typeDescriptions": {} - } - }, - { - "id": 2383, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "17236:7:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes32_$", - "typeString": "type(bytes32)" - }, - "typeName": { - "id": 2382, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "17236:7:2", - "typeDescriptions": {} - } - }, - { - "id": 2385, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "17245:6:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_string_storage_ptr_$", - "typeString": "type(string storage pointer)" - }, - "typeName": { - "id": 2384, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "17245:6:2", - "typeDescriptions": {} - } - }, - { - "id": 2387, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "17253:7:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 2386, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17253:7:2", - "typeDescriptions": {} - } - }, - { - "id": 2389, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "17262:7:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes32_$", - "typeString": "type(bytes32)" - }, - "typeName": { - "id": 2388, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "17262:7:2", - "typeDescriptions": {} - } - }, - { - "id": 2391, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "17271:7:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 2390, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17271:7:2", - "typeDescriptions": {} - } - } - ], - "id": 2392, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "17210:69:2", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_type$_t_string_storage_ptr_$_$_t_type$_t_string_storage_ptr_$_$_t_type$_t_address_$_$_t_type$_t_bytes32_$_$_t_type$_t_string_storage_ptr_$_$_t_type$_t_uint256_$_$_t_type$_t_bytes32_$_$_t_type$_t_uint256_$_$", - "typeString": "tuple(type(string storage pointer),type(string storage pointer),type(address),type(bytes32),type(string storage pointer),type(uint256),type(bytes32),type(uint256))" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - }, - { - "typeIdentifier": "t_tuple$_t_type$_t_string_storage_ptr_$_$_t_type$_t_string_storage_ptr_$_$_t_type$_t_address_$_$_t_type$_t_bytes32_$_$_t_type$_t_string_storage_ptr_$_$_t_type$_t_uint256_$_$_t_type$_t_bytes32_$_$_t_type$_t_uint256_$_$", - "typeString": "tuple(type(string storage pointer),type(string storage pointer),type(address),type(bytes32),type(string storage pointer),type(uint256),type(bytes32),type(uint256))" - } - ], - "expression": { - "id": 2373, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "17191:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 2374, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "decode", - "nodeType": "MemberAccess", - "src": "17191:10:2", - "typeDescriptions": { - "typeIdentifier": "t_function_abidecode_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 2393, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17191:89:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_address_payable_$_t_bytes32_$_t_string_memory_ptr_$_t_uint256_$_t_bytes32_$_t_uint256_$", - "typeString": "tuple(string memory,string memory,address payable,bytes32,string memory,uint256,bytes32,uint256)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16894:386:2" - }, - { - "expression": { - "arguments": [ - { - "id": 2396, - "name": "commandId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2352, - "src": "17324:9:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 2397, - "name": "sourceChain", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2358, - "src": "17335:11:2", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "id": 2398, - "name": "sourceAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2360, - "src": "17348:13:2", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "id": 2399, - "name": "contractAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2362, - "src": "17363:15:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 2400, - "name": "payloadHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2364, - "src": "17380:11:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 2401, - "name": "symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2366, - "src": "17393:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "id": 2402, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2368, - "src": "17401:6:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2395, - "name": "_setContractCallApprovedWithMint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3061, - "src": "17291:32:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_address_$_t_bytes32_$_t_string_memory_ptr_$_t_uint256_$returns$__$", - "typeString": "function (bytes32,string memory,string memory,address,bytes32,string memory,uint256)" - } - }, - "id": 2403, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17291:117:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2404, - "nodeType": "ExpressionStatement", - "src": "17291:117:2" - }, - { - "eventCall": { - "arguments": [ - { - "id": 2406, - "name": "commandId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2352, - "src": "17465:9:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 2407, - "name": "sourceChain", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2358, - "src": "17488:11:2", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "id": 2408, - "name": "sourceAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2360, - "src": "17513:13:2", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "id": 2409, - "name": "contractAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2362, - "src": "17540:15:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 2410, - "name": "payloadHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2364, - "src": "17569:11:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 2411, - "name": "symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2366, - "src": "17594:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "id": 2412, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2368, - "src": "17614:6:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 2413, - "name": "sourceTxHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2370, - "src": "17634:12:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 2414, - "name": "sourceEventIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2372, - "src": "17660:16:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2405, - "name": "ContractCallApprovedWithMint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5495, - "src": "17423:28:2", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_address_$_t_bytes32_$_t_string_memory_ptr_$_t_uint256_$_t_bytes32_$_t_uint256_$returns$__$", - "typeString": "function (bytes32,string memory,string memory,address,bytes32,string memory,uint256,bytes32,uint256)" - } - }, - "id": 2415, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17423:263:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2416, - "nodeType": "EmitStatement", - "src": "17418:268:2" - } - ] - }, - "functionSelector": "585a9fd4", - "id": 2418, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 2355, - "kind": "modifierInvocation", - "modifierName": { - "id": 2354, - "name": "onlySelf", - "nodeType": "IdentifierPath", - "referencedDeclaration": 1098, - "src": "16875:8:2" - }, - "nodeType": "ModifierInvocation", - "src": "16875:8:2" - } - ], - "name": "approveContractCallWithMint", - "nameLocation": "16796:27:2", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2353, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2350, - "mutability": "mutable", - "name": "params", - "nameLocation": "16839:6:2", - "nodeType": "VariableDeclaration", - "scope": 2418, - "src": "16824:21:2", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 2349, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "16824:5:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2352, - "mutability": "mutable", - "name": "commandId", - "nameLocation": "16855:9:2", - "nodeType": "VariableDeclaration", - "scope": 2418, - "src": "16847:17:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 2351, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "16847:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "16823:42:2" - }, - "returnParameters": { - "id": 2356, - "nodeType": "ParameterList", - "parameters": [], - "src": "16884:0:2" - }, - "scope": 3073, - "src": "16787:906:2", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 2438, - "nodeType": "Block", - "src": "17789:137:2", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 2431, - "name": "newOperatorsData", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2420, - "src": "17845:16:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - ], - "expression": { - "arguments": [ - { - "id": 2428, - "name": "AUTH_MODULE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1047, - "src": "17811:11:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 2427, - "name": "IAxelarAuth", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4993, - "src": "17799:11:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IAxelarAuth_$4993_$", - "typeString": "type(contract IAxelarAuth)" - } - }, - "id": 2429, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17799:24:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IAxelarAuth_$4993", - "typeString": "contract IAxelarAuth" - } - }, - "id": 2430, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transferOperatorship", - "nodeType": "MemberAccess", - "referencedDeclaration": 4992, - "src": "17799:45:2", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (bytes memory) external" - } - }, - "id": 2432, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17799:63:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2433, - "nodeType": "ExpressionStatement", - "src": "17799:63:2" - }, - { - "eventCall": { - "arguments": [ - { - "id": 2435, - "name": "newOperatorsData", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2420, - "src": "17902:16:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - ], - "id": 2434, - "name": "OperatorshipTransferred", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5505, - "src": "17878:23:2", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (bytes memory)" - } - }, - "id": 2436, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17878:41:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2437, - "nodeType": "EmitStatement", - "src": "17873:46:2" - } - ] - }, - "functionSelector": "97b87ba6", - "id": 2439, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 2425, - "kind": "modifierInvocation", - "modifierName": { - "id": 2424, - "name": "onlySelf", - "nodeType": "IdentifierPath", - "referencedDeclaration": 1098, - "src": "17780:8:2" - }, - "nodeType": "ModifierInvocation", - "src": "17780:8:2" - } - ], - "name": "transferOperatorship", - "nameLocation": "17708:20:2", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2423, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2420, - "mutability": "mutable", - "name": "newOperatorsData", - "nameLocation": "17744:16:2", - "nodeType": "VariableDeclaration", - "scope": 2439, - "src": "17729:31:2", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 2419, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "17729:5:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2422, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2439, - "src": "17762:7:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 2421, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "17762:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "17728:42:2" - }, - "returnParameters": { - "id": 2426, - "nodeType": "ParameterList", - "parameters": [], - "src": "17789:0:2" - }, - "scope": 3073, - "src": "17699:227:2", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 2480, - "nodeType": "Block", - "src": "18275:134:2", - "statements": [ - { - "expression": { - "id": 2478, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "components": [ - { - "id": 2455, - "name": "chainId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2444, - "src": "18286:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - null, - { - "id": 2456, - "name": "commandIds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2447, - "src": "18297:10:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", - "typeString": "bytes32[] memory" - } - }, - { - "id": 2457, - "name": "commands", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2450, - "src": "18309:8:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr", - "typeString": "string memory[] memory" - } - }, - { - "id": 2458, - "name": "params", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2453, - "src": "18319:6:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", - "typeString": "bytes memory[] memory" - } - } - ], - "id": 2459, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "18285:41:2", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$__$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$", - "typeString": "tuple(uint256,,bytes32[] memory,string memory[] memory,bytes memory[] memory)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 2462, - "name": "executeData", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2441, - "src": "18340:11:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "components": [ - { - "id": 2464, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "18354:7:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 2463, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "18354:7:2", - "typeDescriptions": {} - } - }, - { - "id": 2466, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "18363:7:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 2465, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "18363:7:2", - "typeDescriptions": {} - } - }, - { - "baseExpression": { - "id": 2468, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "18372:7:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes32_$", - "typeString": "type(bytes32)" - }, - "typeName": { - "id": 2467, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "18372:7:2", - "typeDescriptions": {} - } - }, - "id": 2469, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "18372:9:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_array$_t_bytes32_$dyn_memory_ptr_$", - "typeString": "type(bytes32[] memory)" - } - }, - { - "baseExpression": { - "id": 2471, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "18383:6:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_string_storage_ptr_$", - "typeString": "type(string storage pointer)" - }, - "typeName": { - "id": 2470, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "18383:6:2", - "typeDescriptions": {} - } - }, - "id": 2472, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "18383:8:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$", - "typeString": "type(string memory[] memory)" - } - }, - { - "baseExpression": { - "id": 2474, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "18393:5:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", - "typeString": "type(bytes storage pointer)" - }, - "typeName": { - "id": 2473, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "18393:5:2", - "typeDescriptions": {} - } - }, - "id": 2475, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "18393:7:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$", - "typeString": "type(bytes memory[] memory)" - } - } - ], - "id": 2476, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "18353:48:2", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_type$_t_uint256_$_$_t_type$_t_uint256_$_$_t_type$_t_array$_t_bytes32_$dyn_memory_ptr_$_$_t_type$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$_$_t_type$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$_$", - "typeString": "tuple(type(uint256),type(uint256),type(bytes32[] memory),type(string memory[] memory),type(bytes memory[] memory))" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_tuple$_t_type$_t_uint256_$_$_t_type$_t_uint256_$_$_t_type$_t_array$_t_bytes32_$dyn_memory_ptr_$_$_t_type$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$_$_t_type$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$_$", - "typeString": "tuple(type(uint256),type(uint256),type(bytes32[] memory),type(string memory[] memory),type(bytes memory[] memory))" - } - ], - "expression": { - "id": 2460, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "18329:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 2461, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "decode", - "nodeType": "MemberAccess", - "src": "18329:10:2", - "typeDescriptions": { - "typeIdentifier": "t_function_abidecode_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 2477, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18329:73:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_array$_t_bytes32_$dyn_memory_ptr_$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$", - "typeString": "tuple(uint256,uint256,bytes32[] memory,string memory[] memory,bytes memory[] memory)" - } - }, - "src": "18285:117:2", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2479, - "nodeType": "ExpressionStatement", - "src": "18285:117:2" - } - ] - }, - "functionSelector": "f871f14e", - "id": 2481, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_unpackLegacyCommands", - "nameLocation": "18023:21:2", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2442, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2441, - "mutability": "mutable", - "name": "executeData", - "nameLocation": "18058:11:2", - "nodeType": "VariableDeclaration", - "scope": 2481, - "src": "18045:24:2", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 2440, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "18045:5:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "18044:26:2" - }, - "returnParameters": { - "id": 2454, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2444, - "mutability": "mutable", - "name": "chainId", - "nameLocation": "18139:7:2", - "nodeType": "VariableDeclaration", - "scope": 2481, - "src": "18131:15:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2443, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "18131:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2447, - "mutability": "mutable", - "name": "commandIds", - "nameLocation": "18177:10:2", - "nodeType": "VariableDeclaration", - "scope": 2481, - "src": "18160:27:2", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", - "typeString": "bytes32[]" - }, - "typeName": { - "baseType": { - "id": 2445, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "18160:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "id": 2446, - "nodeType": "ArrayTypeName", - "src": "18160:9:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", - "typeString": "bytes32[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2450, - "mutability": "mutable", - "name": "commands", - "nameLocation": "18217:8:2", - "nodeType": "VariableDeclaration", - "scope": 2481, - "src": "18201:24:2", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr", - "typeString": "string[]" - }, - "typeName": { - "baseType": { - "id": 2448, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "18201:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "id": 2449, - "nodeType": "ArrayTypeName", - "src": "18201:8:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_string_storage_$dyn_storage_ptr", - "typeString": "string[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2453, - "mutability": "mutable", - "name": "params", - "nameLocation": "18254:6:2", - "nodeType": "VariableDeclaration", - "scope": 2481, - "src": "18239:21:2", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", - "typeString": "bytes[]" - }, - "typeName": { - "baseType": { - "id": 2451, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "18239:5:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "id": 2452, - "nodeType": "ArrayTypeName", - "src": "18239:7:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes_storage_$dyn_storage_ptr", - "typeString": "bytes[]" - } - }, - "visibility": "internal" - } - ], - "src": "18117:153:2" - }, - "scope": 3073, - "src": "18014:395:2", - "stateMutability": "pure", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 2518, - "nodeType": "Block", - "src": "18509:181:2", - "statements": [ - { - "assignments": [ - 2491, - 2493 - ], - "declarations": [ - { - "constant": false, - "id": 2491, - "mutability": "mutable", - "name": "success", - "nameLocation": "18525:7:2", - "nodeType": "VariableDeclaration", - "scope": 2518, - "src": "18520:12:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2490, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "18520:4:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2493, - "mutability": "mutable", - "name": "returnData", - "nameLocation": "18547:10:2", - "nodeType": "VariableDeclaration", - "scope": 2518, - "src": "18534:23:2", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 2492, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "18534:5:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "id": 2498, - "initialValue": { - "arguments": [ - { - "id": 2496, - "name": "callData", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2485, - "src": "18579:8:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "expression": { - "id": 2494, - "name": "tokenAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2483, - "src": "18561:12:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 2495, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "call", - "nodeType": "MemberAccess", - "src": "18561:17:2", - "typeDescriptions": { - "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "function (bytes memory) payable returns (bool,bytes memory)" - } - }, - "id": 2497, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18561:27:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "tuple(bool,bytes memory)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "18519:69:2" - }, - { - "expression": { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 2516, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2499, - "name": "success", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2491, - "src": "18605:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 2514, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2506, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 2500, - "name": "returnData", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2493, - "src": "18617:10:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 2501, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "src": "18617:17:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 2504, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18646:1:2", - "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": 2503, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "18638:7:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 2502, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "18638:7:2", - "typeDescriptions": {} - } - }, - "id": 2505, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18638:10:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "18617:31:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "arguments": [ - { - "id": 2509, - "name": "returnData", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2493, - "src": "18663:10:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "components": [ - { - "id": 2511, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "18676:4:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bool_$", - "typeString": "type(bool)" - }, - "typeName": { - "id": 2510, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "18676:4:2", - "typeDescriptions": {} - } - } - ], - "id": 2512, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "18675:6:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bool_$", - "typeString": "type(bool)" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_type$_t_bool_$", - "typeString": "type(bool)" - } - ], - "expression": { - "id": 2507, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "18652:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 2508, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "decode", - "nodeType": "MemberAccess", - "src": "18652:10:2", - "typeDescriptions": { - "typeIdentifier": "t_function_abidecode_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 2513, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18652:30:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "18617:65:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 2515, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "18616:67:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "18605:78:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 2489, - "id": 2517, - "nodeType": "Return", - "src": "18598:85:2" - } - ] - }, - "id": 2519, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_callERC20Token", - "nameLocation": "18424:15:2", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2486, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2483, - "mutability": "mutable", - "name": "tokenAddress", - "nameLocation": "18448:12:2", - "nodeType": "VariableDeclaration", - "scope": 2519, - "src": "18440:20:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2482, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "18440:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2485, - "mutability": "mutable", - "name": "callData", - "nameLocation": "18475:8:2", - "nodeType": "VariableDeclaration", - "scope": 2519, - "src": "18462:21:2", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 2484, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "18462:5:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "18439:45:2" - }, - "returnParameters": { - "id": 2489, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2488, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2519, - "src": "18503:4:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2487, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "18503:4:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "18502:6:2" - }, - "scope": 3073, - "src": "18415:275:2", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 2592, - "nodeType": "Block", - "src": "18810:563:2", - "statements": [ - { - "assignments": [ - 2529 - ], - "declarations": [ - { - "constant": false, - "id": 2529, - "mutability": "mutable", - "name": "tokenAddress", - "nameLocation": "18828:12:2", - "nodeType": "VariableDeclaration", - "scope": 2592, - "src": "18820:20:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2528, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "18820:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "id": 2533, - "initialValue": { - "arguments": [ - { - "id": 2531, - "name": "symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2521, - "src": "18858:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 2530, - "name": "tokenAddresses", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1402, - "src": "18843:14:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$returns$_t_address_$", - "typeString": "function (string memory) view returns (address)" - } - }, - "id": 2532, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18843:22:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "18820:45:2" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 2539, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2534, - "name": "tokenAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2529, - "src": "18880:12:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 2537, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18904:1:2", - "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": 2536, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "18896:7:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 2535, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "18896:7:2", - "typeDescriptions": {} - } - }, - "id": 2538, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18896:10:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "18880:26:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 2544, - "nodeType": "IfStatement", - "src": "18876:64:2", - "trueBody": { - "errorCall": { - "arguments": [ - { - "id": 2541, - "name": "symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2521, - "src": "18933:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 2540, - "name": "TokenDoesNotExist", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5383, - "src": "18915:17:2", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$_t_string_memory_ptr_$returns$__$", - "typeString": "function (string memory) pure" - } - }, - "id": 2542, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18915:25:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2543, - "nodeType": "RevertStatement", - "src": "18908:32:2" - } - }, - { - "expression": { - "arguments": [ - { - "id": 2546, - "name": "symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2521, - "src": "18976:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2551, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [ - { - "id": 2548, - "name": "symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2521, - "src": "19005:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 2547, - "name": "tokenDailyMintAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1367, - "src": "18984:20:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$returns$_t_uint256_$", - "typeString": "function (string memory) view returns (uint256)" - } - }, - "id": 2549, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18984:28:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "id": 2550, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2525, - "src": "19015:6:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "18984:37:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2545, - "name": "_setTokenDailyMintAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2956, - "src": "18951:24:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$", - "typeString": "function (string memory,uint256)" - } - }, - "id": 2552, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18951:71:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2553, - "nodeType": "ExpressionStatement", - "src": "18951:71:2" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_enum$_TokenType_$973", - "typeString": "enum AxelarGateway.TokenType" - }, - "id": 2559, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [ - { - "id": 2555, - "name": "symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2521, - "src": "19051:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 2554, - "name": "_getTokenType", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2899, - "src": "19037:13:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$returns$_t_enum$_TokenType_$973_$", - "typeString": "function (string memory) view returns (enum AxelarGateway.TokenType)" - } - }, - "id": 2556, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19037:21:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_enum$_TokenType_$973", - "typeString": "enum AxelarGateway.TokenType" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "expression": { - "id": 2557, - "name": "TokenType", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 973, - "src": "19062:9:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_TokenType_$973_$", - "typeString": "type(enum AxelarGateway.TokenType)" - } - }, - "id": 2558, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "External", - "nodeType": "MemberAccess", - "referencedDeclaration": 972, - "src": "19062:18:2", - "typeDescriptions": { - "typeIdentifier": "t_enum$_TokenType_$973", - "typeString": "enum AxelarGateway.TokenType" - } - }, - "src": "19037:43:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 2590, - "nodeType": "Block", - "src": "19278:89:2", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 2586, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2523, - "src": "19340:7:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 2587, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2525, - "src": "19349:6:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "arguments": [ - { - "id": 2583, - "name": "tokenAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2529, - "src": "19321:12:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 2582, - "name": "IBurnableMintableCappedERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5734, - "src": "19292:28:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IBurnableMintableCappedERC20_$5734_$", - "typeString": "type(contract IBurnableMintableCappedERC20)" - } - }, - "id": 2584, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19292:42:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IBurnableMintableCappedERC20_$5734", - "typeString": "contract IBurnableMintableCappedERC20" - } - }, - "id": 2585, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mint", - "nodeType": "MemberAccess", - "referencedDeclaration": 5892, - "src": "19292:47:2", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256) external" - } - }, - "id": 2588, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19292:64:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2589, - "nodeType": "ExpressionStatement", - "src": "19292:64:2" - } - ] - }, - "id": 2591, - "nodeType": "IfStatement", - "src": "19033:334:2", - "trueBody": { - "id": 2581, - "nodeType": "Block", - "src": "19082:190:2", - "statements": [ - { - "assignments": [ - 2561 - ], - "declarations": [ - { - "constant": false, - "id": 2561, - "mutability": "mutable", - "name": "success", - "nameLocation": "19101:7:2", - "nodeType": "VariableDeclaration", - "scope": 2581, - "src": "19096:12:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2560, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "19096:4:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "id": 2573, - "initialValue": { - "arguments": [ - { - "id": 2563, - "name": "tokenAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2529, - "src": "19127:12:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "arguments": [ - { - "expression": { - "expression": { - "id": 2566, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5814, - "src": "19164:6:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5814_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 2567, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 5763, - "src": "19164:15:2", - "typeDescriptions": { - "typeIdentifier": "t_function_declaration_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function IERC20.transfer(address,uint256) returns (bool)" - } - }, - "id": 2568, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "selector", - "nodeType": "MemberAccess", - "src": "19164:24:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - { - "id": 2569, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2523, - "src": "19190:7:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 2570, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2525, - "src": "19199:6:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 2564, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "19141:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 2565, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodeWithSelector", - "nodeType": "MemberAccess", - "src": "19141:22:2", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (bytes4) pure returns (bytes memory)" - } - }, - "id": 2571, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19141:65:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 2562, - "name": "_callERC20Token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2519, - "src": "19111:15:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$returns$_t_bool_$", - "typeString": "function (address,bytes memory) returns (bool)" - } - }, - "id": 2572, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19111:96:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "19096:111:2" - }, - { - "condition": { - "id": 2575, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "19226:8:2", - "subExpression": { - "id": 2574, - "name": "success", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2561, - "src": "19227:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 2580, - "nodeType": "IfStatement", - "src": "19222:39:2", - "trueBody": { - "errorCall": { - "arguments": [ - { - "id": 2577, - "name": "symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2521, - "src": "19254:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 2576, - "name": "MintFailed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5403, - "src": "19243:10:2", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$_t_string_memory_ptr_$returns$__$", - "typeString": "function (string memory) pure" - } - }, - "id": 2578, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19243:18:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2579, - "nodeType": "RevertStatement", - "src": "19236:25:2" - } - } - ] - } - } - ] - }, - "id": 2593, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_mintToken", - "nameLocation": "18705:10:2", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2526, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2521, - "mutability": "mutable", - "name": "symbol", - "nameLocation": "18739:6:2", - "nodeType": "VariableDeclaration", - "scope": 2593, - "src": "18725:20:2", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 2520, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "18725:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2523, - "mutability": "mutable", - "name": "account", - "nameLocation": "18763:7:2", - "nodeType": "VariableDeclaration", - "scope": 2593, - "src": "18755:15:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2522, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "18755:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2525, - "mutability": "mutable", - "name": "amount", - "nameLocation": "18788:6:2", - "nodeType": "VariableDeclaration", - "scope": 2593, - "src": "18780:14:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2524, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "18780:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "18715:85:2" - }, - "returnParameters": { - "id": 2527, - "nodeType": "ParameterList", - "parameters": [], - "src": "18810:0:2" - }, - "scope": 3073, - "src": "18696:677:2", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 2736, - "nodeType": "Block", - "src": "19496:1362:2", - "statements": [ - { - "assignments": [ - 2603 - ], - "declarations": [ - { - "constant": false, - "id": 2603, - "mutability": "mutable", - "name": "tokenAddress", - "nameLocation": "19514:12:2", - "nodeType": "VariableDeclaration", - "scope": 2736, - "src": "19506:20:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2602, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "19506:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "id": 2607, - "initialValue": { - "arguments": [ - { - "id": 2605, - "name": "symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2597, - "src": "19544:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 2604, - "name": "tokenAddresses", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1402, - "src": "19529:14:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$returns$_t_address_$", - "typeString": "function (string memory) view returns (address)" - } - }, - "id": 2606, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19529:22:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "19506:45:2" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 2613, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2608, - "name": "tokenAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2603, - "src": "19566:12:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 2611, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19590:1:2", - "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": 2610, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "19582:7:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 2609, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "19582:7:2", - "typeDescriptions": {} - } - }, - "id": 2612, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19582:10:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "19566:26:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 2618, - "nodeType": "IfStatement", - "src": "19562:64:2", - "trueBody": { - "errorCall": { - "arguments": [ - { - "id": 2615, - "name": "symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2597, - "src": "19619:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 2614, - "name": "TokenDoesNotExist", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5383, - "src": "19601:17:2", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$_t_string_memory_ptr_$returns$__$", - "typeString": "function (string memory) pure" - } - }, - "id": 2616, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19601:25:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2617, - "nodeType": "RevertStatement", - "src": "19594:32:2" - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2621, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2619, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2599, - "src": "19640:6:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 2620, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19650:1:2", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "19640:11:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 2625, - "nodeType": "IfStatement", - "src": "19636:39:2", - "trueBody": { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 2622, - "name": "InvalidAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5375, - "src": "19660:13:2", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 2623, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19660:15:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2624, - "nodeType": "RevertStatement", - "src": "19653:22:2" - } - }, - { - "assignments": [ - 2628 - ], - "declarations": [ - { - "constant": false, - "id": 2628, - "mutability": "mutable", - "name": "tokenType", - "nameLocation": "19696:9:2", - "nodeType": "VariableDeclaration", - "scope": 2736, - "src": "19686:19:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_enum$_TokenType_$973", - "typeString": "enum AxelarGateway.TokenType" - }, - "typeName": { - "id": 2627, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 2626, - "name": "TokenType", - "nodeType": "IdentifierPath", - "referencedDeclaration": 973, - "src": "19686:9:2" - }, - "referencedDeclaration": 973, - "src": "19686:9:2", - "typeDescriptions": { - "typeIdentifier": "t_enum$_TokenType_$973", - "typeString": "enum AxelarGateway.TokenType" - } - }, - "visibility": "internal" - } - ], - "id": 2632, - "initialValue": { - "arguments": [ - { - "id": 2630, - "name": "symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2597, - "src": "19722:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 2629, - "name": "_getTokenType", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2899, - "src": "19708:13:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$returns$_t_enum$_TokenType_$973_$", - "typeString": "function (string memory) view returns (enum AxelarGateway.TokenType)" - } - }, - "id": 2631, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19708:21:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_enum$_TokenType_$973", - "typeString": "enum AxelarGateway.TokenType" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "19686:43:2" - }, - { - "assignments": [ - 2634 - ], - "declarations": [ - { - "constant": false, - "id": 2634, - "mutability": "mutable", - "name": "burnSuccess", - "nameLocation": "19744:11:2", - "nodeType": "VariableDeclaration", - "scope": 2736, - "src": "19739:16:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2633, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "19739:4:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "id": 2635, - "nodeType": "VariableDeclarationStatement", - "src": "19739:16:2" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_enum$_TokenType_$973", - "typeString": "enum AxelarGateway.TokenType" - }, - "id": 2639, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2636, - "name": "tokenType", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2628, - "src": "19770:9:2", - "typeDescriptions": { - "typeIdentifier": "t_enum$_TokenType_$973", - "typeString": "enum AxelarGateway.TokenType" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "expression": { - "id": 2637, - "name": "TokenType", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 973, - "src": "19783:9:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_TokenType_$973_$", - "typeString": "type(enum AxelarGateway.TokenType)" - } - }, - "id": 2638, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "External", - "nodeType": "MemberAccess", - "referencedDeclaration": 972, - "src": "19783:18:2", - "typeDescriptions": { - "typeIdentifier": "t_enum$_TokenType_$973", - "typeString": "enum AxelarGateway.TokenType" - } - }, - "src": "19770:31:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 2667, - "nodeType": "IfStatement", - "src": "19766:315:2", - "trueBody": { - "id": 2666, - "nodeType": "Block", - "src": "19803:278:2", - "statements": [ - { - "expression": { - "id": 2656, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2640, - "name": "burnSuccess", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2634, - "src": "19817:11:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 2642, - "name": "tokenAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2603, - "src": "19864:12:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "arguments": [ - { - "expression": { - "expression": { - "id": 2645, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5814, - "src": "19917:6:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5814_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 2646, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "transferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 5795, - "src": "19917:19:2", - "typeDescriptions": { - "typeIdentifier": "t_function_declaration_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function IERC20.transferFrom(address,address,uint256) returns (bool)" - } - }, - "id": 2647, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "selector", - "nodeType": "MemberAccess", - "src": "19917:28:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - { - "id": 2648, - "name": "sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2595, - "src": "19947:6:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "arguments": [ - { - "id": 2651, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "19963:4:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AxelarGateway_$3073", - "typeString": "contract AxelarGateway" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_AxelarGateway_$3073", - "typeString": "contract AxelarGateway" - } - ], - "id": 2650, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "19955:7:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 2649, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "19955:7:2", - "typeDescriptions": {} - } - }, - "id": 2652, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19955:13:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 2653, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2599, - "src": "19970:6:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 2643, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "19894:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 2644, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodeWithSelector", - "nodeType": "MemberAccess", - "src": "19894:22:2", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (bytes4) pure returns (bytes memory)" - } - }, - "id": 2654, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19894:83:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 2641, - "name": "_callERC20Token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2519, - "src": "19831:15:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$returns$_t_bool_$", - "typeString": "function (address,bytes memory) returns (bool)" - } - }, - "id": 2655, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19831:160:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "19817:174:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 2657, - "nodeType": "ExpressionStatement", - "src": "19817:174:2" - }, - { - "condition": { - "id": 2659, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "20010:12:2", - "subExpression": { - "id": 2658, - "name": "burnSuccess", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2634, - "src": "20011:11:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 2664, - "nodeType": "IfStatement", - "src": "20006:43:2", - "trueBody": { - "errorCall": { - "arguments": [ - { - "id": 2661, - "name": "symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2597, - "src": "20042:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 2660, - "name": "BurnFailed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5399, - "src": "20031:10:2", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$_t_string_memory_ptr_$returns$__$", - "typeString": "function (string memory) pure" - } - }, - "id": 2662, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20031:18:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2663, - "nodeType": "RevertStatement", - "src": "20024:25:2" - } - }, - { - "functionReturnParameters": 2601, - "id": 2665, - "nodeType": "Return", - "src": "20064:7:2" - } - ] - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_enum$_TokenType_$973", - "typeString": "enum AxelarGateway.TokenType" - }, - "id": 2671, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2668, - "name": "tokenType", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2628, - "src": "20095:9:2", - "typeDescriptions": { - "typeIdentifier": "t_enum$_TokenType_$973", - "typeString": "enum AxelarGateway.TokenType" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "expression": { - "id": 2669, - "name": "TokenType", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 973, - "src": "20108:9:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_TokenType_$973_$", - "typeString": "type(enum AxelarGateway.TokenType)" - } - }, - "id": 2670, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "InternalBurnableFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 971, - "src": "20108:30:2", - "typeDescriptions": { - "typeIdentifier": "t_enum$_TokenType_$973", - "typeString": "enum AxelarGateway.TokenType" - } - }, - "src": "20095:43:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 2695, - "nodeType": "IfStatement", - "src": "20091:330:2", - "trueBody": { - "id": 2694, - "nodeType": "Block", - "src": "20140:281:2", - "statements": [ - { - "expression": { - "id": 2684, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2672, - "name": "burnSuccess", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2634, - "src": "20154:11:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 2674, - "name": "tokenAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2603, - "src": "20201:12:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "arguments": [ - { - "expression": { - "expression": { - "id": 2677, - "name": "IBurnableMintableCappedERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5734, - "src": "20254:28:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IBurnableMintableCappedERC20_$5734_$", - "typeString": "type(contract IBurnableMintableCappedERC20)" - } - }, - "id": 2678, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "burnFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 5733, - "src": "20254:37:2", - "typeDescriptions": { - "typeIdentifier": "t_function_declaration_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function IBurnableMintableCappedERC20.burnFrom(address,uint256)" - } - }, - "id": 2679, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "selector", - "nodeType": "MemberAccess", - "src": "20254:46:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - { - "id": 2680, - "name": "sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2595, - "src": "20302:6:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 2681, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2599, - "src": "20310:6:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 2675, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "20231:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 2676, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodeWithSelector", - "nodeType": "MemberAccess", - "src": "20231:22:2", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (bytes4) pure returns (bytes memory)" - } - }, - "id": 2682, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20231:86:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 2673, - "name": "_callERC20Token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2519, - "src": "20168:15:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$returns$_t_bool_$", - "typeString": "function (address,bytes memory) returns (bool)" - } - }, - "id": 2683, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20168:163:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "20154:177:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 2685, - "nodeType": "ExpressionStatement", - "src": "20154:177:2" - }, - { - "condition": { - "id": 2687, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "20350:12:2", - "subExpression": { - "id": 2686, - "name": "burnSuccess", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2634, - "src": "20351:11:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 2692, - "nodeType": "IfStatement", - "src": "20346:43:2", - "trueBody": { - "errorCall": { - "arguments": [ - { - "id": 2689, - "name": "symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2597, - "src": "20382:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 2688, - "name": "BurnFailed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5399, - "src": "20371:10:2", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$_t_string_memory_ptr_$returns$__$", - "typeString": "function (string memory) pure" - } - }, - "id": 2690, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20371:18:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2691, - "nodeType": "RevertStatement", - "src": "20364:25:2" - } - }, - { - "functionReturnParameters": 2601, - "id": 2693, - "nodeType": "Return", - "src": "20404:7:2" - } - ] - } - }, - { - "expression": { - "id": 2717, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2696, - "name": "burnSuccess", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2634, - "src": "20431:11:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 2698, - "name": "tokenAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2603, - "src": "20474:12:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "arguments": [ - { - "expression": { - "expression": { - "id": 2701, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5814, - "src": "20540:6:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5814_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 2702, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "transferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 5795, - "src": "20540:19:2", - "typeDescriptions": { - "typeIdentifier": "t_function_declaration_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function IERC20.transferFrom(address,address,uint256) returns (bool)" - } - }, - "id": 2703, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "selector", - "nodeType": "MemberAccess", - "src": "20540:28:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - { - "id": 2704, - "name": "sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2595, - "src": "20586:6:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "arguments": [ - { - "arguments": [ - { - "hexValue": "30", - "id": 2711, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20676:1:2", - "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": 2710, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "20668:7:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes32_$", - "typeString": "type(bytes32)" - }, - "typeName": { - "id": 2709, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "20668:7:2", - "typeDescriptions": {} - } - }, - "id": 2712, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20668:10:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "arguments": [ - { - "id": 2706, - "name": "tokenAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2603, - "src": "20639:12:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 2705, - "name": "IBurnableMintableCappedERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5734, - "src": "20610:28:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IBurnableMintableCappedERC20_$5734_$", - "typeString": "type(contract IBurnableMintableCappedERC20)" - } - }, - "id": 2707, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20610:42:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IBurnableMintableCappedERC20_$5734", - "typeString": "contract IBurnableMintableCappedERC20" - } - }, - "id": 2708, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "depositAddress", - "nodeType": "MemberAccess", - "referencedDeclaration": 5721, - "src": "20610:57:2", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_bytes32_$returns$_t_address_$", - "typeString": "function (bytes32) view external returns (address)" - } - }, - "id": 2713, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20610:69:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 2714, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2599, - "src": "20697:6:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 2699, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "20500:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 2700, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodeWithSelector", - "nodeType": "MemberAccess", - "src": "20500:22:2", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (bytes4) pure returns (bytes memory)" - } - }, - "id": 2715, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20500:217:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 2697, - "name": "_callERC20Token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2519, - "src": "20445:15:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$returns$_t_bool_$", - "typeString": "function (address,bytes memory) returns (bool)" - } - }, - "id": 2716, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20445:282:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "20431:296:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 2718, - "nodeType": "ExpressionStatement", - "src": "20431:296:2" - }, - { - "condition": { - "id": 2720, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "20742:12:2", - "subExpression": { - "id": 2719, - "name": "burnSuccess", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2634, - "src": "20743:11:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 2725, - "nodeType": "IfStatement", - "src": "20738:43:2", - "trueBody": { - "errorCall": { - "arguments": [ - { - "id": 2722, - "name": "symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2597, - "src": "20774:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 2721, - "name": "BurnFailed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5399, - "src": "20763:10:2", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$_t_string_memory_ptr_$returns$__$", - "typeString": "function (string memory) pure" - } - }, - "id": 2723, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20763:18:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2724, - "nodeType": "RevertStatement", - "src": "20756:25:2" - } - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "hexValue": "30", - "id": 2732, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20848:1:2", - "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": 2731, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "20840:7:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes32_$", - "typeString": "type(bytes32)" - }, - "typeName": { - "id": 2730, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "20840:7:2", - "typeDescriptions": {} - } - }, - "id": 2733, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20840:10:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "arguments": [ - { - "id": 2727, - "name": "tokenAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2603, - "src": "20821:12:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 2726, - "name": "IBurnableMintableCappedERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5734, - "src": "20792:28:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IBurnableMintableCappedERC20_$5734_$", - "typeString": "type(contract IBurnableMintableCappedERC20)" - } - }, - "id": 2728, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20792:42:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IBurnableMintableCappedERC20_$5734", - "typeString": "contract IBurnableMintableCappedERC20" - } - }, - "id": 2729, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "burn", - "nodeType": "MemberAccess", - "referencedDeclaration": 5726, - "src": "20792:47:2", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$returns$__$", - "typeString": "function (bytes32) external" - } - }, - "id": 2734, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20792:59:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2735, - "nodeType": "ExpressionStatement", - "src": "20792:59:2" - } - ] - }, - "id": 2737, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_burnTokenFrom", - "nameLocation": "19388:14:2", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2600, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2595, - "mutability": "mutable", - "name": "sender", - "nameLocation": "19420:6:2", - "nodeType": "VariableDeclaration", - "scope": 2737, - "src": "19412:14:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2594, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "19412:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2597, - "mutability": "mutable", - "name": "symbol", - "nameLocation": "19450:6:2", - "nodeType": "VariableDeclaration", - "scope": 2737, - "src": "19436:20:2", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 2596, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "19436:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2599, - "mutability": "mutable", - "name": "amount", - "nameLocation": "19474:6:2", - "nodeType": "VariableDeclaration", - "scope": 2737, - "src": "19466:14:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2598, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "19466:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "19402:84:2" - }, - "returnParameters": { - "id": 2601, - "nodeType": "ParameterList", - "parameters": [], - "src": "19496:0:2" - }, - "scope": 3073, - "src": "19379:1479:2", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 2752, - "nodeType": "Block", - "src": "21036:90:2", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "id": 2747, - "name": "PREFIX_TOKEN_DAILY_MINT_LIMIT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1010, - "src": "21080:29:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 2748, - "name": "symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2739, - "src": "21111:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "expression": { - "id": 2745, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "21063:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 2746, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "src": "21063:16:2", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 2749, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21063:55:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 2744, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "21053:9:2", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 2750, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21053:66:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "functionReturnParameters": 2743, - "id": 2751, - "nodeType": "Return", - "src": "21046:73:2" - } - ] - }, - "id": 2753, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_getTokenDailyMintLimitKey", - "nameLocation": "20955:26:2", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2740, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2739, - "mutability": "mutable", - "name": "symbol", - "nameLocation": "20996:6:2", - "nodeType": "VariableDeclaration", - "scope": 2753, - "src": "20982:20:2", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 2738, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "20982:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "20981:22:2" - }, - "returnParameters": { - "id": 2743, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2742, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2753, - "src": "21027:7:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 2741, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "21027:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "21026:9:2" - }, - "scope": 3073, - "src": "20946:180:2", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 2771, - "nodeType": "Block", - "src": "21236:96:2", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "id": 2765, - "name": "PREFIX_TOKEN_DAILY_MINT_AMOUNT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1015, - "src": "21280:30:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 2766, - "name": "symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2755, - "src": "21312:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "id": 2767, - "name": "day", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2757, - "src": "21320:3:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 2763, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "21263:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 2764, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "src": "21263:16:2", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 2768, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21263:61:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 2762, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "21253:9:2", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 2769, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21253:72:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "functionReturnParameters": 2761, - "id": 2770, - "nodeType": "Return", - "src": "21246:79:2" - } - ] - }, - "id": 2772, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_getTokenDailyMintAmountKey", - "nameLocation": "21141:27:2", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2758, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2755, - "mutability": "mutable", - "name": "symbol", - "nameLocation": "21183:6:2", - "nodeType": "VariableDeclaration", - "scope": 2772, - "src": "21169:20:2", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 2754, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "21169:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2757, - "mutability": "mutable", - "name": "day", - "nameLocation": "21199:3:2", - "nodeType": "VariableDeclaration", - "scope": 2772, - "src": "21191:11:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2756, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "21191:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "21168:35:2" - }, - "returnParameters": { - "id": 2761, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2760, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2772, - "src": "21227:7:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 2759, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "21227:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "21226:9:2" - }, - "scope": 3073, - "src": "21132:200:2", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 2787, - "nodeType": "Block", - "src": "21418:78:2", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "id": 2782, - "name": "PREFIX_TOKEN_TYPE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 995, - "src": "21462:17:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 2783, - "name": "symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2774, - "src": "21481:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "expression": { - "id": 2780, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "21445:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 2781, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "src": "21445:16:2", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 2784, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21445:43:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 2779, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "21435:9:2", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 2785, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21435:54:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "functionReturnParameters": 2778, - "id": 2786, - "nodeType": "Return", - "src": "21428:61:2" - } - ] - }, - "id": 2788, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_getTokenTypeKey", - "nameLocation": "21347:16:2", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2775, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2774, - "mutability": "mutable", - "name": "symbol", - "nameLocation": "21378:6:2", - "nodeType": "VariableDeclaration", - "scope": 2788, - "src": "21364:20:2", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 2773, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "21364:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "21363:22:2" - }, - "returnParameters": { - "id": 2778, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2777, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2788, - "src": "21409:7:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 2776, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "21409:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "21408:9:2" - }, - "scope": 3073, - "src": "21338:158:2", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 2803, - "nodeType": "Block", - "src": "21585:81:2", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "id": 2798, - "name": "PREFIX_TOKEN_ADDRESS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 990, - "src": "21629:20:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 2799, - "name": "symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2790, - "src": "21651:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "expression": { - "id": 2796, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "21612:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 2797, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "src": "21612:16:2", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 2800, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21612:46:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 2795, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "21602:9:2", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 2801, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21602:57:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "functionReturnParameters": 2794, - "id": 2802, - "nodeType": "Return", - "src": "21595:64:2" - } - ] - }, - "id": 2804, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_getTokenAddressKey", - "nameLocation": "21511:19:2", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2791, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2790, - "mutability": "mutable", - "name": "symbol", - "nameLocation": "21545:6:2", - "nodeType": "VariableDeclaration", - "scope": 2804, - "src": "21531:20:2", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 2789, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "21531:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "21530:22:2" - }, - "returnParameters": { - "id": 2794, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2793, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2804, - "src": "21576:7:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 2792, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "21576:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "21575:9:2" - }, - "scope": 3073, - "src": "21502:164:2", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 2819, - "nodeType": "Block", - "src": "21757:87:2", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "id": 2814, - "name": "PREFIX_COMMAND_EXECUTED", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 985, - "src": "21801:23:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 2815, - "name": "commandId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2806, - "src": "21826:9:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "id": 2812, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "21784:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 2813, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "src": "21784:16:2", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 2816, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21784:52:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 2811, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "21774:9:2", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 2817, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21774:63:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "functionReturnParameters": 2810, - "id": 2818, - "nodeType": "Return", - "src": "21767:70:2" - } - ] - }, - "id": 2820, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_getIsCommandExecutedKey", - "nameLocation": "21681:24:2", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2807, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2806, - "mutability": "mutable", - "name": "commandId", - "nameLocation": "21714:9:2", - "nodeType": "VariableDeclaration", - "scope": 2820, - "src": "21706:17:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 2805, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "21706:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "21705:19:2" - }, - "returnParameters": { - "id": 2810, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2809, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2820, - "src": "21748:7:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 2808, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "21748:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "21747:9:2" - }, - "scope": 3073, - "src": "21672:172:2", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 2847, - "nodeType": "Block", - "src": "22088:145:2", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "id": 2838, - "name": "PREFIX_CONTRACT_CALL_APPROVED", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1000, - "src": "22126:29:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 2839, - "name": "commandId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2822, - "src": "22157:9:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 2840, - "name": "sourceChain", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2824, - "src": "22168:11:2", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "id": 2841, - "name": "sourceAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2826, - "src": "22181:13:2", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "id": 2842, - "name": "contractAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2828, - "src": "22196:15:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 2843, - "name": "payloadHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2830, - "src": "22213:11:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "id": 2836, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "22115:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 2837, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encode", - "nodeType": "MemberAccess", - "src": "22115:10:2", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 2844, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "22115:110:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 2835, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "22105:9:2", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 2845, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "22105:121:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "functionReturnParameters": 2834, - "id": 2846, - "nodeType": "Return", - "src": "22098:128:2" - } - ] - }, - "id": 2848, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_getIsContractCallApprovedKey", - "nameLocation": "21859:29:2", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2831, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2822, - "mutability": "mutable", - "name": "commandId", - "nameLocation": "21906:9:2", - "nodeType": "VariableDeclaration", - "scope": 2848, - "src": "21898:17:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 2821, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "21898:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2824, - "mutability": "mutable", - "name": "sourceChain", - "nameLocation": "21939:11:2", - "nodeType": "VariableDeclaration", - "scope": 2848, - "src": "21925:25:2", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 2823, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "21925:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2826, - "mutability": "mutable", - "name": "sourceAddress", - "nameLocation": "21974:13:2", - "nodeType": "VariableDeclaration", - "scope": 2848, - "src": "21960:27:2", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 2825, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "21960:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2828, - "mutability": "mutable", - "name": "contractAddress", - "nameLocation": "22005:15:2", - "nodeType": "VariableDeclaration", - "scope": 2848, - "src": "21997:23:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2827, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "21997:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2830, - "mutability": "mutable", - "name": "payloadHash", - "nameLocation": "22038:11:2", - "nodeType": "VariableDeclaration", - "scope": 2848, - "src": "22030:19:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 2829, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "22030:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "21888:167:2" - }, - "returnParameters": { - "id": 2834, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2833, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2848, - "src": "22079:7:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 2832, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "22079:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "22078:9:2" - }, - "scope": 3073, - "src": "21850:383:2", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 2881, - "nodeType": "Block", - "src": "22539:391:2", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "id": 2870, - "name": "PREFIX_CONTRACT_CALL_APPROVED_WITH_MINT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1005, - "src": "22627:39:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 2871, - "name": "commandId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2850, - "src": "22688:9:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 2872, - "name": "sourceChain", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2852, - "src": "22719:11:2", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "id": 2873, - "name": "sourceAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2854, - "src": "22752:13:2", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "id": 2874, - "name": "contractAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2856, - "src": "22787:15:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 2875, - "name": "payloadHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2858, - "src": "22824:11:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 2876, - "name": "symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2860, - "src": "22857:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "id": 2877, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2862, - "src": "22885:6:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 2868, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "22595:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 2869, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encode", - "nodeType": "MemberAccess", - "src": "22595:10:2", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 2878, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "22595:314:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 2867, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "22568:9:2", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 2879, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "22568:355:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "functionReturnParameters": 2866, - "id": 2880, - "nodeType": "Return", - "src": "22549:374:2" - } - ] - }, - "id": 2882, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_getIsContractCallApprovedWithMintKey", - "nameLocation": "22248:37:2", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2863, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2850, - "mutability": "mutable", - "name": "commandId", - "nameLocation": "22303:9:2", - "nodeType": "VariableDeclaration", - "scope": 2882, - "src": "22295:17:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 2849, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "22295:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2852, - "mutability": "mutable", - "name": "sourceChain", - "nameLocation": "22336:11:2", - "nodeType": "VariableDeclaration", - "scope": 2882, - "src": "22322:25:2", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 2851, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "22322:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2854, - "mutability": "mutable", - "name": "sourceAddress", - "nameLocation": "22371:13:2", - "nodeType": "VariableDeclaration", - "scope": 2882, - "src": "22357:27:2", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 2853, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "22357:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2856, - "mutability": "mutable", - "name": "contractAddress", - "nameLocation": "22402:15:2", - "nodeType": "VariableDeclaration", - "scope": 2882, - "src": "22394:23:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2855, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "22394:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2858, - "mutability": "mutable", - "name": "payloadHash", - "nameLocation": "22435:11:2", - "nodeType": "VariableDeclaration", - "scope": 2882, - "src": "22427:19:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 2857, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "22427:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2860, - "mutability": "mutable", - "name": "symbol", - "nameLocation": "22470:6:2", - "nodeType": "VariableDeclaration", - "scope": 2882, - "src": "22456:20:2", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 2859, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "22456:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2862, - "mutability": "mutable", - "name": "amount", - "nameLocation": "22494:6:2", - "nodeType": "VariableDeclaration", - "scope": 2882, - "src": "22486:14:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2861, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "22486:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "22285:221:2" - }, - "returnParameters": { - "id": 2866, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2865, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2882, - "src": "22530:7:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 2864, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "22530:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "22529:9:2" - }, - "scope": 3073, - "src": "22239:691:2", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 2898, - "nodeType": "Block", - "src": "23097:68:2", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "id": 2893, - "name": "symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2884, - "src": "23149:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 2892, - "name": "_getTokenTypeKey", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2788, - "src": "23132:16:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (string memory) pure returns (bytes32)" - } - }, - "id": 2894, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "23132:24:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 2891, - "name": "getUint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4083, - "src": "23124:7:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_uint256_$", - "typeString": "function (bytes32) view returns (uint256)" - } - }, - "id": 2895, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "23124:33:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2890, - "name": "TokenType", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 973, - "src": "23114:9:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_TokenType_$973_$", - "typeString": "type(enum AxelarGateway.TokenType)" - } - }, - "id": 2896, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "23114:44:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_enum$_TokenType_$973", - "typeString": "enum AxelarGateway.TokenType" - } - }, - "functionReturnParameters": 2889, - "id": 2897, - "nodeType": "Return", - "src": "23107:51:2" - } - ] - }, - "id": 2899, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_getTokenType", - "nameLocation": "23027:13:2", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2885, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2884, - "mutability": "mutable", - "name": "symbol", - "nameLocation": "23055:6:2", - "nodeType": "VariableDeclaration", - "scope": 2899, - "src": "23041:20:2", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 2883, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "23041:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "23040:22:2" - }, - "returnParameters": { - "id": 2889, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2888, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2899, - "src": "23086:9:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_enum$_TokenType_$973", - "typeString": "enum AxelarGateway.TokenType" - }, - "typeName": { - "id": 2887, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 2886, - "name": "TokenType", - "nodeType": "IdentifierPath", - "referencedDeclaration": 973, - "src": "23086:9:2" - }, - "referencedDeclaration": 973, - "src": "23086:9:2", - "typeDescriptions": { - "typeIdentifier": "t_enum$_TokenType_$973", - "typeString": "enum AxelarGateway.TokenType" - } - }, - "visibility": "internal" - } - ], - "src": "23085:11:2" - }, - "scope": 3073, - "src": "23018:147:2", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 2918, - "nodeType": "Block", - "src": "23332:125:2", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "id": 2908, - "name": "symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2901, - "src": "23378:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 2907, - "name": "_getTokenDailyMintLimitKey", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2753, - "src": "23351:26:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (string memory) pure returns (bytes32)" - } - }, - "id": 2909, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "23351:34:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 2910, - "name": "limit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2903, - "src": "23387:5:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2906, - "name": "_setUint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4157, - "src": "23342:8:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_uint256_$returns$__$", - "typeString": "function (bytes32,uint256)" - } - }, - "id": 2911, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "23342:51:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2912, - "nodeType": "ExpressionStatement", - "src": "23342:51:2" - }, - { - "eventCall": { - "arguments": [ - { - "id": 2914, - "name": "symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2901, - "src": "23436:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "id": 2915, - "name": "limit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2903, - "src": "23444:5:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2913, - "name": "TokenDailyMintLimitUpdated", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5501, - "src": "23409:26:2", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$", - "typeString": "function (string memory,uint256)" - } - }, - "id": 2916, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "23409:41:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2917, - "nodeType": "EmitStatement", - "src": "23404:46:2" - } - ] - }, - "id": 2919, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_setTokenDailyMintLimit", - "nameLocation": "23262:23:2", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2904, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2901, - "mutability": "mutable", - "name": "symbol", - "nameLocation": "23300:6:2", - "nodeType": "VariableDeclaration", - "scope": 2919, - "src": "23286:20:2", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 2900, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "23286:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2903, - "mutability": "mutable", - "name": "limit", - "nameLocation": "23316:5:2", - "nodeType": "VariableDeclaration", - "scope": 2919, - "src": "23308:13:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2902, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "23308:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "23285:37:2" - }, - "returnParameters": { - "id": 2905, - "nodeType": "ParameterList", - "parameters": [], - "src": "23332:0:2" - }, - "scope": 3073, - "src": "23253:204:2", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 2955, - "nodeType": "Block", - "src": "23544:228:2", - "statements": [ - { - "assignments": [ - 2927 - ], - "declarations": [ - { - "constant": false, - "id": 2927, - "mutability": "mutable", - "name": "limit", - "nameLocation": "23562:5:2", - "nodeType": "VariableDeclaration", - "scope": 2955, - "src": "23554:13:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2926, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "23554:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 2931, - "initialValue": { - "arguments": [ - { - "id": 2929, - "name": "symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2921, - "src": "23590:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 2928, - "name": "tokenDailyMintLimit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1348, - "src": "23570:19:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$returns$_t_uint256_$", - "typeString": "function (string memory) view returns (uint256)" - } - }, - "id": 2930, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "23570:27:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "23554:43:2" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 2938, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2934, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2932, - "name": "limit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2927, - "src": "23611:5:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 2933, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "23619:1:2", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "23611:9:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2937, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 2935, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2923, - "src": "23624:6:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "id": 2936, - "name": "limit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2927, - "src": "23633:5:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "23624:14:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "23611:27:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 2943, - "nodeType": "IfStatement", - "src": "23607:68:2", - "trueBody": { - "errorCall": { - "arguments": [ - { - "id": 2940, - "name": "symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2921, - "src": "23668:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 2939, - "name": "ExceedDailyMintLimit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5409, - "src": "23647:20:2", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$_t_string_memory_ptr_$returns$__$", - "typeString": "function (string memory) pure" - } - }, - "id": 2941, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "23647:28:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2942, - "nodeType": "RevertStatement", - "src": "23640:35:2" - } - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "id": 2946, - "name": "symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2921, - "src": "23723:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2950, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 2947, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "23731:5:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 2948, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "src": "23731:15:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "hexValue": "31", - "id": 2949, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "23749:6:2", - "subdenomination": "days", - "typeDescriptions": { - "typeIdentifier": "t_rational_86400_by_1", - "typeString": "int_const 86400" - }, - "value": "1" - }, - "src": "23731:24:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2945, - "name": "_getTokenDailyMintAmountKey", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2772, - "src": "23695:27:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$_t_uint256_$returns$_t_bytes32_$", - "typeString": "function (string memory,uint256) pure returns (bytes32)" - } - }, - "id": 2951, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "23695:61:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 2952, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2923, - "src": "23758:6:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2944, - "name": "_setUint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4157, - "src": "23686:8:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_uint256_$returns$__$", - "typeString": "function (bytes32,uint256)" - } - }, - "id": 2953, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "23686:79:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2954, - "nodeType": "ExpressionStatement", - "src": "23686:79:2" - } - ] - }, - "id": 2956, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_setTokenDailyMintAmount", - "nameLocation": "23472:24:2", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2924, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2921, - "mutability": "mutable", - "name": "symbol", - "nameLocation": "23511:6:2", - "nodeType": "VariableDeclaration", - "scope": 2956, - "src": "23497:20:2", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 2920, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "23497:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2923, - "mutability": "mutable", - "name": "amount", - "nameLocation": "23527:6:2", - "nodeType": "VariableDeclaration", - "scope": 2956, - "src": "23519:14:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2922, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "23519:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "23496:38:2" - }, - "returnParameters": { - "id": 2925, - "nodeType": "ParameterList", - "parameters": [], - "src": "23544:0:2" - }, - "scope": 3073, - "src": "23463:309:2", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 2974, - "nodeType": "Block", - "src": "23853:71:2", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "id": 2966, - "name": "symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2958, - "src": "23889:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 2965, - "name": "_getTokenTypeKey", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2788, - "src": "23872:16:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (string memory) pure returns (bytes32)" - } - }, - "id": 2967, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "23872:24:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "arguments": [ - { - "id": 2970, - "name": "tokenType", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2961, - "src": "23906:9:2", - "typeDescriptions": { - "typeIdentifier": "t_enum$_TokenType_$973", - "typeString": "enum AxelarGateway.TokenType" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_enum$_TokenType_$973", - "typeString": "enum AxelarGateway.TokenType" - } - ], - "id": 2969, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "23898:7:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 2968, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "23898:7:2", - "typeDescriptions": {} - } - }, - "id": 2971, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "23898:18:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2964, - "name": "_setUint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4157, - "src": "23863:8:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_uint256_$returns$__$", - "typeString": "function (bytes32,uint256)" - } - }, - "id": 2972, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "23863:54:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2973, - "nodeType": "ExpressionStatement", - "src": "23863:54:2" - } - ] - }, - "id": 2975, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_setTokenType", - "nameLocation": "23787:13:2", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2962, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2958, - "mutability": "mutable", - "name": "symbol", - "nameLocation": "23815:6:2", - "nodeType": "VariableDeclaration", - "scope": 2975, - "src": "23801:20:2", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 2957, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "23801:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2961, - "mutability": "mutable", - "name": "tokenType", - "nameLocation": "23833:9:2", - "nodeType": "VariableDeclaration", - "scope": 2975, - "src": "23823:19:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_enum$_TokenType_$973", - "typeString": "enum AxelarGateway.TokenType" - }, - "typeName": { - "id": 2960, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 2959, - "name": "TokenType", - "nodeType": "IdentifierPath", - "referencedDeclaration": 973, - "src": "23823:9:2" - }, - "referencedDeclaration": 973, - "src": "23823:9:2", - "typeDescriptions": { - "typeIdentifier": "t_enum$_TokenType_$973", - "typeString": "enum AxelarGateway.TokenType" - } - }, - "visibility": "internal" - } - ], - "src": "23800:43:2" - }, - "returnParameters": { - "id": 2963, - "nodeType": "ParameterList", - "parameters": [], - "src": "23853:0:2" - }, - "scope": 3073, - "src": "23778:146:2", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 2989, - "nodeType": "Block", - "src": "24009:71:2", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "id": 2984, - "name": "symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2977, - "src": "24051:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 2983, - "name": "_getTokenAddressKey", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2804, - "src": "24031:19:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (string memory) pure returns (bytes32)" - } - }, - "id": 2985, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "24031:27:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 2986, - "name": "tokenAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2979, - "src": "24060:12:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 2982, - "name": "_setAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4185, - "src": "24019:11:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (bytes32,address)" - } - }, - "id": 2987, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "24019:54:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2988, - "nodeType": "ExpressionStatement", - "src": "24019:54:2" - } - ] - }, - "id": 2990, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_setTokenAddress", - "nameLocation": "23939:16:2", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2980, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2977, - "mutability": "mutable", - "name": "symbol", - "nameLocation": "23970:6:2", - "nodeType": "VariableDeclaration", - "scope": 2990, - "src": "23956:20:2", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 2976, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "23956:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2979, - "mutability": "mutable", - "name": "tokenAddress", - "nameLocation": "23986:12:2", - "nodeType": "VariableDeclaration", - "scope": 2990, - "src": "23978:20:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2978, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "23978:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "23955:44:2" - }, - "returnParameters": { - "id": 2981, - "nodeType": "ParameterList", - "parameters": [], - "src": "24009:0:2" - }, - "scope": 3073, - "src": "23930:150:2", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 3004, - "nodeType": "Block", - "src": "24158:72:2", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "id": 2999, - "name": "commandId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2992, - "src": "24202:9:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 2998, - "name": "_getIsCommandExecutedKey", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2820, - "src": "24177:24:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes32_$returns$_t_bytes32_$", - "typeString": "function (bytes32) pure returns (bytes32)" - } - }, - "id": 3000, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "24177:35:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 3001, - "name": "executed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2994, - "src": "24214:8:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 2997, - "name": "_setBool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4213, - "src": "24168:8:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_bool_$returns$__$", - "typeString": "function (bytes32,bool)" - } - }, - "id": 3002, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "24168:55:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3003, - "nodeType": "ExpressionStatement", - "src": "24168:55:2" - } - ] - }, - "id": 3005, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_setCommandExecuted", - "nameLocation": "24095:19:2", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2995, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2992, - "mutability": "mutable", - "name": "commandId", - "nameLocation": "24123:9:2", - "nodeType": "VariableDeclaration", - "scope": 3005, - "src": "24115:17:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 2991, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "24115:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2994, - "mutability": "mutable", - "name": "executed", - "nameLocation": "24139:8:2", - "nodeType": "VariableDeclaration", - "scope": 3005, - "src": "24134:13:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2993, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "24134:4:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "24114:34:2" - }, - "returnParameters": { - "id": 2996, - "nodeType": "ParameterList", - "parameters": [], - "src": "24158:0:2" - }, - "scope": 3073, - "src": "24086:144:2", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 3029, - "nodeType": "Block", - "src": "24446:131:2", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "id": 3020, - "name": "commandId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3007, - "src": "24495:9:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 3021, - "name": "sourceChain", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3009, - "src": "24506:11:2", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "id": 3022, - "name": "sourceAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3011, - "src": "24519:13:2", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "id": 3023, - "name": "contractAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3013, - "src": "24534:15:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 3024, - "name": "payloadHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3015, - "src": "24551:11:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 3019, - "name": "_getIsContractCallApprovedKey", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2848, - "src": "24465:29:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes32_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_address_$_t_bytes32_$returns$_t_bytes32_$", - "typeString": "function (bytes32,string memory,string memory,address,bytes32) pure returns (bytes32)" - } - }, - "id": 3025, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "24465:98:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "hexValue": "74727565", - "id": 3026, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "24565:4:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 3018, - "name": "_setBool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4213, - "src": "24456:8:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_bool_$returns$__$", - "typeString": "function (bytes32,bool)" - } - }, - "id": 3027, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "24456:114:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3028, - "nodeType": "ExpressionStatement", - "src": "24456:114:2" - } - ] - }, - "id": 3030, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_setContractCallApproved", - "nameLocation": "24245:24:2", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3016, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3007, - "mutability": "mutable", - "name": "commandId", - "nameLocation": "24287:9:2", - "nodeType": "VariableDeclaration", - "scope": 3030, - "src": "24279:17:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 3006, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "24279:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3009, - "mutability": "mutable", - "name": "sourceChain", - "nameLocation": "24320:11:2", - "nodeType": "VariableDeclaration", - "scope": 3030, - "src": "24306:25:2", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 3008, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "24306:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3011, - "mutability": "mutable", - "name": "sourceAddress", - "nameLocation": "24355:13:2", - "nodeType": "VariableDeclaration", - "scope": 3030, - "src": "24341:27:2", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 3010, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "24341:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3013, - "mutability": "mutable", - "name": "contractAddress", - "nameLocation": "24386:15:2", - "nodeType": "VariableDeclaration", - "scope": 3030, - "src": "24378:23:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3012, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "24378:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3015, - "mutability": "mutable", - "name": "payloadHash", - "nameLocation": "24419:11:2", - "nodeType": "VariableDeclaration", - "scope": 3030, - "src": "24411:19:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 3014, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "24411:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "24269:167:2" - }, - "returnParameters": { - "id": 3017, - "nodeType": "ParameterList", - "parameters": [], - "src": "24446:0:2" - }, - "scope": 3073, - "src": "24236:341:2", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 3060, - "nodeType": "Block", - "src": "24855:189:2", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "id": 3049, - "name": "commandId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3032, - "src": "24925:9:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 3050, - "name": "sourceChain", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3034, - "src": "24936:11:2", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "id": 3051, - "name": "sourceAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3036, - "src": "24949:13:2", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "id": 3052, - "name": "contractAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3038, - "src": "24964:15:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 3053, - "name": "payloadHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3040, - "src": "24981:11:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 3054, - "name": "symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3042, - "src": "24994:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "id": 3055, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3044, - "src": "25002:6:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3048, - "name": "_getIsContractCallApprovedWithMintKey", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2882, - "src": "24887:37:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes32_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_address_$_t_bytes32_$_t_string_memory_ptr_$_t_uint256_$returns$_t_bytes32_$", - "typeString": "function (bytes32,string memory,string memory,address,bytes32,string memory,uint256) pure returns (bytes32)" - } - }, - "id": 3056, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "24887:122:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "hexValue": "74727565", - "id": 3057, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "25023:4:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 3047, - "name": "_setBool", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4213, - "src": "24865:8:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_bool_$returns$__$", - "typeString": "function (bytes32,bool)" - } - }, - "id": 3058, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "24865:172:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3059, - "nodeType": "ExpressionStatement", - "src": "24865:172:2" - } - ] - }, - "id": 3061, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_setContractCallApprovedWithMint", - "nameLocation": "24592:32:2", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3045, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3032, - "mutability": "mutable", - "name": "commandId", - "nameLocation": "24642:9:2", - "nodeType": "VariableDeclaration", - "scope": 3061, - "src": "24634:17:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 3031, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "24634:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3034, - "mutability": "mutable", - "name": "sourceChain", - "nameLocation": "24675:11:2", - "nodeType": "VariableDeclaration", - "scope": 3061, - "src": "24661:25:2", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 3033, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "24661:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3036, - "mutability": "mutable", - "name": "sourceAddress", - "nameLocation": "24710:13:2", - "nodeType": "VariableDeclaration", - "scope": 3061, - "src": "24696:27:2", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 3035, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "24696:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3038, - "mutability": "mutable", - "name": "contractAddress", - "nameLocation": "24741:15:2", - "nodeType": "VariableDeclaration", - "scope": 3061, - "src": "24733:23:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3037, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "24733:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3040, - "mutability": "mutable", - "name": "payloadHash", - "nameLocation": "24774:11:2", - "nodeType": "VariableDeclaration", - "scope": 3061, - "src": "24766:19:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 3039, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "24766:7:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3042, - "mutability": "mutable", - "name": "symbol", - "nameLocation": "24809:6:2", - "nodeType": "VariableDeclaration", - "scope": 3061, - "src": "24795:20:2", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 3041, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "24795:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3044, - "mutability": "mutable", - "name": "amount", - "nameLocation": "24833:6:2", - "nodeType": "VariableDeclaration", - "scope": 3061, - "src": "24825:14:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3043, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "24825:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "24624:221:2" - }, - "returnParameters": { - "id": 3046, - "nodeType": "ParameterList", - "parameters": [], - "src": "24855:0:2" - }, - "scope": 3073, - "src": "24583:461:2", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 3071, - "nodeType": "Block", - "src": "25114:67:2", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 3067, - "name": "KEY_IMPLEMENTATION", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 980, - "src": "25136:18:2", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 3068, - "name": "newImplementation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3063, - "src": "25156:17:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 3066, - "name": "_setAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4185, - "src": "25124:11:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (bytes32,address)" - } - }, - "id": 3069, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "25124:50:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3070, - "nodeType": "ExpressionStatement", - "src": "25124:50:2" - } - ] - }, - "id": 3072, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_setImplementation", - "nameLocation": "25059:18:2", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3064, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3063, - "mutability": "mutable", - "name": "newImplementation", - "nameLocation": "25086:17:2", - "nodeType": "VariableDeclaration", - "scope": 3072, - "src": "25078:25:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3062, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "25078:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "25077:27:2" - }, - "returnParameters": { - "id": 3065, - "nodeType": "ParameterList", - "parameters": [], - "src": "25114:0:2" - }, - "scope": 3073, - "src": "25050:131:2", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - } - ], - "scope": 3074, - "src": "548:24635:2", - "usedErrors": [ - 7, - 9, - 11, - 13, - 17, - 5363, - 5365, - 5367, - 5369, - 5371, - 5373, - 5375, - 5377, - 5379, - 5383, - 5387, - 5391, - 5395, - 5399, - 5403, - 5405, - 5409 - ] - } - ], - "src": "33:25151:2" - }, - "id": 2 - }, - "@axelar-network/axelar-cgp-solidity/contracts/AxelarGatewayProxy.sol": { - "ast": { - "absolutePath": "@axelar-network/axelar-cgp-solidity/contracts/AxelarGatewayProxy.sol", - "exportedSymbols": { - "AxelarGatewayProxy": [ - 3159 - ], - "EternalStorage": [ - 4294 - ], - "IAxelarGateway": [ - 5700 - ] - }, - "id": 3160, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 3075, - "literals": [ - "solidity", - "0.8", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "33:22:3" - }, - { - "absolutePath": "@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarGateway.sol", - "file": "./interfaces/IAxelarGateway.sol", - "id": 3077, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 3160, - "sourceUnit": 5701, - "src": "57:65:3", - "symbolAliases": [ - { - "foreign": { - "id": 3076, - "name": "IAxelarGateway", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "src": "66:14:3", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "absolutePath": "@axelar-network/axelar-cgp-solidity/contracts/EternalStorage.sol", - "file": "./EternalStorage.sol", - "id": 3079, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 3160, - "sourceUnit": 4295, - "src": "124:54:3", - "symbolAliases": [ - { - "foreign": { - "id": 3078, - "name": "EternalStorage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "src": "133:14:3", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "baseName": { - "id": 3080, - "name": "EternalStorage", - "nodeType": "IdentifierPath", - "referencedDeclaration": 4294, - "src": "211:14:3" - }, - "id": 3081, - "nodeType": "InheritanceSpecifier", - "src": "211:14:3" - } - ], - "canonicalName": "AxelarGatewayProxy", - "contractDependencies": [], - "contractKind": "contract", - "fullyImplemented": true, - "id": 3159, - "linearizedBaseContracts": [ - 3159, - 4294 - ], - "name": "AxelarGatewayProxy", - "nameLocation": "189:18:3", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 3083, - "name": "InvalidImplementation", - "nameLocation": "238:21:3", - "nodeType": "ErrorDefinition", - "parameters": { - "id": 3082, - "nodeType": "ParameterList", - "parameters": [], - "src": "259:2:3" - }, - "src": "232:30:3" - }, - { - "id": 3085, - "name": "SetupFailed", - "nameLocation": "273:11:3", - "nodeType": "ErrorDefinition", - "parameters": { - "id": 3084, - "nodeType": "ParameterList", - "parameters": [], - "src": "284:2:3" - }, - "src": "267:20:3" - }, - { - "constant": true, - "documentation": { - "id": 3086, - "nodeType": "StructuredDocumentation", - "src": "293:111:3", - "text": "@dev Storage slot with the address of the current factory. `keccak256('eip1967.proxy.implementation') - 1`." - }, - "id": 3092, - "mutability": "constant", - "name": "KEY_IMPLEMENTATION", - "nameLocation": "435:18:3", - "nodeType": "VariableDeclaration", - "scope": 3159, - "src": "409:122:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 3087, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "409:7:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "arguments": [ - { - "hexValue": "307833363038393461313362613161333231303636376338323834393264623938646361336532303736636333373335613932306133636135303564333832626263", - "id": 3090, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "464:66:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_24440054405305269366569402256811496959409073762505157381672968839269610695612_by_1", - "typeString": "int_const 2444...(69 digits omitted)...5612" - }, - "value": "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_24440054405305269366569402256811496959409073762505157381672968839269610695612_by_1", - "typeString": "int_const 2444...(69 digits omitted)...5612" - } - ], - "id": 3089, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "456:7:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes32_$", - "typeString": "type(bytes32)" - }, - "typeName": { - "id": 3088, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "456:7:3", - "typeDescriptions": {} - } - }, - "id": 3091, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "456:75:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "body": { - "id": 3132, - "nodeType": "Block", - "src": "602:328:3", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 3100, - "name": "KEY_IMPLEMENTATION", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3092, - "src": "624:18:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 3101, - "name": "gatewayImplementation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3094, - "src": "644:21:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 3099, - "name": "_setAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4185, - "src": "612:11:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (bytes32,address)" - } - }, - "id": 3102, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "612:54:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3103, - "nodeType": "ExpressionStatement", - "src": "612:54:3" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3108, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "expression": { - "id": 3104, - "name": "gatewayImplementation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3094, - "src": "681:21:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 3105, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "code", - "nodeType": "MemberAccess", - "src": "681:26:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 3106, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "src": "681:33:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 3107, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "718:1:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "681:38:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 3112, - "nodeType": "IfStatement", - "src": "677:74:3", - "trueBody": { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 3109, - "name": "InvalidImplementation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3083, - "src": "728:21:3", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 3110, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "728:23:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3111, - "nodeType": "RevertStatement", - "src": "721:30:3" - } - }, - { - "assignments": [ - 3114, - null - ], - "declarations": [ - { - "constant": false, - "id": 3114, - "mutability": "mutable", - "name": "success", - "nameLocation": "768:7:3", - "nodeType": "VariableDeclaration", - "scope": 3132, - "src": "763:12:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 3113, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "763:4:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - }, - null - ], - "id": 3125, - "initialValue": { - "arguments": [ - { - "arguments": [ - { - "expression": { - "expression": { - "id": 3119, - "name": "IAxelarGateway", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5700, - "src": "839:14:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IAxelarGateway_$5700_$", - "typeString": "type(contract IAxelarGateway)" - } - }, - "id": 3120, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "setup", - "nodeType": "MemberAccess", - "referencedDeclaration": 5694, - "src": "839:20:3", - "typeDescriptions": { - "typeIdentifier": "t_function_declaration_nonpayable$_t_bytes_calldata_ptr_$returns$__$", - "typeString": "function IAxelarGateway.setup(bytes calldata)" - } - }, - "id": 3121, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "selector", - "nodeType": "MemberAccess", - "src": "839:29:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - { - "id": 3122, - "name": "params", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3096, - "src": "870:6:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "expression": { - "id": 3117, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "816:3:3", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 3118, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodeWithSelector", - "nodeType": "MemberAccess", - "src": "816:22:3", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (bytes4) pure returns (bytes memory)" - } - }, - "id": 3123, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "816:61:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "expression": { - "id": 3115, - "name": "gatewayImplementation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3094, - "src": "781:21:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 3116, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "delegatecall", - "nodeType": "MemberAccess", - "src": "781:34:3", - "typeDescriptions": { - "typeIdentifier": "t_function_baredelegatecall_nonpayable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "function (bytes memory) returns (bool,bytes memory)" - } - }, - "id": 3124, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "781:97:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "tuple(bool,bytes memory)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "762:116:3" - }, - { - "condition": { - "id": 3127, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "893:8:3", - "subExpression": { - "id": 3126, - "name": "success", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3114, - "src": "894:7:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 3131, - "nodeType": "IfStatement", - "src": "889:34:3", - "trueBody": { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 3128, - "name": "SetupFailed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3085, - "src": "910:11:3", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 3129, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "910:13:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3130, - "nodeType": "RevertStatement", - "src": "903:20:3" - } - } - ] - }, - "id": 3133, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3097, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3094, - "mutability": "mutable", - "name": "gatewayImplementation", - "nameLocation": "558:21:3", - "nodeType": "VariableDeclaration", - "scope": 3133, - "src": "550:29:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3093, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "550:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3096, - "mutability": "mutable", - "name": "params", - "nameLocation": "594:6:3", - "nodeType": "VariableDeclaration", - "scope": 3133, - "src": "581:19:3", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 3095, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "581:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "549:52:3" - }, - "returnParameters": { - "id": 3098, - "nodeType": "ParameterList", - "parameters": [], - "src": "602:0:3" - }, - "scope": 3159, - "src": "538:392:3", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 3138, - "nodeType": "Block", - "src": "983:2:3", - "statements": [] - }, - "functionSelector": "9ded06df", - "id": 3139, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "setup", - "nameLocation": "945:5:3", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3136, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3135, - "mutability": "mutable", - "name": "params", - "nameLocation": "966:6:3", - "nodeType": "VariableDeclaration", - "scope": 3139, - "src": "951:21:3", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 3134, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "951:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "950:23:3" - }, - "returnParameters": { - "id": 3137, - "nodeType": "ParameterList", - "parameters": [], - "src": "983:0:3" - }, - "scope": 3159, - "src": "936:49:3", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 3149, - "nodeType": "Block", - "src": "1019:475:3", - "statements": [ - { - "assignments": [ - 3143 - ], - "declarations": [ - { - "constant": false, - "id": 3143, - "mutability": "mutable", - "name": "implementation", - "nameLocation": "1037:14:3", - "nodeType": "VariableDeclaration", - "scope": 3149, - "src": "1029:22:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3142, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1029:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "id": 3147, - "initialValue": { - "arguments": [ - { - "id": 3145, - "name": "KEY_IMPLEMENTATION", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3092, - "src": "1065:18:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 3144, - "name": "getAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4107, - "src": "1054:10:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_address_$", - "typeString": "function (bytes32) view returns (address)" - } - }, - "id": 3146, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1054:30:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1029:55:3" - }, - { - "AST": { - "nodeType": "YulBlock", - "src": "1104:384:3", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1131:1:3", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1134:1:3", - "type": "", - "value": "0" - }, - { - "arguments": [], - "functionName": { - "name": "calldatasize", - "nodeType": "YulIdentifier", - "src": "1137:12:3" - }, - "nodeType": "YulFunctionCall", - "src": "1137:14:3" - } - ], - "functionName": { - "name": "calldatacopy", - "nodeType": "YulIdentifier", - "src": "1118:12:3" - }, - "nodeType": "YulFunctionCall", - "src": "1118:34:3" - }, - "nodeType": "YulExpressionStatement", - "src": "1118:34:3" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1166:74:3", - "value": { - "arguments": [ - { - "arguments": [], - "functionName": { - "name": "gas", - "nodeType": "YulIdentifier", - "src": "1193:3:3" - }, - "nodeType": "YulFunctionCall", - "src": "1193:5:3" - }, - { - "name": "implementation", - "nodeType": "YulIdentifier", - "src": "1200:14:3" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1216:1:3", - "type": "", - "value": "0" - }, - { - "arguments": [], - "functionName": { - "name": "calldatasize", - "nodeType": "YulIdentifier", - "src": "1219:12:3" - }, - "nodeType": "YulFunctionCall", - "src": "1219:14:3" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1235:1:3", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1238:1:3", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "delegatecall", - "nodeType": "YulIdentifier", - "src": "1180:12:3" - }, - "nodeType": "YulFunctionCall", - "src": "1180:60:3" - }, - "variables": [ - { - "name": "result", - "nodeType": "YulTypedName", - "src": "1170:6:3", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1269:1:3", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1272:1:3", - "type": "", - "value": "0" - }, - { - "arguments": [], - "functionName": { - "name": "returndatasize", - "nodeType": "YulIdentifier", - "src": "1275:14:3" - }, - "nodeType": "YulFunctionCall", - "src": "1275:16:3" - } - ], - "functionName": { - "name": "returndatacopy", - "nodeType": "YulIdentifier", - "src": "1254:14:3" - }, - "nodeType": "YulFunctionCall", - "src": "1254:38:3" - }, - "nodeType": "YulExpressionStatement", - "src": "1254:38:3" - }, - { - "cases": [ - { - "body": { - "nodeType": "YulBlock", - "src": "1339:59:3", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1364:1:3", - "type": "", - "value": "0" - }, - { - "arguments": [], - "functionName": { - "name": "returndatasize", - "nodeType": "YulIdentifier", - "src": "1367:14:3" - }, - "nodeType": "YulFunctionCall", - "src": "1367:16:3" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "1357:6:3" - }, - "nodeType": "YulFunctionCall", - "src": "1357:27:3" - }, - "nodeType": "YulExpressionStatement", - "src": "1357:27:3" - } - ] - }, - "nodeType": "YulCase", - "src": "1332:66:3", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1337:1:3", - "type": "", - "value": "0" - } - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1419:59:3", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1444:1:3", - "type": "", - "value": "0" - }, - { - "arguments": [], - "functionName": { - "name": "returndatasize", - "nodeType": "YulIdentifier", - "src": "1447:14:3" - }, - "nodeType": "YulFunctionCall", - "src": "1447:16:3" - } - ], - "functionName": { - "name": "return", - "nodeType": "YulIdentifier", - "src": "1437:6:3" - }, - "nodeType": "YulFunctionCall", - "src": "1437:27:3" - }, - "nodeType": "YulExpressionStatement", - "src": "1437:27:3" - } - ] - }, - "nodeType": "YulCase", - "src": "1411:67:3", - "value": "default" - } - ], - "expression": { - "name": "result", - "nodeType": "YulIdentifier", - "src": "1313:6:3" - }, - "nodeType": "YulSwitch", - "src": "1306:172:3" - } - ] - }, - "evmVersion": "london", - "externalReferences": [ - { - "declaration": 3143, - "isOffset": false, - "isSlot": false, - "src": "1200:14:3", - "valueSize": 1 - } - ], - "id": 3148, - "nodeType": "InlineAssembly", - "src": "1095:393:3" - } - ] - }, - "id": 3150, - "implemented": true, - "kind": "fallback", - "modifiers": [], - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3140, - "nodeType": "ParameterList", - "parameters": [], - "src": "999:2:3" - }, - "returnParameters": { - "id": 3141, - "nodeType": "ParameterList", - "parameters": [], - "src": "1019:0:3" - }, - "scope": 3159, - "src": "991:503:3", - "stateMutability": "payable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 3157, - "nodeType": "Block", - "src": "1527:35:3", - "statements": [ - { - "expression": { - "arguments": [ - { - "hexValue": "4e4f5f4554484552", - "id": 3154, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1544:10:3", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_b68cb9b9759ba8ba6325584aa90c9b3a239dbea621253f8b5c521dd1ebe66aba", - "typeString": "literal_string \"NO_ETHER\"" - }, - "value": "NO_ETHER" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_b68cb9b9759ba8ba6325584aa90c9b3a239dbea621253f8b5c521dd1ebe66aba", - "typeString": "literal_string \"NO_ETHER\"" - } - ], - "id": 3153, - "name": "revert", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -19, - -19 - ], - "referencedDeclaration": -19, - "src": "1537:6:3", - "typeDescriptions": { - "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", - "typeString": "function (string memory) pure" - } - }, - "id": 3155, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1537:18:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3156, - "nodeType": "ExpressionStatement", - "src": "1537:18:3" - } - ] - }, - "id": 3158, - "implemented": true, - "kind": "receive", - "modifiers": [], - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3151, - "nodeType": "ParameterList", - "parameters": [], - "src": "1507:2:3" - }, - "returnParameters": { - "id": 3152, - "nodeType": "ParameterList", - "parameters": [], - "src": "1527:0:3" - }, - "scope": 3159, - "src": "1500:62:3", - "stateMutability": "payable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 3160, - "src": "180:1384:3", - "usedErrors": [ - 3083, - 3085 - ] - } - ], - "src": "33:1532:3" - }, - "id": 3 - }, - "@axelar-network/axelar-cgp-solidity/contracts/BurnableMintableCappedERC20.sol": { - "ast": { - "absolutePath": "@axelar-network/axelar-cgp-solidity/contracts/BurnableMintableCappedERC20.sol", - "exportedSymbols": { - "BurnableMintableCappedERC20": [ - 3293 - ], - "DepositHandler": [ - 3381 - ], - "IAxelarGateway": [ - 5700 - ], - "IBurnableMintableCappedERC20": [ - 5734 - ], - "MintableCappedERC20": [ - 4372 - ] - }, - "id": 3294, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 3161, - "literals": [ - "solidity", - "0.8", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "33:22:4" - }, - { - "absolutePath": "@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarGateway.sol", - "file": "./interfaces/IAxelarGateway.sol", - "id": 3163, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 3294, - "sourceUnit": 5701, - "src": "57:65:4", - "symbolAliases": [ - { - "foreign": { - "id": 3162, - "name": "IAxelarGateway", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "src": "66:14:4", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "absolutePath": "@axelar-network/axelar-cgp-solidity/contracts/interfaces/IBurnableMintableCappedERC20.sol", - "file": "./interfaces/IBurnableMintableCappedERC20.sol", - "id": 3165, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 3294, - "sourceUnit": 5735, - "src": "123:93:4", - "symbolAliases": [ - { - "foreign": { - "id": 3164, - "name": "IBurnableMintableCappedERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "src": "132:28:4", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "absolutePath": "@axelar-network/axelar-cgp-solidity/contracts/MintableCappedERC20.sol", - "file": "./MintableCappedERC20.sol", - "id": 3167, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 3294, - "sourceUnit": 4373, - "src": "218:64:4", - "symbolAliases": [ - { - "foreign": { - "id": 3166, - "name": "MintableCappedERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "src": "227:19:4", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "absolutePath": "@axelar-network/axelar-cgp-solidity/contracts/DepositHandler.sol", - "file": "./DepositHandler.sol", - "id": 3169, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 3294, - "sourceUnit": 3382, - "src": "283:54:4", - "symbolAliases": [ - { - "foreign": { - "id": 3168, - "name": "DepositHandler", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "src": "292:14:4", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "baseName": { - "id": 3170, - "name": "IBurnableMintableCappedERC20", - "nodeType": "IdentifierPath", - "referencedDeclaration": 5734, - "src": "379:28:4" - }, - "id": 3171, - "nodeType": "InheritanceSpecifier", - "src": "379:28:4" - }, - { - "baseName": { - "id": 3172, - "name": "MintableCappedERC20", - "nodeType": "IdentifierPath", - "referencedDeclaration": 4372, - "src": "409:19:4" - }, - "id": 3173, - "nodeType": "InheritanceSpecifier", - "src": "409:19:4" - } - ], - "canonicalName": "BurnableMintableCappedERC20", - "contractDependencies": [ - 3381 - ], - "contractKind": "contract", - "fullyImplemented": true, - "id": 3293, - "linearizedBaseContracts": [ - 3293, - 4372, - 4438, - 4044, - 3874, - 5734, - 5893, - 5916, - 5864, - 5814, - 5832, - 5822 - ], - "name": "BurnableMintableCappedERC20", - "nameLocation": "348:27:4", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 3190, - "nodeType": "Block", - "src": "615:2:4", - "statements": [] - }, - "id": 3191, - "implemented": true, - "kind": "constructor", - "modifiers": [ - { - "arguments": [ - { - "id": 3184, - "name": "name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3175, - "src": "581:4:4", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "id": 3185, - "name": "symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3177, - "src": "587:6:4", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "id": 3186, - "name": "decimals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3179, - "src": "595:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - { - "id": 3187, - "name": "capacity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3181, - "src": "605:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 3188, - "kind": "baseConstructorSpecifier", - "modifierName": { - "id": 3183, - "name": "MintableCappedERC20", - "nodeType": "IdentifierPath", - "referencedDeclaration": 4372, - "src": "561:19:4" - }, - "nodeType": "ModifierInvocation", - "src": "561:53:4" - } - ], - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3182, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3175, - "mutability": "mutable", - "name": "name", - "nameLocation": "470:4:4", - "nodeType": "VariableDeclaration", - "scope": 3191, - "src": "456:18:4", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 3174, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "456:6:4", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3177, - "mutability": "mutable", - "name": "symbol", - "nameLocation": "498:6:4", - "nodeType": "VariableDeclaration", - "scope": 3191, - "src": "484:20:4", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 3176, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "484:6:4", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3179, - "mutability": "mutable", - "name": "decimals", - "nameLocation": "520:8:4", - "nodeType": "VariableDeclaration", - "scope": 3191, - "src": "514:14:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 3178, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "514:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3181, - "mutability": "mutable", - "name": "capacity", - "nameLocation": "546:8:4", - "nodeType": "VariableDeclaration", - "scope": 3191, - "src": "538:16:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3180, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "538:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "446:114:4" - }, - "returnParameters": { - "id": 3189, - "nodeType": "ParameterList", - "parameters": [], - "src": "615:0:4" - }, - "scope": 3293, - "src": "435:182:4", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "baseFunctions": [ - 5721 - ], - "body": { - "id": 3228, - "nodeType": "Block", - "src": "691:568:4", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "hexValue": "30786666", - "id": 3209, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1089:4:4", - "typeDescriptions": { - "typeIdentifier": "t_rational_255_by_1", - "typeString": "int_const 255" - }, - "value": "0xff" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_255_by_1", - "typeString": "int_const 255" - } - ], - "id": 3208, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1082:6:4", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes1_$", - "typeString": "type(bytes1)" - }, - "typeName": { - "id": 3207, - "name": "bytes1", - "nodeType": "ElementaryTypeName", - "src": "1082:6:4", - "typeDescriptions": {} - } - }, - "id": 3210, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1082:12:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" - } - }, - { - "id": 3211, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4380, - "src": "1096:5:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 3212, - "name": "salt", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3193, - "src": "1103:4:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "arguments": [ - { - "arguments": [ - { - "expression": { - "arguments": [ - { - "id": 3217, - "name": "DepositHandler", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3381, - "src": "1141:14:4", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_DepositHandler_$3381_$", - "typeString": "type(contract DepositHandler)" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_type$_t_contract$_DepositHandler_$3381_$", - "typeString": "type(contract DepositHandler)" - } - ], - "id": 3216, - "name": "type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -27, - "src": "1136:4:4", - "typeDescriptions": { - "typeIdentifier": "t_function_metatype_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 3218, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1136:20:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_magic_meta_type_t_contract$_DepositHandler_$3381", - "typeString": "type(contract DepositHandler)" - } - }, - "id": 3219, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "creationCode", - "nodeType": "MemberAccess", - "src": "1136:33:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "expression": { - "id": 3214, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "1119:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 3215, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "src": "1119:16:4", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 3220, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1119:51:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 3213, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "1109:9:4", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 3221, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1109:62:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "id": 3205, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "1065:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 3206, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "src": "1065:16:4", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 3222, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1065:107:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 3204, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "1026:9:4", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 3223, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1026:172:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 3203, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "993:7:4", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 3202, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "993:7:4", - "typeDescriptions": {} - } - }, - "id": 3224, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "993:227:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3201, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "964:7:4", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint160_$", - "typeString": "type(uint160)" - }, - "typeName": { - "id": 3200, - "name": "uint160", - "nodeType": "ElementaryTypeName", - "src": "964:7:4", - "typeDescriptions": {} - } - }, - "id": 3225, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "964:274:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - ], - "id": 3199, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "939:7:4", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 3198, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "939:7:4", - "typeDescriptions": {} - } - }, - "id": 3226, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "939:313:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "functionReturnParameters": 3197, - "id": 3227, - "nodeType": "Return", - "src": "920:332:4" - } - ] - }, - "functionSelector": "31eecaf4", - "id": 3229, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "depositAddress", - "nameLocation": "632:14:4", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3194, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3193, - "mutability": "mutable", - "name": "salt", - "nameLocation": "655:4:4", - "nodeType": "VariableDeclaration", - "scope": 3229, - "src": "647:12:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 3192, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "647:7:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "646:14:4" - }, - "returnParameters": { - "id": 3197, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3196, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 3229, - "src": "682:7:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3195, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "682:7:4", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "681:9:4" - }, - "scope": 3293, - "src": "623:636:4", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "baseFunctions": [ - 5726 - ], - "body": { - "id": 3249, - "nodeType": "Block", - "src": "1312:99:4", - "statements": [ - { - "assignments": [ - 3237 - ], - "declarations": [ - { - "constant": false, - "id": 3237, - "mutability": "mutable", - "name": "account", - "nameLocation": "1330:7:4", - "nodeType": "VariableDeclaration", - "scope": 3249, - "src": "1322:15:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3236, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1322:7:4", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "id": 3241, - "initialValue": { - "arguments": [ - { - "id": 3239, - "name": "salt", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3231, - "src": "1355:4:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 3238, - "name": "depositAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3229, - "src": "1340:14:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_address_$", - "typeString": "function (bytes32) view returns (address)" - } - }, - "id": 3240, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1340:20:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1322:38:4" - }, - { - "expression": { - "arguments": [ - { - "id": 3243, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3237, - "src": "1376:7:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "baseExpression": { - "id": 3244, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3490, - "src": "1385:9:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3246, - "indexExpression": { - "id": 3245, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3237, - "src": "1395:7:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1385:18:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3242, - "name": "_burn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3820, - "src": "1370:5:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 3247, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1370:34:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3248, - "nodeType": "ExpressionStatement", - "src": "1370:34:4" - } - ] - }, - "functionSelector": "08a1eee1", - "id": 3250, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 3234, - "kind": "modifierInvocation", - "modifierName": { - "id": 3233, - "name": "onlyOwner", - "nodeType": "IdentifierPath", - "referencedDeclaration": 4410, - "src": "1302:9:4" - }, - "nodeType": "ModifierInvocation", - "src": "1302:9:4" - } - ], - "name": "burn", - "nameLocation": "1274:4:4", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3232, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3231, - "mutability": "mutable", - "name": "salt", - "nameLocation": "1287:4:4", - "nodeType": "VariableDeclaration", - "scope": 3250, - "src": "1279:12:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 3230, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1279:7:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "1278:14:4" - }, - "returnParameters": { - "id": 3235, - "nodeType": "ParameterList", - "parameters": [], - "src": "1312:0:4" - }, - "scope": 3293, - "src": "1265:146:4", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "baseFunctions": [ - 5733 - ], - "body": { - "id": 3291, - "nodeType": "Block", - "src": "1487:221:4", - "statements": [ - { - "assignments": [ - 3260 - ], - "declarations": [ - { - "constant": false, - "id": 3260, - "mutability": "mutable", - "name": "_allowance", - "nameLocation": "1505:10:4", - "nodeType": "VariableDeclaration", - "scope": 3291, - "src": "1497:18:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3259, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1497:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 3267, - "initialValue": { - "baseExpression": { - "baseExpression": { - "id": 3261, - "name": "allowance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3497, - "src": "1518:9:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 3263, - "indexExpression": { - "id": 3262, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3252, - "src": "1528:7:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1518:18:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3266, - "indexExpression": { - "expression": { - "id": 3264, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1537:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3265, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "1537:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1518:30:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1497:51:4" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3274, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 3268, - "name": "_allowance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3260, - "src": "1562:10:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "expression": { - "arguments": [ - { - "id": 3271, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1581:7:4", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 3270, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1581:7:4", - "typeDescriptions": {} - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - } - ], - "id": 3269, - "name": "type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -27, - "src": "1576:4:4", - "typeDescriptions": { - "typeIdentifier": "t_function_metatype_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 3272, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1576:13:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_magic_meta_type_t_uint256", - "typeString": "type(uint256)" - } - }, - "id": 3273, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "max", - "nodeType": "MemberAccess", - "src": "1576:17:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1562:31:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 3285, - "nodeType": "IfStatement", - "src": "1558:112:4", - "trueBody": { - "id": 3284, - "nodeType": "Block", - "src": "1595:75:4", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 3276, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3252, - "src": "1618:7:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "expression": { - "id": 3277, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1627:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3278, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "1627:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3281, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 3279, - "name": "_allowance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3260, - "src": "1639:10:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "id": 3280, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3254, - "src": "1652:6:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1639:19:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3275, - "name": "_approve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3862, - "src": "1609:8:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 3282, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1609:50:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3283, - "nodeType": "ExpressionStatement", - "src": "1609:50:4" - } - ] - } - }, - { - "expression": { - "arguments": [ - { - "id": 3287, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3252, - "src": "1685:7:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 3288, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3254, - "src": "1694:6:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3286, - "name": "_burn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3820, - "src": "1679:5:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 3289, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1679:22:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3290, - "nodeType": "ExpressionStatement", - "src": "1679:22:4" - } - ] - }, - "functionSelector": "79cc6790", - "id": 3292, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 3257, - "kind": "modifierInvocation", - "modifierName": { - "id": 3256, - "name": "onlyOwner", - "nodeType": "IdentifierPath", - "referencedDeclaration": 4410, - "src": "1477:9:4" - }, - "nodeType": "ModifierInvocation", - "src": "1477:9:4" - } - ], - "name": "burnFrom", - "nameLocation": "1426:8:4", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3255, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3252, - "mutability": "mutable", - "name": "account", - "nameLocation": "1443:7:4", - "nodeType": "VariableDeclaration", - "scope": 3292, - "src": "1435:15:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3251, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1435:7:4", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3254, - "mutability": "mutable", - "name": "amount", - "nameLocation": "1460:6:4", - "nodeType": "VariableDeclaration", - "scope": 3292, - "src": "1452:14:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3253, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1452:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1434:33:4" - }, - "returnParameters": { - "id": 3258, - "nodeType": "ParameterList", - "parameters": [], - "src": "1487:0:4" - }, - "scope": 3293, - "src": "1417:291:4", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 3294, - "src": "339:1371:4", - "usedErrors": [ - 3890, - 3892, - 3894, - 3896, - 5739, - 5880, - 5897, - 5899 - ] - } - ], - "src": "33:1678:4" - }, - "id": 4 - }, - "@axelar-network/axelar-cgp-solidity/contracts/DepositHandler.sol": { - "ast": { - "absolutePath": "@axelar-network/axelar-cgp-solidity/contracts/DepositHandler.sol", - "exportedSymbols": { - "DepositHandler": [ - 3381 - ] - }, - "id": 3382, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 3295, - "literals": [ - "solidity", - "0.8", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "33:22:5" - }, - { - "abstract": false, - "baseContracts": [], - "canonicalName": "DepositHandler", - "contractDependencies": [], - "contractKind": "contract", - "fullyImplemented": true, - "id": 3381, - "linearizedBaseContracts": [ - 3381 - ], - "name": "DepositHandler", - "nameLocation": "66:14:5", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 3297, - "name": "IsLocked", - "nameLocation": "93:8:5", - "nodeType": "ErrorDefinition", - "parameters": { - "id": 3296, - "nodeType": "ParameterList", - "parameters": [], - "src": "101:2:5" - }, - "src": "87:17:5" - }, - { - "id": 3299, - "name": "NotContract", - "nameLocation": "115:11:5", - "nodeType": "ErrorDefinition", - "parameters": { - "id": 3298, - "nodeType": "ParameterList", - "parameters": [], - "src": "126:2:5" - }, - "src": "109:20:5" - }, - { - "constant": true, - "id": 3305, - "mutability": "constant", - "name": "IS_NOT_LOCKED", - "nameLocation": "161:13:5", - "nodeType": "VariableDeclaration", - "scope": 3381, - "src": "135:52:5", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3300, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "135:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "arguments": [ - { - "hexValue": "31", - "id": 3303, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "185:1:5", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - } - ], - "id": 3302, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "177:7:5", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 3301, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "177:7:5", - "typeDescriptions": {} - } - }, - "id": 3304, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "177:10:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 3311, - "mutability": "constant", - "name": "IS_LOCKED", - "nameLocation": "219:9:5", - "nodeType": "VariableDeclaration", - "scope": 3381, - "src": "193:48:5", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3306, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "193:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "arguments": [ - { - "hexValue": "32", - "id": 3309, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "239:1:5", - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - } - ], - "id": 3308, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "231:7:5", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 3307, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "231:7:5", - "typeDescriptions": {} - } - }, - "id": 3310, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "231:10:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3314, - "mutability": "mutable", - "name": "_lockedStatus", - "nameLocation": "265:13:5", - "nodeType": "VariableDeclaration", - "scope": 3381, - "src": "248:46:5", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3312, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "248:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "id": 3313, - "name": "IS_NOT_LOCKED", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3305, - "src": "281:13:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "body": { - "id": 3332, - "nodeType": "Block", - "src": "322:152:5", - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3318, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 3316, - "name": "_lockedStatus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3314, - "src": "336:13:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "id": 3317, - "name": "IS_LOCKED", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3311, - "src": "353:9:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "336:26:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 3322, - "nodeType": "IfStatement", - "src": "332:49:5", - "trueBody": { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 3319, - "name": "IsLocked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3297, - "src": "371:8:5", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 3320, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "371:10:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3321, - "nodeType": "RevertStatement", - "src": "364:17:5" - } - }, - { - "expression": { - "id": 3325, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 3323, - "name": "_lockedStatus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3314, - "src": "392:13:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 3324, - "name": "IS_LOCKED", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3311, - "src": "408:9:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "392:25:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3326, - "nodeType": "ExpressionStatement", - "src": "392:25:5" - }, - { - "id": 3327, - "nodeType": "PlaceholderStatement", - "src": "427:1:5" - }, - { - "expression": { - "id": 3330, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 3328, - "name": "_lockedStatus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3314, - "src": "438:13:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 3329, - "name": "IS_NOT_LOCKED", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3305, - "src": "454:13:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "438:29:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3331, - "nodeType": "ExpressionStatement", - "src": "438:29:5" - } - ] - }, - "id": 3333, - "name": "noReenter", - "nameLocation": "310:9:5", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 3315, - "nodeType": "ParameterList", - "parameters": [], - "src": "319:2:5" - }, - "src": "301:173:5", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 3364, - "nodeType": "Block", - "src": "601:117:5", - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3350, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "expression": { - "id": 3346, - "name": "callee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3335, - "src": "615:6:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 3347, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "code", - "nodeType": "MemberAccess", - "src": "615:11:5", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 3348, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "src": "615:18:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 3349, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "637:1:5", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "615:23:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 3354, - "nodeType": "IfStatement", - "src": "611:49:5", - "trueBody": { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 3351, - "name": "NotContract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3299, - "src": "647:11:5", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 3352, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "647:13:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3353, - "nodeType": "RevertStatement", - "src": "640:20:5" - } - }, - { - "expression": { - "id": 3362, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "components": [ - { - "id": 3355, - "name": "success", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3342, - "src": "671:7:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "id": 3356, - "name": "returnData", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3344, - "src": "680:10:5", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "id": 3357, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "670:21:5", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "tuple(bool,bytes memory)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 3360, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3337, - "src": "706:4:5", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - ], - "expression": { - "id": 3358, - "name": "callee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3335, - "src": "694:6:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 3359, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "call", - "nodeType": "MemberAccess", - "src": "694:11:5", - "typeDescriptions": { - "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "function (bytes memory) payable returns (bool,bytes memory)" - } - }, - "id": 3361, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "694:17:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "tuple(bool,bytes memory)" - } - }, - "src": "670:41:5", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3363, - "nodeType": "ExpressionStatement", - "src": "670:41:5" - } - ] - }, - "functionSelector": "1cff79cd", - "id": 3365, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 3340, - "kind": "modifierInvocation", - "modifierName": { - "id": 3339, - "name": "noReenter", - "nodeType": "IdentifierPath", - "referencedDeclaration": 3333, - "src": "543:9:5" - }, - "nodeType": "ModifierInvocation", - "src": "543:9:5" - } - ], - "name": "execute", - "nameLocation": "489:7:5", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3338, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3335, - "mutability": "mutable", - "name": "callee", - "nameLocation": "505:6:5", - "nodeType": "VariableDeclaration", - "scope": 3365, - "src": "497:14:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3334, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "497:7:5", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3337, - "mutability": "mutable", - "name": "data", - "nameLocation": "528:4:5", - "nodeType": "VariableDeclaration", - "scope": 3365, - "src": "513:19:5", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 3336, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "513:5:5", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "496:37:5" - }, - "returnParameters": { - "id": 3345, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3342, - "mutability": "mutable", - "name": "success", - "nameLocation": "567:7:5", - "nodeType": "VariableDeclaration", - "scope": 3365, - "src": "562:12:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 3341, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "562:4:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3344, - "mutability": "mutable", - "name": "returnData", - "nameLocation": "589:10:5", - "nodeType": "VariableDeclaration", - "scope": 3365, - "src": "576:23:5", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 3343, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "576:5:5", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "561:39:5" - }, - "scope": 3381, - "src": "480:238:5", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 3379, - "nodeType": "Block", - "src": "899:56:5", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "id": 3375, - "name": "etherDestination", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3367, - "src": "930:16:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 3374, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "922:8:5", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_payable_$", - "typeString": "type(address payable)" - }, - "typeName": { - "id": 3373, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "922:8:5", - "stateMutability": "payable", - "typeDescriptions": {} - } - }, - "id": 3376, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "922:25:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 3372, - "name": "selfdestruct", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -21, - "src": "909:12:5", - "typeDescriptions": { - "typeIdentifier": "t_function_selfdestruct_nonpayable$_t_address_payable_$returns$__$", - "typeString": "function (address payable)" - } - }, - "id": 3377, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "909:39:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3378, - "nodeType": "ExpressionStatement", - "src": "909:39:5" - } - ] - }, - "functionSelector": "00f55d9d", - "id": 3380, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 3370, - "kind": "modifierInvocation", - "modifierName": { - "id": 3369, - "name": "noReenter", - "nodeType": "IdentifierPath", - "referencedDeclaration": 3333, - "src": "889:9:5" - }, - "nodeType": "ModifierInvocation", - "src": "889:9:5" - } - ], - "name": "destroy", - "nameLocation": "846:7:5", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3368, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3367, - "mutability": "mutable", - "name": "etherDestination", - "nameLocation": "862:16:5", - "nodeType": "VariableDeclaration", - "scope": 3380, - "src": "854:24:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3366, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "854:7:5", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "853:26:5" - }, - "returnParameters": { - "id": 3371, - "nodeType": "ParameterList", - "parameters": [], - "src": "899:0:5" - }, - "scope": 3381, - "src": "837:118:5", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 3382, - "src": "57:900:5", - "usedErrors": [ - 3297, - 3299 - ] - } - ], - "src": "33:925:5" - }, - "id": 5 - }, - "@axelar-network/axelar-cgp-solidity/contracts/ECDSA.sol": { - "ast": { - "absolutePath": "@axelar-network/axelar-cgp-solidity/contracts/ECDSA.sol", - "exportedSymbols": { - "ECDSA": [ - 3478 - ] - }, - "id": 3479, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 3383, - "literals": [ - "solidity", - "0.8", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "33:22:6" - }, - { - "abstract": false, - "baseContracts": [], - "canonicalName": "ECDSA", - "contractDependencies": [], - "contractKind": "library", - "documentation": { - "id": 3384, - "nodeType": "StructuredDocumentation", - "src": "57:205:6", - "text": " @dev Elliptic Curve Digital Signature Algorithm (ECDSA) operations.\n These functions can be used to verify that a message was signed by the holder\n of the private keys of a given address." - }, - "fullyImplemented": true, - "id": 3478, - "linearizedBaseContracts": [ - 3478 - ], - "name": "ECDSA", - "nameLocation": "271:5:6", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 3386, - "name": "InvalidSignatureLength", - "nameLocation": "289:22:6", - "nodeType": "ErrorDefinition", - "parameters": { - "id": 3385, - "nodeType": "ParameterList", - "parameters": [], - "src": "311:2:6" - }, - "src": "283:31:6" - }, - { - "id": 3388, - "name": "InvalidS", - "nameLocation": "325:8:6", - "nodeType": "ErrorDefinition", - "parameters": { - "id": 3387, - "nodeType": "ParameterList", - "parameters": [], - "src": "333:2:6" - }, - "src": "319:17:6" - }, - { - "id": 3390, - "name": "InvalidV", - "nameLocation": "347:8:6", - "nodeType": "ErrorDefinition", - "parameters": { - "id": 3389, - "nodeType": "ParameterList", - "parameters": [], - "src": "355:2:6" - }, - "src": "341:17:6" - }, - { - "id": 3392, - "name": "InvalidSignature", - "nameLocation": "369:16:6", - "nodeType": "ErrorDefinition", - "parameters": { - "id": 3391, - "nodeType": "ParameterList", - "parameters": [], - "src": "385:2:6" - }, - "src": "363:25:6" - }, - { - "body": { - "id": 3459, - "nodeType": "Block", - "src": "1268:1793:6", - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3405, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 3402, - "name": "signature", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3397, - "src": "1320:9:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 3403, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "src": "1320:16:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "hexValue": "3635", - "id": 3404, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1340:2:6", - "typeDescriptions": { - "typeIdentifier": "t_rational_65_by_1", - "typeString": "int_const 65" - }, - "value": "65" - }, - "src": "1320:22:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 3409, - "nodeType": "IfStatement", - "src": "1316:59:6", - "trueBody": { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 3406, - "name": "InvalidSignatureLength", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3386, - "src": "1351:22:6", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 3407, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1351:24:6", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3408, - "nodeType": "RevertStatement", - "src": "1344:31:6" - } - }, - { - "assignments": [ - 3411 - ], - "declarations": [ - { - "constant": false, - "id": 3411, - "mutability": "mutable", - "name": "r", - "nameLocation": "1450:1:6", - "nodeType": "VariableDeclaration", - "scope": 3459, - "src": "1442:9:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 3410, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1442:7:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "id": 3412, - "nodeType": "VariableDeclarationStatement", - "src": "1442:9:6" - }, - { - "assignments": [ - 3414 - ], - "declarations": [ - { - "constant": false, - "id": 3414, - "mutability": "mutable", - "name": "s", - "nameLocation": "1469:1:6", - "nodeType": "VariableDeclaration", - "scope": 3459, - "src": "1461:9:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 3413, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1461:7:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "id": 3415, - "nodeType": "VariableDeclarationStatement", - "src": "1461:9:6" - }, - { - "assignments": [ - 3417 - ], - "declarations": [ - { - "constant": false, - "id": 3417, - "mutability": "mutable", - "name": "v", - "nameLocation": "1486:1:6", - "nodeType": "VariableDeclaration", - "scope": 3459, - "src": "1480:7:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 3416, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "1480:5:6", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "visibility": "internal" - } - ], - "id": 3418, - "nodeType": "VariableDeclarationStatement", - "src": "1480:7:6" - }, - { - "AST": { - "nodeType": "YulBlock", - "src": "1686:155:6", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "1700:32:6", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "signature", - "nodeType": "YulIdentifier", - "src": "1715:9:6" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1726:4:6", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1711:3:6" - }, - "nodeType": "YulFunctionCall", - "src": "1711:20:6" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "1705:5:6" - }, - "nodeType": "YulFunctionCall", - "src": "1705:27:6" - }, - "variableNames": [ - { - "name": "r", - "nodeType": "YulIdentifier", - "src": "1700:1:6" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "1745:32:6", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "signature", - "nodeType": "YulIdentifier", - "src": "1760:9:6" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1771:4:6", - "type": "", - "value": "0x40" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1756:3:6" - }, - "nodeType": "YulFunctionCall", - "src": "1756:20:6" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "1750:5:6" - }, - "nodeType": "YulFunctionCall", - "src": "1750:27:6" - }, - "variableNames": [ - { - "name": "s", - "nodeType": "YulIdentifier", - "src": "1745:1:6" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "1790:41:6", - "value": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1800:1:6", - "type": "", - "value": "0" - }, - { - "arguments": [ - { - "arguments": [ - { - "name": "signature", - "nodeType": "YulIdentifier", - "src": "1813:9:6" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1824:4:6", - "type": "", - "value": "0x60" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "1809:3:6" - }, - "nodeType": "YulFunctionCall", - "src": "1809:20:6" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "1803:5:6" - }, - "nodeType": "YulFunctionCall", - "src": "1803:27:6" - } - ], - "functionName": { - "name": "byte", - "nodeType": "YulIdentifier", - "src": "1795:4:6" - }, - "nodeType": "YulFunctionCall", - "src": "1795:36:6" - }, - "variableNames": [ - { - "name": "v", - "nodeType": "YulIdentifier", - "src": "1790:1:6" - } - ] - } - ] - }, - "evmVersion": "london", - "externalReferences": [ - { - "declaration": 3411, - "isOffset": false, - "isSlot": false, - "src": "1700:1:6", - "valueSize": 1 - }, - { - "declaration": 3414, - "isOffset": false, - "isSlot": false, - "src": "1745:1:6", - "valueSize": 1 - }, - { - "declaration": 3397, - "isOffset": false, - "isSlot": false, - "src": "1715:9:6", - "valueSize": 1 - }, - { - "declaration": 3397, - "isOffset": false, - "isSlot": false, - "src": "1760:9:6", - "valueSize": 1 - }, - { - "declaration": 3397, - "isOffset": false, - "isSlot": false, - "src": "1813:9:6", - "valueSize": 1 - }, - { - "declaration": 3417, - "isOffset": false, - "isSlot": false, - "src": "1790:1:6", - "valueSize": 1 - } - ], - "id": 3419, - "nodeType": "InlineAssembly", - "src": "1677:164:6" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3425, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [ - { - "id": 3422, - "name": "s", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3414, - "src": "2737:1:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 3421, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2729:7:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 3420, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2729:7:6", - "typeDescriptions": {} - } - }, - "id": 3423, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2729:10:6", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "307837464646464646464646464646464646464646464646464646464646464646463544353736453733353741343530314444464539324634363638314232304130", - "id": 3424, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2742:66:6", - "typeDescriptions": { - "typeIdentifier": "t_rational_57896044618658097711785492504343953926418782139537452191302581570759080747168_by_1", - "typeString": "int_const 5789...(69 digits omitted)...7168" - }, - "value": "0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5D576E7357A4501DDFE92F46681B20A0" - }, - "src": "2729:79:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 3429, - "nodeType": "IfStatement", - "src": "2725:102:6", - "trueBody": { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 3426, - "name": "InvalidS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3388, - "src": "2817:8:6", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 3427, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2817:10:6", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3428, - "nodeType": "RevertStatement", - "src": "2810:17:6" - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 3436, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "id": 3432, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 3430, - "name": "v", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3417, - "src": "2842:1:6", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "hexValue": "3237", - "id": 3431, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2847:2:6", - "typeDescriptions": { - "typeIdentifier": "t_rational_27_by_1", - "typeString": "int_const 27" - }, - "value": "27" - }, - "src": "2842:7:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "id": 3435, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 3433, - "name": "v", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3417, - "src": "2853:1:6", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "hexValue": "3238", - "id": 3434, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2858:2:6", - "typeDescriptions": { - "typeIdentifier": "t_rational_28_by_1", - "typeString": "int_const 28" - }, - "value": "28" - }, - "src": "2853:7:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "2842:18:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 3440, - "nodeType": "IfStatement", - "src": "2838:41:6", - "trueBody": { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 3437, - "name": "InvalidV", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3390, - "src": "2869:8:6", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 3438, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2869:10:6", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3439, - "nodeType": "RevertStatement", - "src": "2862:17:6" - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 3454, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "components": [ - { - "id": 3448, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 3441, - "name": "signer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3400, - "src": "2979:6:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 3443, - "name": "hash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3395, - "src": "2998:4:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 3444, - "name": "v", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3417, - "src": "3004:1:6", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - { - "id": 3445, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3411, - "src": "3007:1:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 3446, - "name": "s", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3414, - "src": "3010:1:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 3442, - "name": "ecrecover", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -6, - "src": "2988:9:6", - "typeDescriptions": { - "typeIdentifier": "t_function_ecrecover_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$", - "typeString": "function (bytes32,uint8,bytes32,bytes32) pure returns (address)" - } - }, - "id": 3447, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2988:24:6", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "2979:33:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "id": 3449, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "2978:35:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 3452, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3025:1:6", - "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": 3451, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3017:7:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 3450, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3017:7:6", - "typeDescriptions": {} - } - }, - "id": 3453, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3017:10:6", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "2978:49:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 3458, - "nodeType": "IfStatement", - "src": "2974:80:6", - "trueBody": { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 3455, - "name": "InvalidSignature", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3392, - "src": "3036:16:6", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 3456, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3036:18:6", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3457, - "nodeType": "RevertStatement", - "src": "3029:25:6" - } - } - ] - }, - "documentation": { - "id": 3393, - "nodeType": "StructuredDocumentation", - "src": "394:775:6", - "text": " @dev Returns the address that signed a hashed message (`hash`) with\n `signature`. This address can then be used for verification purposes.\n The `ecrecover` EVM opcode allows for malleable (non-unique) signatures:\n this function rejects them by requiring the `s` value to be in the lower\n half order, and the `v` value to be either 27 or 28.\n IMPORTANT: `hash` _must_ be the result of a hash operation for the\n verification to be secure: it is possible to craft signatures that\n recover to arbitrary addresses for non-hashed data. A safe way to ensure\n this is by receiving a hash of the original message (which may otherwise\n be too long), and then calling {toEthSignedMessageHash} on it." - }, - "id": 3460, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "recover", - "nameLocation": "1183:7:6", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3398, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3395, - "mutability": "mutable", - "name": "hash", - "nameLocation": "1199:4:6", - "nodeType": "VariableDeclaration", - "scope": 3460, - "src": "1191:12:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 3394, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1191:7:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3397, - "mutability": "mutable", - "name": "signature", - "nameLocation": "1218:9:6", - "nodeType": "VariableDeclaration", - "scope": 3460, - "src": "1205:22:6", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 3396, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "1205:5:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "1190:38:6" - }, - "returnParameters": { - "id": 3401, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3400, - "mutability": "mutable", - "name": "signer", - "nameLocation": "1260:6:6", - "nodeType": "VariableDeclaration", - "scope": 3460, - "src": "1252:14:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3399, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1252:7:6", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "1251:16:6" - }, - "scope": 3478, - "src": "1174:1887:6", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 3476, - "nodeType": "Block", - "src": "3403:187:6", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "hexValue": "19457468657265756d205369676e6564204d6573736167653a0a3332", - "id": 3471, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3541:34:6", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73", - "typeString": "literal_string hex\"19457468657265756d205369676e6564204d6573736167653a0a3332\"" - }, - "value": "\u0019Ethereum Signed Message:\n32" - }, - { - "id": 3472, - "name": "hash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3463, - "src": "3577:4:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73", - "typeString": "literal_string hex\"19457468657265756d205369676e6564204d6573736167653a0a3332\"" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "id": 3469, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "3524:3:6", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 3470, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "src": "3524:16:6", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 3473, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3524:58:6", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 3468, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "3514:9:6", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 3474, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3514:69:6", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "functionReturnParameters": 3467, - "id": 3475, - "nodeType": "Return", - "src": "3507:76:6" - } - ] - }, - "documentation": { - "id": 3461, - "nodeType": "StructuredDocumentation", - "src": "3067:253:6", - "text": " @dev Returns an Ethereum Signed Message, created from a `hash`. This\n replicates the behavior of the\n https://github.com/ethereum/wiki/wiki/JSON-RPC#eth_sign[`eth_sign`]\n JSON-RPC method.\n See {recover}." - }, - "id": 3477, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "toEthSignedMessageHash", - "nameLocation": "3334:22:6", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3464, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3463, - "mutability": "mutable", - "name": "hash", - "nameLocation": "3365:4:6", - "nodeType": "VariableDeclaration", - "scope": 3477, - "src": "3357:12:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 3462, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "3357:7:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "3356:14:6" - }, - "returnParameters": { - "id": 3467, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3466, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 3477, - "src": "3394:7:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 3465, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "3394:7:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "3393:9:6" - }, - "scope": 3478, - "src": "3325:265:6", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - } - ], - "scope": 3479, - "src": "263:3329:6", - "usedErrors": [ - 3386, - 3388, - 3390, - 3392 - ] - } - ], - "src": "33:3560:6" - }, - "id": 6 - }, - "@axelar-network/axelar-cgp-solidity/contracts/ERC20.sol": { - "ast": { - "absolutePath": "@axelar-network/axelar-cgp-solidity/contracts/ERC20.sol", - "exportedSymbols": { - "ERC20": [ - 3874 - ], - "IERC20": [ - 5814 - ] - }, - "id": 3875, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 3480, - "literals": [ - "solidity", - "0.8", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "33:22:7" - }, - { - "absolutePath": "@axelar-network/axelar-cgp-solidity/contracts/interfaces/IERC20.sol", - "file": "./interfaces/IERC20.sol", - "id": 3482, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 3875, - "sourceUnit": 5815, - "src": "57:49:7", - "symbolAliases": [ - { - "foreign": { - "id": 3481, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "src": "66:6:7", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "baseName": { - "id": 3484, - "name": "IERC20", - "nodeType": "IdentifierPath", - "referencedDeclaration": 5814, - "src": "1289:6:7" - }, - "id": 3485, - "nodeType": "InheritanceSpecifier", - "src": "1289:6:7" - } - ], - "canonicalName": "ERC20", - "contractDependencies": [], - "contractKind": "contract", - "documentation": { - "id": 3483, - "nodeType": "StructuredDocumentation", - "src": "108:1162:7", - "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": 3874, - "linearizedBaseContracts": [ - 3874, - 5814 - ], - "name": "ERC20", - "nameLocation": "1280:5:7", - "nodeType": "ContractDefinition", - "nodes": [ - { - "baseFunctions": [ - 5753 - ], - "constant": false, - "functionSelector": "70a08231", - "id": 3490, - "mutability": "mutable", - "name": "balanceOf", - "nameLocation": "1346:9:7", - "nodeType": "VariableDeclaration", - "overrides": { - "id": 3489, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "1337:8:7" - }, - "scope": 3874, - "src": "1302:53:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 3488, - "keyType": { - "id": 3486, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1310:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1302:27:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 3487, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1321:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "visibility": "public" - }, - { - "baseFunctions": [ - 5773 - ], - "constant": false, - "functionSelector": "dd62ed3e", - "id": 3497, - "mutability": "mutable", - "name": "allowance", - "nameLocation": "1426:9:7", - "nodeType": "VariableDeclaration", - "overrides": { - "id": 3496, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "1417:8:7" - }, - "scope": 3874, - "src": "1362:73:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - }, - "typeName": { - "id": 3495, - "keyType": { - "id": 3491, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1370:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1362:47:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - }, - "valueType": { - "id": 3494, - "keyType": { - "id": 3492, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1389:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1381:27:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 3493, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1400:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - } - }, - "visibility": "public" - }, - { - "baseFunctions": [ - 5745 - ], - "constant": false, - "functionSelector": "18160ddd", - "id": 3500, - "mutability": "mutable", - "name": "totalSupply", - "nameLocation": "1466:11:7", - "nodeType": "VariableDeclaration", - "overrides": { - "id": 3499, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "1457:8:7" - }, - "scope": 3874, - "src": "1442:35:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3498, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1442:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "06fdde03", - "id": 3502, - "mutability": "mutable", - "name": "name", - "nameLocation": "1498:4:7", - "nodeType": "VariableDeclaration", - "scope": 3874, - "src": "1484:18:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string" - }, - "typeName": { - "id": 3501, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1484:6:7", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "95d89b41", - "id": 3504, - "mutability": "mutable", - "name": "symbol", - "nameLocation": "1522:6:7", - "nodeType": "VariableDeclaration", - "scope": 3874, - "src": "1508:20:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string" - }, - "typeName": { - "id": 3503, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1508:6:7", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "313ce567", - "id": 3506, - "mutability": "immutable", - "name": "decimals", - "nameLocation": "1558:8:7", - "nodeType": "VariableDeclaration", - "scope": 3874, - "src": "1535:31:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 3505, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "1535:5:7", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "visibility": "public" - }, - { - "body": { - "id": 3528, - "nodeType": "Block", - "src": "1758:85:7", - "statements": [ - { - "expression": { - "id": 3518, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 3516, - "name": "name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3502, - "src": "1768:4:7", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 3517, - "name": "name_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3509, - "src": "1775:5:7", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "1768:12:7", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 3519, - "nodeType": "ExpressionStatement", - "src": "1768:12:7" - }, - { - "expression": { - "id": 3522, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 3520, - "name": "symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3504, - "src": "1790:6:7", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 3521, - "name": "symbol_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3511, - "src": "1799:7:7", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "1790:16:7", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 3523, - "nodeType": "ExpressionStatement", - "src": "1790:16:7" - }, - { - "expression": { - "id": 3526, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 3524, - "name": "decimals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3506, - "src": "1816:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 3525, - "name": "decimals_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3513, - "src": "1827:9:7", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "1816:20:7", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "id": 3527, - "nodeType": "ExpressionStatement", - "src": "1816:20:7" - } - ] - }, - "documentation": { - "id": 3507, - "nodeType": "StructuredDocumentation", - "src": "1573:77:7", - "text": " @dev Sets the values for {name}, {symbol}, and {decimals}." - }, - "id": 3529, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3514, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3509, - "mutability": "mutable", - "name": "name_", - "nameLocation": "1690:5:7", - "nodeType": "VariableDeclaration", - "scope": 3529, - "src": "1676:19:7", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 3508, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1676:6:7", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3511, - "mutability": "mutable", - "name": "symbol_", - "nameLocation": "1719:7:7", - "nodeType": "VariableDeclaration", - "scope": 3529, - "src": "1705:21:7", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 3510, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1705:6:7", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3513, - "mutability": "mutable", - "name": "decimals_", - "nameLocation": "1742:9:7", - "nodeType": "VariableDeclaration", - "scope": 3529, - "src": "1736:15:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 3512, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "1736:5:7", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "visibility": "internal" - } - ], - "src": "1666:91:7" - }, - "returnParameters": { - "id": 3515, - "nodeType": "ParameterList", - "parameters": [], - "src": "1758:0:7" - }, - "scope": 3874, - "src": "1655:188:7", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "baseFunctions": [ - 5763 - ], - "body": { - "id": 3549, - "nodeType": "Block", - "src": "2140:78:7", - "statements": [ - { - "expression": { - "arguments": [ - { - "expression": { - "id": 3541, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "2160:3:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3542, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "2160:10:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 3543, - "name": "recipient", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3532, - "src": "2172:9:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 3544, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3534, - "src": "2183:6:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3540, - "name": "_transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3726, - "src": "2150:9:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 3545, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2150:40:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3546, - "nodeType": "ExpressionStatement", - "src": "2150:40:7" - }, - { - "expression": { - "hexValue": "74727565", - "id": 3547, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2207:4:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 3539, - "id": 3548, - "nodeType": "Return", - "src": "2200:11:7" - } - ] - }, - "documentation": { - "id": 3530, - "nodeType": "StructuredDocumentation", - "src": "1849:192:7", - "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": 3550, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "transfer", - "nameLocation": "2055:8:7", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 3536, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "2116:8:7" - }, - "parameters": { - "id": 3535, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3532, - "mutability": "mutable", - "name": "recipient", - "nameLocation": "2072:9:7", - "nodeType": "VariableDeclaration", - "scope": 3550, - "src": "2064:17:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3531, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2064:7:7", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3534, - "mutability": "mutable", - "name": "amount", - "nameLocation": "2091:6:7", - "nodeType": "VariableDeclaration", - "scope": 3550, - "src": "2083:14:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3533, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2083:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2063:35:7" - }, - "returnParameters": { - "id": 3539, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3538, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 3550, - "src": "2134:4:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 3537, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2134:4:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "2133:6:7" - }, - "scope": 3874, - "src": "2046:172:7", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "external" - }, - { - "baseFunctions": [ - 5783 - ], - "body": { - "id": 3570, - "nodeType": "Block", - "src": "2617:75:7", - "statements": [ - { - "expression": { - "arguments": [ - { - "expression": { - "id": 3562, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "2636:3:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3563, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "2636:10:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 3564, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3553, - "src": "2648:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 3565, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3555, - "src": "2657:6:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3561, - "name": "_approve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3862, - "src": "2627:8:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 3566, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2627:37:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3567, - "nodeType": "ExpressionStatement", - "src": "2627:37:7" - }, - { - "expression": { - "hexValue": "74727565", - "id": 3568, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2681:4:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 3560, - "id": 3569, - "nodeType": "Return", - "src": "2674:11:7" - } - ] - }, - "documentation": { - "id": 3551, - "nodeType": "StructuredDocumentation", - "src": "2224:297:7", - "text": " @dev See {IERC20-approve}.\n NOTE: If `amount` is the maximum `uint256`, the allowance is not updated on\n `transferFrom`. This is semantically equivalent to an infinite approval.\n Requirements:\n - `spender` cannot be the zero address." - }, - "functionSelector": "095ea7b3", - "id": 3571, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "approve", - "nameLocation": "2535:7:7", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 3557, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "2593:8:7" - }, - "parameters": { - "id": 3556, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3553, - "mutability": "mutable", - "name": "spender", - "nameLocation": "2551:7:7", - "nodeType": "VariableDeclaration", - "scope": 3571, - "src": "2543:15:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3552, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2543:7:7", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3555, - "mutability": "mutable", - "name": "amount", - "nameLocation": "2568:6:7", - "nodeType": "VariableDeclaration", - "scope": 3571, - "src": "2560:14:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3554, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2560:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2542:33:7" - }, - "returnParameters": { - "id": 3560, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3559, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 3571, - "src": "2611:4:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 3558, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2611:4:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "2610:6:7" - }, - "scope": 3874, - "src": "2526:166:7", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "external" - }, - { - "baseFunctions": [ - 5795 - ], - "body": { - "id": 3619, - "nodeType": "Block", - "src": "3303:257:7", - "statements": [ - { - "assignments": [ - 3585 - ], - "declarations": [ - { - "constant": false, - "id": 3585, - "mutability": "mutable", - "name": "_allowance", - "nameLocation": "3321:10:7", - "nodeType": "VariableDeclaration", - "scope": 3619, - "src": "3313:18:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3584, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3313:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 3592, - "initialValue": { - "baseExpression": { - "baseExpression": { - "id": 3586, - "name": "allowance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3497, - "src": "3334:9:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 3588, - "indexExpression": { - "id": 3587, - "name": "sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3574, - "src": "3344:6:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3334:17:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3591, - "indexExpression": { - "expression": { - "id": 3589, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3352:3:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3590, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "3352:10:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3334:29:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3313:50:7" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3599, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 3593, - "name": "_allowance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3585, - "src": "3378:10:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "expression": { - "arguments": [ - { - "id": 3596, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3397:7:7", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 3595, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3397:7:7", - "typeDescriptions": {} - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - } - ], - "id": 3594, - "name": "type", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -27, - "src": "3392:4:7", - "typeDescriptions": { - "typeIdentifier": "t_function_metatype_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 3597, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3392:13:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_magic_meta_type_t_uint256", - "typeString": "type(uint256)" - } - }, - "id": 3598, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "max", - "nodeType": "MemberAccess", - "src": "3392:17:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3378:31:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 3610, - "nodeType": "IfStatement", - "src": "3374:111:7", - "trueBody": { - "id": 3609, - "nodeType": "Block", - "src": "3411:74:7", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 3601, - "name": "sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3574, - "src": "3434:6:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "expression": { - "id": 3602, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3442:3:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3603, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "3442:10:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3606, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 3604, - "name": "_allowance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3585, - "src": "3454:10:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "id": 3605, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3578, - "src": "3467:6:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3454:19:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3600, - "name": "_approve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3862, - "src": "3425:8:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 3607, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3425:49:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3608, - "nodeType": "ExpressionStatement", - "src": "3425:49:7" - } - ] - } - }, - { - "expression": { - "arguments": [ - { - "id": 3612, - "name": "sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3574, - "src": "3505:6:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 3613, - "name": "recipient", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3576, - "src": "3513:9:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 3614, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3578, - "src": "3524:6:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3611, - "name": "_transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3726, - "src": "3495:9:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 3615, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3495:36:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3616, - "nodeType": "ExpressionStatement", - "src": "3495:36:7" - }, - { - "expression": { - "hexValue": "74727565", - "id": 3617, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3549:4:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 3583, - "id": 3618, - "nodeType": "Return", - "src": "3542:11:7" - } - ] - }, - "documentation": { - "id": 3572, - "nodeType": "StructuredDocumentation", - "src": "2698:456:7", - "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": 3620, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "transferFrom", - "nameLocation": "3168:12:7", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 3580, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "3279:8:7" - }, - "parameters": { - "id": 3579, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3574, - "mutability": "mutable", - "name": "sender", - "nameLocation": "3198:6:7", - "nodeType": "VariableDeclaration", - "scope": 3620, - "src": "3190:14:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3573, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3190:7:7", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3576, - "mutability": "mutable", - "name": "recipient", - "nameLocation": "3222:9:7", - "nodeType": "VariableDeclaration", - "scope": 3620, - "src": "3214:17:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3575, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3214:7:7", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3578, - "mutability": "mutable", - "name": "amount", - "nameLocation": "3249:6:7", - "nodeType": "VariableDeclaration", - "scope": 3620, - "src": "3241:14:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3577, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3241:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3180:81:7" - }, - "returnParameters": { - "id": 3583, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3582, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 3620, - "src": "3297:4:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 3581, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3297:4:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "3296:6:7" - }, - "scope": 3874, - "src": "3159:401:7", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "external" - }, - { - "body": { - "id": 3646, - "nodeType": "Block", - "src": "4051:112:7", - "statements": [ - { - "expression": { - "arguments": [ - { - "expression": { - "id": 3631, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4070:3:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3632, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "4070:10:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 3633, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3623, - "src": "4082:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3641, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "baseExpression": { - "baseExpression": { - "id": 3634, - "name": "allowance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3497, - "src": "4091:9:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 3637, - "indexExpression": { - "expression": { - "id": 3635, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4101:3:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3636, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "4101:10:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4091:21:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3639, - "indexExpression": { - "id": 3638, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3623, - "src": "4113:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4091:30:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "id": 3640, - "name": "addedValue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3625, - "src": "4124:10:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4091:43:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3630, - "name": "_approve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3862, - "src": "4061:8:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 3642, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4061:74:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3643, - "nodeType": "ExpressionStatement", - "src": "4061:74:7" - }, - { - "expression": { - "hexValue": "74727565", - "id": 3644, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4152:4:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 3629, - "id": 3645, - "nodeType": "Return", - "src": "4145:11:7" - } - ] - }, - "documentation": { - "id": 3621, - "nodeType": "StructuredDocumentation", - "src": "3566:384:7", - "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": 3647, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "increaseAllowance", - "nameLocation": "3964:17:7", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3626, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3623, - "mutability": "mutable", - "name": "spender", - "nameLocation": "3990:7:7", - "nodeType": "VariableDeclaration", - "scope": 3647, - "src": "3982:15:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3622, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3982:7:7", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3625, - "mutability": "mutable", - "name": "addedValue", - "nameLocation": "4007:10:7", - "nodeType": "VariableDeclaration", - "scope": 3647, - "src": "3999:18:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3624, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3999:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3981:37:7" - }, - "returnParameters": { - "id": 3629, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3628, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 3647, - "src": "4045:4:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 3627, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "4045:4:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "4044:6:7" - }, - "scope": 3874, - "src": "3955:208:7", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "external" - }, - { - "body": { - "id": 3673, - "nodeType": "Block", - "src": "4751:117:7", - "statements": [ - { - "expression": { - "arguments": [ - { - "expression": { - "id": 3658, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4770:3:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3659, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "4770:10:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 3660, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3650, - "src": "4782:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3668, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "baseExpression": { - "baseExpression": { - "id": 3661, - "name": "allowance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3497, - "src": "4791:9:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 3664, - "indexExpression": { - "expression": { - "id": 3662, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4801:3:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3663, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "4801:10:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4791:21:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3666, - "indexExpression": { - "id": 3665, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3650, - "src": "4813:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4791:30:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "id": 3667, - "name": "subtractedValue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3652, - "src": "4824:15:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4791:48:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3657, - "name": "_approve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3862, - "src": "4761:8:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 3669, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4761:79:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3670, - "nodeType": "ExpressionStatement", - "src": "4761:79:7" - }, - { - "expression": { - "hexValue": "74727565", - "id": 3671, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4857:4:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 3656, - "id": 3672, - "nodeType": "Return", - "src": "4850:11:7" - } - ] - }, - "documentation": { - "id": 3648, - "nodeType": "StructuredDocumentation", - "src": "4169:476:7", - "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": 3674, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "decreaseAllowance", - "nameLocation": "4659:17:7", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3653, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3650, - "mutability": "mutable", - "name": "spender", - "nameLocation": "4685:7:7", - "nodeType": "VariableDeclaration", - "scope": 3674, - "src": "4677:15:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3649, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4677:7:7", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3652, - "mutability": "mutable", - "name": "subtractedValue", - "nameLocation": "4702:15:7", - "nodeType": "VariableDeclaration", - "scope": 3674, - "src": "4694:23:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3651, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4694:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "4676:42:7" - }, - "returnParameters": { - "id": 3656, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3655, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 3674, - "src": "4745:4:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 3654, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "4745:4:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "4744:6:7" - }, - "scope": 3874, - "src": "4650:218:7", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "external" - }, - { - "body": { - "id": 3725, - "nodeType": "Block", - "src": "5459:279:7", - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 3696, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 3689, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 3684, - "name": "sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3677, - "src": "5473:6:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 3687, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5491:1:7", - "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": 3686, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "5483:7:7", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 3685, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5483:7:7", - "typeDescriptions": {} - } - }, - "id": 3688, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5483:10:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "5473:20:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 3695, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 3690, - "name": "recipient", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3679, - "src": "5497:9:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 3693, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5518:1:7", - "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": 3692, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "5510:7:7", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 3691, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5510:7:7", - "typeDescriptions": {} - } - }, - "id": 3694, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5510:10:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "5497:23:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "5473:47:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 3700, - "nodeType": "IfStatement", - "src": "5469:76:7", - "trueBody": { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 3697, - "name": "InvalidAccount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5739, - "src": "5529:14:7", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 3698, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5529:16:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3699, - "nodeType": "RevertStatement", - "src": "5522:23:7" - } - }, - { - "expression": { - "arguments": [ - { - "id": 3702, - "name": "sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3677, - "src": "5577:6:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 3703, - "name": "recipient", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3679, - "src": "5585:9:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 3704, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3681, - "src": "5596:6:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3701, - "name": "_beforeTokenTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3873, - "src": "5556:20:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 3705, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5556:47:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3706, - "nodeType": "ExpressionStatement", - "src": "5556:47:7" - }, - { - "expression": { - "id": 3711, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 3707, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3490, - "src": "5614:9:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3709, - "indexExpression": { - "id": 3708, - "name": "sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3677, - "src": "5624:6:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5614:17:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "-=", - "rightHandSide": { - "id": 3710, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3681, - "src": "5635:6:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5614:27:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3712, - "nodeType": "ExpressionStatement", - "src": "5614:27:7" - }, - { - "expression": { - "id": 3717, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 3713, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3490, - "src": "5651:9:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3715, - "indexExpression": { - "id": 3714, - "name": "recipient", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3679, - "src": "5661:9:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5651:20:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "id": 3716, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3681, - "src": "5675:6:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5651:30:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3718, - "nodeType": "ExpressionStatement", - "src": "5651:30:7" - }, - { - "eventCall": { - "arguments": [ - { - "id": 3720, - "name": "sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3677, - "src": "5705:6:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 3721, - "name": "recipient", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3679, - "src": "5713:9:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 3722, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3681, - "src": "5724:6:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3719, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5804, - "src": "5696:8:7", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 3723, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5696:35:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3724, - "nodeType": "EmitStatement", - "src": "5691:40:7" - } - ] - }, - "documentation": { - "id": 3675, - "nodeType": "StructuredDocumentation", - "src": "4874:463:7", - "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": 3726, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_transfer", - "nameLocation": "5351:9:7", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3682, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3677, - "mutability": "mutable", - "name": "sender", - "nameLocation": "5378:6:7", - "nodeType": "VariableDeclaration", - "scope": 3726, - "src": "5370:14:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3676, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5370:7:7", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3679, - "mutability": "mutable", - "name": "recipient", - "nameLocation": "5402:9:7", - "nodeType": "VariableDeclaration", - "scope": 3726, - "src": "5394:17:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3678, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5394:7:7", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3681, - "mutability": "mutable", - "name": "amount", - "nameLocation": "5429:6:7", - "nodeType": "VariableDeclaration", - "scope": 3726, - "src": "5421:14:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3680, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5421:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "5360:81:7" - }, - "returnParameters": { - "id": 3683, - "nodeType": "ParameterList", - "parameters": [], - "src": "5459:0:7" - }, - "scope": 3874, - "src": "5342:396:7", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 3772, - "nodeType": "Block", - "src": "6074:249:7", - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 3739, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 3734, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3729, - "src": "6088:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 3737, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6107:1:7", - "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": 3736, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6099:7:7", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 3735, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6099:7:7", - "typeDescriptions": {} - } - }, - "id": 3738, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6099:10:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "6088:21:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 3743, - "nodeType": "IfStatement", - "src": "6084:50:7", - "trueBody": { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 3740, - "name": "InvalidAccount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5739, - "src": "6118:14:7", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 3741, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6118:16:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3742, - "nodeType": "RevertStatement", - "src": "6111:23:7" - } - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "hexValue": "30", - "id": 3747, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6174:1:7", - "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": 3746, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6166:7:7", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 3745, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6166:7:7", - "typeDescriptions": {} - } - }, - "id": 3748, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6166:10:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 3749, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3729, - "src": "6178:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 3750, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3731, - "src": "6187:6:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3744, - "name": "_beforeTokenTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3873, - "src": "6145:20:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 3751, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6145:49:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3752, - "nodeType": "ExpressionStatement", - "src": "6145:49:7" - }, - { - "expression": { - "id": 3755, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 3753, - "name": "totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3500, - "src": "6205:11:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "id": 3754, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3731, - "src": "6220:6:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6205:21:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3756, - "nodeType": "ExpressionStatement", - "src": "6205:21:7" - }, - { - "expression": { - "id": 3761, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 3757, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3490, - "src": "6236:9:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3759, - "indexExpression": { - "id": 3758, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3729, - "src": "6246:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6236:18:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "id": 3760, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3731, - "src": "6258:6:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6236:28:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3762, - "nodeType": "ExpressionStatement", - "src": "6236:28:7" - }, - { - "eventCall": { - "arguments": [ - { - "arguments": [ - { - "hexValue": "30", - "id": 3766, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6296:1:7", - "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": 3765, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6288:7:7", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 3764, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6288:7:7", - "typeDescriptions": {} - } - }, - "id": 3767, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6288:10:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 3768, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3729, - "src": "6300:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 3769, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3731, - "src": "6309:6:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3763, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5804, - "src": "6279:8:7", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 3770, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6279:37:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3771, - "nodeType": "EmitStatement", - "src": "6274:42:7" - } - ] - }, - "documentation": { - "id": 3727, - "nodeType": "StructuredDocumentation", - "src": "5744:260:7", - "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": 3773, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_mint", - "nameLocation": "6018:5:7", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3732, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3729, - "mutability": "mutable", - "name": "account", - "nameLocation": "6032:7:7", - "nodeType": "VariableDeclaration", - "scope": 3773, - "src": "6024:15:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3728, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6024:7:7", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3731, - "mutability": "mutable", - "name": "amount", - "nameLocation": "6049:6:7", - "nodeType": "VariableDeclaration", - "scope": 3773, - "src": "6041:14:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3730, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6041:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "6023:33:7" - }, - "returnParameters": { - "id": 3733, - "nodeType": "ParameterList", - "parameters": [], - "src": "6074:0:7" - }, - "scope": 3874, - "src": "6009:314:7", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 3819, - "nodeType": "Block", - "src": "6708:249:7", - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 3786, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 3781, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3776, - "src": "6722:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 3784, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6741:1:7", - "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": 3783, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6733:7:7", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 3782, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6733:7:7", - "typeDescriptions": {} - } - }, - "id": 3785, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6733:10:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "6722:21:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 3790, - "nodeType": "IfStatement", - "src": "6718:50:7", - "trueBody": { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 3787, - "name": "InvalidAccount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5739, - "src": "6752:14:7", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 3788, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6752:16:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3789, - "nodeType": "RevertStatement", - "src": "6745:23:7" - } - }, - { - "expression": { - "arguments": [ - { - "id": 3792, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3776, - "src": "6800:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "arguments": [ - { - "hexValue": "30", - "id": 3795, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6817:1:7", - "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": 3794, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6809:7:7", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 3793, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6809:7:7", - "typeDescriptions": {} - } - }, - "id": 3796, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6809:10:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 3797, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3778, - "src": "6821:6:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3791, - "name": "_beforeTokenTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3873, - "src": "6779:20:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 3798, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6779:49:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3799, - "nodeType": "ExpressionStatement", - "src": "6779:49:7" - }, - { - "expression": { - "id": 3804, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 3800, - "name": "balanceOf", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3490, - "src": "6839:9:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3802, - "indexExpression": { - "id": 3801, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3776, - "src": "6849:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6839:18:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "-=", - "rightHandSide": { - "id": 3803, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3778, - "src": "6861:6:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6839:28:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3805, - "nodeType": "ExpressionStatement", - "src": "6839:28:7" - }, - { - "expression": { - "id": 3808, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 3806, - "name": "totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3500, - "src": "6877:11:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "-=", - "rightHandSide": { - "id": 3807, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3778, - "src": "6892:6:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6877:21:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3809, - "nodeType": "ExpressionStatement", - "src": "6877:21:7" - }, - { - "eventCall": { - "arguments": [ - { - "id": 3811, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3776, - "src": "6922:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "arguments": [ - { - "hexValue": "30", - "id": 3814, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6939:1:7", - "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": 3813, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6931:7:7", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 3812, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6931:7:7", - "typeDescriptions": {} - } - }, - "id": 3815, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6931:10:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 3816, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3778, - "src": "6943:6:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3810, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5804, - "src": "6913:8:7", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 3817, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6913:37:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3818, - "nodeType": "EmitStatement", - "src": "6908:42:7" - } - ] - }, - "documentation": { - "id": 3774, - "nodeType": "StructuredDocumentation", - "src": "6329:309:7", - "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": 3820, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_burn", - "nameLocation": "6652:5:7", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3779, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3776, - "mutability": "mutable", - "name": "account", - "nameLocation": "6666:7:7", - "nodeType": "VariableDeclaration", - "scope": 3820, - "src": "6658:15:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3775, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6658:7:7", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3778, - "mutability": "mutable", - "name": "amount", - "nameLocation": "6683:6:7", - "nodeType": "VariableDeclaration", - "scope": 3820, - "src": "6675:14:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3777, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6675:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "6657:33:7" - }, - "returnParameters": { - "id": 3780, - "nodeType": "ParameterList", - "parameters": [], - "src": "6708:0:7" - }, - "scope": 3874, - "src": "6643:314:7", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 3861, - "nodeType": "Block", - "src": "7493:182:7", - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 3842, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 3835, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 3830, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3823, - "src": "7507:5:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 3833, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7524:1:7", - "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": 3832, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7516:7:7", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 3831, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7516:7:7", - "typeDescriptions": {} - } - }, - "id": 3834, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7516:10:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "7507:19:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 3841, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 3836, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3825, - "src": "7530:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 3839, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7549:1:7", - "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": 3838, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7541:7:7", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 3837, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7541:7:7", - "typeDescriptions": {} - } - }, - "id": 3840, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7541:10:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "7530:21:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "7507:44:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 3846, - "nodeType": "IfStatement", - "src": "7503:73:7", - "trueBody": { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 3843, - "name": "InvalidAccount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5739, - "src": "7560:14:7", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 3844, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7560:16:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3845, - "nodeType": "RevertStatement", - "src": "7553:23:7" - } - }, - { - "expression": { - "id": 3853, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "baseExpression": { - "id": 3847, - "name": "allowance", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3497, - "src": "7587:9:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 3850, - "indexExpression": { - "id": 3848, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3823, - "src": "7597:5:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7587:16:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3851, - "indexExpression": { - "id": 3849, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3825, - "src": "7604:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7587:25:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 3852, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3827, - "src": "7615:6:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7587:34:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3854, - "nodeType": "ExpressionStatement", - "src": "7587:34:7" - }, - { - "eventCall": { - "arguments": [ - { - "id": 3856, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3823, - "src": "7645:5:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 3857, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3825, - "src": "7652:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 3858, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3827, - "src": "7661:6:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3855, - "name": "Approval", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5813, - "src": "7636:8:7", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 3859, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7636:32:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3860, - "nodeType": "EmitStatement", - "src": "7631:37:7" - } - ] - }, - "documentation": { - "id": 3821, - "nodeType": "StructuredDocumentation", - "src": "6963:412:7", - "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": 3862, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_approve", - "nameLocation": "7389:8:7", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3828, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3823, - "mutability": "mutable", - "name": "owner", - "nameLocation": "7415:5:7", - "nodeType": "VariableDeclaration", - "scope": 3862, - "src": "7407:13:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3822, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7407:7:7", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3825, - "mutability": "mutable", - "name": "spender", - "nameLocation": "7438:7:7", - "nodeType": "VariableDeclaration", - "scope": 3862, - "src": "7430:15:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3824, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7430:7:7", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3827, - "mutability": "mutable", - "name": "amount", - "nameLocation": "7463:6:7", - "nodeType": "VariableDeclaration", - "scope": 3862, - "src": "7455:14:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3826, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7455:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "7397:78:7" - }, - "returnParameters": { - "id": 3829, - "nodeType": "ParameterList", - "parameters": [], - "src": "7493:0:7" - }, - "scope": 3874, - "src": "7380:295:7", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 3872, - "nodeType": "Block", - "src": "8381:2:7", - "statements": [] - }, - "documentation": { - "id": 3863, - "nodeType": "StructuredDocumentation", - "src": "7681:576:7", - "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": 3873, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_beforeTokenTransfer", - "nameLocation": "8271:20:7", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3870, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3865, - "mutability": "mutable", - "name": "from", - "nameLocation": "8309:4:7", - "nodeType": "VariableDeclaration", - "scope": 3873, - "src": "8301:12:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3864, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8301:7:7", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3867, - "mutability": "mutable", - "name": "to", - "nameLocation": "8331:2:7", - "nodeType": "VariableDeclaration", - "scope": 3873, - "src": "8323:10:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3866, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8323:7:7", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3869, - "mutability": "mutable", - "name": "amount", - "nameLocation": "8351:6:7", - "nodeType": "VariableDeclaration", - "scope": 3873, - "src": "8343:14:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3868, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8343:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "8291:72:7" - }, - "returnParameters": { - "id": 3871, - "nodeType": "ParameterList", - "parameters": [], - "src": "8381:0:7" - }, - "scope": 3874, - "src": "8262:121:7", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - } - ], - "scope": 3875, - "src": "1271:7114:7", - "usedErrors": [ - 5739 - ] - } - ], - "src": "33:8353:7" - }, - "id": 7 - }, - "@axelar-network/axelar-cgp-solidity/contracts/ERC20Permit.sol": { - "ast": { - "absolutePath": "@axelar-network/axelar-cgp-solidity/contracts/ERC20Permit.sol", - "exportedSymbols": { - "ERC20": [ - 3874 - ], - "ERC20Permit": [ - 4044 - ], - "IERC20": [ - 5814 - ], - "IERC20Permit": [ - 5864 - ] - }, - "id": 4045, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 3876, - "literals": [ - "solidity", - "0.8", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "33:22:8" - }, - { - "absolutePath": "@axelar-network/axelar-cgp-solidity/contracts/interfaces/IERC20.sol", - "file": "./interfaces/IERC20.sol", - "id": 3878, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 4045, - "sourceUnit": 5815, - "src": "57:49:8", - "symbolAliases": [ - { - "foreign": { - "id": 3877, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "src": "66:6:8", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "absolutePath": "@axelar-network/axelar-cgp-solidity/contracts/interfaces/IERC20Permit.sol", - "file": "./interfaces/IERC20Permit.sol", - "id": 3880, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 4045, - "sourceUnit": 5865, - "src": "107:61:8", - "symbolAliases": [ - { - "foreign": { - "id": 3879, - "name": "IERC20Permit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "src": "116:12:8", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "absolutePath": "@axelar-network/axelar-cgp-solidity/contracts/ERC20.sol", - "file": "./ERC20.sol", - "id": 3882, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 4045, - "sourceUnit": 3875, - "src": "170:36:8", - "symbolAliases": [ - { - "foreign": { - "id": 3881, - "name": "ERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "src": "179:5:8", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "abstract": true, - "baseContracts": [ - { - "baseName": { - "id": 3883, - "name": "IERC20", - "nodeType": "IdentifierPath", - "referencedDeclaration": 5814, - "src": "241:6:8" - }, - "id": 3884, - "nodeType": "InheritanceSpecifier", - "src": "241:6:8" - }, - { - "baseName": { - "id": 3885, - "name": "IERC20Permit", - "nodeType": "IdentifierPath", - "referencedDeclaration": 5864, - "src": "249:12:8" - }, - "id": 3886, - "nodeType": "InheritanceSpecifier", - "src": "249:12:8" - }, - { - "baseName": { - "id": 3887, - "name": "ERC20", - "nodeType": "IdentifierPath", - "referencedDeclaration": 3874, - "src": "263:5:8" - }, - "id": 3888, - "nodeType": "InheritanceSpecifier", - "src": "263:5:8" - } - ], - "canonicalName": "ERC20Permit", - "contractDependencies": [], - "contractKind": "contract", - "fullyImplemented": false, - "id": 4044, - "linearizedBaseContracts": [ - 4044, - 3874, - 5864, - 5814 - ], - "name": "ERC20Permit", - "nameLocation": "226:11:8", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 3890, - "name": "PermitExpired", - "nameLocation": "281:13:8", - "nodeType": "ErrorDefinition", - "parameters": { - "id": 3889, - "nodeType": "ParameterList", - "parameters": [], - "src": "294:2:8" - }, - "src": "275:22:8" - }, - { - "id": 3892, - "name": "InvalidS", - "nameLocation": "308:8:8", - "nodeType": "ErrorDefinition", - "parameters": { - "id": 3891, - "nodeType": "ParameterList", - "parameters": [], - "src": "316:2:8" - }, - "src": "302:17:8" - }, - { - "id": 3894, - "name": "InvalidV", - "nameLocation": "330:8:8", - "nodeType": "ErrorDefinition", - "parameters": { - "id": 3893, - "nodeType": "ParameterList", - "parameters": [], - "src": "338:2:8" - }, - "src": "324:17:8" - }, - { - "id": 3896, - "name": "InvalidSignature", - "nameLocation": "352:16:8", - "nodeType": "ErrorDefinition", - "parameters": { - "id": 3895, - "nodeType": "ParameterList", - "parameters": [], - "src": "368:2:8" - }, - "src": "346:25:8" - }, - { - "baseFunctions": [ - 5839 - ], - "constant": false, - "functionSelector": "3644e515", - "id": 3898, - "mutability": "immutable", - "name": "DOMAIN_SEPARATOR", - "nameLocation": "402:16:8", - "nodeType": "VariableDeclaration", - "scope": 4044, - "src": "377:41:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 3897, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "377:7:8", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "public" - }, - { - "constant": true, - "id": 3901, - "mutability": "constant", - "name": "EIP191_PREFIX_FOR_EIP712_STRUCTURED_DATA", - "nameLocation": "449:40:8", - "nodeType": "VariableDeclaration", - "scope": 4044, - "src": "425:77:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 3899, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "425:6:8", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "hexValue": "1901", - "id": 3900, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "492:10:8", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541", - "typeString": "literal_string hex\"1901\"" - }, - "value": "\u0019\u0001" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 3907, - "mutability": "constant", - "name": "DOMAIN_TYPE_SIGNATURE_HASH", - "nameLocation": "637:26:8", - "nodeType": "VariableDeclaration", - "scope": 4044, - "src": "612:129:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 3902, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "612:7:8", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "arguments": [ - { - "hexValue": "307838623733633363363962623866653364353132656363346366373539636337393233396637623137396230666661636161396137356435323262333934303066", - "id": 3905, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "674:66:8", - "typeDescriptions": { - "typeIdentifier": "t_rational_63076024560530113402979550242307453568063438748328787417531900361828837441551_by_1", - "typeString": "int_const 6307...(69 digits omitted)...1551" - }, - "value": "0x8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_63076024560530113402979550242307453568063438748328787417531900361828837441551_by_1", - "typeString": "int_const 6307...(69 digits omitted)...1551" - } - ], - "id": 3904, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "666:7:8", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes32_$", - "typeString": "type(bytes32)" - }, - "typeName": { - "id": 3903, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "666:7:8", - "typeDescriptions": {} - } - }, - "id": 3906, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "666:75:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "private" - }, - { - "constant": true, - "id": 3913, - "mutability": "constant", - "name": "PERMIT_SIGNATURE_HASH", - "nameLocation": "876:21:8", - "nodeType": "VariableDeclaration", - "scope": 4044, - "src": "851:124:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 3908, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "851:7:8", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "arguments": [ - { - "hexValue": "307836653731656461653132623162393766346431663630333730666566313031303566613266616165303132363131346131363963363438343564363132366339", - "id": 3911, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "908:66:8", - "typeDescriptions": { - "typeIdentifier": "t_rational_49955707469362902507454157297736832118868343942642399513960811609542965143241_by_1", - "typeString": "int_const 4995...(69 digits omitted)...3241" - }, - "value": "0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_49955707469362902507454157297736832118868343942642399513960811609542965143241_by_1", - "typeString": "int_const 4995...(69 digits omitted)...3241" - } - ], - "id": 3910, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "900:7:8", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes32_$", - "typeString": "type(bytes32)" - }, - "typeName": { - "id": 3909, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "900:7:8", - "typeDescriptions": {} - } - }, - "id": 3912, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "900:75:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "private" - }, - { - "baseFunctions": [ - 5846 - ], - "constant": false, - "functionSelector": "7ecebe00", - "id": 3917, - "mutability": "mutable", - "name": "nonces", - "nameLocation": "1017:6:8", - "nodeType": "VariableDeclaration", - "scope": 4044, - "src": "982:41:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 3916, - "keyType": { - "id": 3914, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "990:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "982:27:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 3915, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1001:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "visibility": "public" - }, - { - "body": { - "id": 3949, - "nodeType": "Block", - "src": "1062:184:8", - "statements": [ - { - "expression": { - "id": 3947, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 3922, - "name": "DOMAIN_SEPARATOR", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3898, - "src": "1072:16:8", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "arguments": [ - { - "id": 3926, - "name": "DOMAIN_TYPE_SIGNATURE_HASH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3907, - "src": "1125:26:8", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "arguments": [ - { - "arguments": [ - { - "id": 3930, - "name": "name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3919, - "src": "1169:4:8", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 3929, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1163:5:8", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", - "typeString": "type(bytes storage pointer)" - }, - "typeName": { - "id": 3928, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "1163:5:8", - "typeDescriptions": {} - } - }, - "id": 3931, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1163:11:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 3927, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "1153:9:8", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 3932, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1153:22:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "arguments": [ - { - "arguments": [ - { - "hexValue": "31", - "id": 3936, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1193:3:8", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6", - "typeString": "literal_string \"1\"" - }, - "value": "1" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_c89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6", - "typeString": "literal_string \"1\"" - } - ], - "id": 3935, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1187:5:8", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", - "typeString": "type(bytes storage pointer)" - }, - "typeName": { - "id": 3934, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "1187:5:8", - "typeDescriptions": {} - } - }, - "id": 3937, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1187:10:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 3933, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "1177:9:8", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 3938, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1177:21:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "expression": { - "id": 3939, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "1200:5:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 3940, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "chainid", - "nodeType": "MemberAccess", - "src": "1200:13:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "arguments": [ - { - "id": 3943, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "1223:4:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20Permit_$4044", - "typeString": "contract ERC20Permit" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ERC20Permit_$4044", - "typeString": "contract ERC20Permit" - } - ], - "id": 3942, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1215:7:8", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 3941, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1215:7:8", - "typeDescriptions": {} - } - }, - "id": 3944, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1215:13:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "id": 3924, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "1114:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 3925, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encode", - "nodeType": "MemberAccess", - "src": "1114:10:8", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 3945, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1114:115:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 3923, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "1091:9:8", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 3946, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1091:148:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "src": "1072:167:8", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "id": 3948, - "nodeType": "ExpressionStatement", - "src": "1072:167:8" - } - ] - }, - "id": 3950, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3920, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3919, - "mutability": "mutable", - "name": "name", - "nameLocation": "1056:4:8", - "nodeType": "VariableDeclaration", - "scope": 3950, - "src": "1042:18:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 3918, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1042:6:8", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "1041:20:8" - }, - "returnParameters": { - "id": 3921, - "nodeType": "ParameterList", - "parameters": [], - "src": "1062:0:8" - }, - "scope": 4044, - "src": "1030:216:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "baseFunctions": [ - 5863 - ], - "body": { - "id": 4042, - "nodeType": "Block", - "src": "1436:766:8", - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3970, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 3967, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "1450:5:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 3968, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "src": "1450:15:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "id": 3969, - "name": "deadline", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3958, - "src": "1468:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1450:26:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 3974, - "nodeType": "IfStatement", - "src": "1446:54:8", - "trueBody": { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 3971, - "name": "PermitExpired", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3890, - "src": "1485:13:8", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 3972, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1485:15:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3973, - "nodeType": "RevertStatement", - "src": "1478:22:8" - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3980, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [ - { - "id": 3977, - "name": "s", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3964, - "src": "1523:1:8", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 3976, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1515:7:8", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 3975, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1515:7:8", - "typeDescriptions": {} - } - }, - "id": 3978, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1515:10:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "307837464646464646464646464646464646464646464646464646464646464646463544353736453733353741343530314444464539324634363638314232304130", - "id": 3979, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1528:66:8", - "typeDescriptions": { - "typeIdentifier": "t_rational_57896044618658097711785492504343953926418782139537452191302581570759080747168_by_1", - "typeString": "int_const 5789...(69 digits omitted)...7168" - }, - "value": "0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5D576E7357A4501DDFE92F46681B20A0" - }, - "src": "1515:79:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 3984, - "nodeType": "IfStatement", - "src": "1511:102:8", - "trueBody": { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 3981, - "name": "InvalidS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3892, - "src": "1603:8:8", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 3982, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1603:10:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3983, - "nodeType": "RevertStatement", - "src": "1596:17:8" - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 3991, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "id": 3987, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 3985, - "name": "v", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3960, - "src": "1628:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "hexValue": "3237", - "id": 3986, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1633:2:8", - "typeDescriptions": { - "typeIdentifier": "t_rational_27_by_1", - "typeString": "int_const 27" - }, - "value": "27" - }, - "src": "1628:7:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "id": 3990, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 3988, - "name": "v", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3960, - "src": "1639:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "hexValue": "3238", - "id": 3989, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1644:2:8", - "typeDescriptions": { - "typeIdentifier": "t_rational_28_by_1", - "typeString": "int_const 28" - }, - "value": "28" - }, - "src": "1639:7:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "1628:18:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 3995, - "nodeType": "IfStatement", - "src": "1624:41:8", - "trueBody": { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 3992, - "name": "InvalidV", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3894, - "src": "1655:8:8", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 3993, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1655:10:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3994, - "nodeType": "RevertStatement", - "src": "1648:17:8" - } - }, - { - "assignments": [ - 3997 - ], - "declarations": [ - { - "constant": false, - "id": 3997, - "mutability": "mutable", - "name": "digest", - "nameLocation": "1684:6:8", - "nodeType": "VariableDeclaration", - "scope": 4042, - "src": "1676:14:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 3996, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1676:7:8", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "id": 4019, - "initialValue": { - "arguments": [ - { - "arguments": [ - { - "id": 4001, - "name": "EIP191_PREFIX_FOR_EIP712_STRUCTURED_DATA", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3901, - "src": "1750:40:8", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "id": 4002, - "name": "DOMAIN_SEPARATOR", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3898, - "src": "1808:16:8", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "arguments": [ - { - "arguments": [ - { - "id": 4006, - "name": "PERMIT_SIGNATURE_HASH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3913, - "src": "1863:21:8", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 4007, - "name": "issuer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3952, - "src": "1886:6:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 4008, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3954, - "src": "1894:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 4009, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3956, - "src": "1903:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 4013, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "1910:16:8", - "subExpression": { - "baseExpression": { - "id": 4010, - "name": "nonces", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3917, - "src": "1910:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 4012, - "indexExpression": { - "id": 4011, - "name": "issuer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3952, - "src": "1917:6:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1910:14:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 4014, - "name": "deadline", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3958, - "src": "1928:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 4004, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "1852:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 4005, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encode", - "nodeType": "MemberAccess", - "src": "1852:10:8", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 4015, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1852:85:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 4003, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "1842:9:8", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 4016, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1842:96:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "id": 3999, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "1716:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 4000, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "src": "1716:16:8", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 4017, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1716:236:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 3998, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "1693:9:8", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 4018, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1693:269:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1676:286:8" - }, - { - "assignments": [ - 4021 - ], - "declarations": [ - { - "constant": false, - "id": 4021, - "mutability": "mutable", - "name": "recoveredAddress", - "nameLocation": "1981:16:8", - "nodeType": "VariableDeclaration", - "scope": 4042, - "src": "1973:24:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4020, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1973:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "id": 4028, - "initialValue": { - "arguments": [ - { - "id": 4023, - "name": "digest", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3997, - "src": "2010:6:8", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 4024, - "name": "v", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3960, - "src": "2018:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - { - "id": 4025, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3962, - "src": "2021:1:8", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 4026, - "name": "s", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3964, - "src": "2024:1:8", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 4022, - "name": "ecrecover", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -6, - "src": "2000:9:8", - "typeDescriptions": { - "typeIdentifier": "t_function_ecrecover_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$", - "typeString": "function (bytes32,uint8,bytes32,bytes32) pure returns (address)" - } - }, - "id": 4027, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2000:26:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1973:53:8" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 4031, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 4029, - "name": "recoveredAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4021, - "src": "2041:16:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "id": 4030, - "name": "issuer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3952, - "src": "2061:6:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "2041:26:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 4035, - "nodeType": "IfStatement", - "src": "2037:57:8", - "trueBody": { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 4032, - "name": "InvalidSignature", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3896, - "src": "2076:16:8", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 4033, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2076:18:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4034, - "nodeType": "RevertStatement", - "src": "2069:25:8" - } - }, - { - "expression": { - "arguments": [ - { - "id": 4037, - "name": "issuer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3952, - "src": "2172:6:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 4038, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3954, - "src": "2180:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 4039, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3956, - "src": "2189:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 4036, - "name": "_approve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3862, - "src": "2163:8:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 4040, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2163:32:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4041, - "nodeType": "ExpressionStatement", - "src": "2163:32:8" - } - ] - }, - "functionSelector": "d505accf", - "id": 4043, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "permit", - "nameLocation": "1261:6:8", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3965, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3952, - "mutability": "mutable", - "name": "issuer", - "nameLocation": "1285:6:8", - "nodeType": "VariableDeclaration", - "scope": 4043, - "src": "1277:14:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3951, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1277:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3954, - "mutability": "mutable", - "name": "spender", - "nameLocation": "1309:7:8", - "nodeType": "VariableDeclaration", - "scope": 4043, - "src": "1301:15:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3953, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1301:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3956, - "mutability": "mutable", - "name": "value", - "nameLocation": "1334:5:8", - "nodeType": "VariableDeclaration", - "scope": 4043, - "src": "1326:13:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3955, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1326:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3958, - "mutability": "mutable", - "name": "deadline", - "nameLocation": "1357:8:8", - "nodeType": "VariableDeclaration", - "scope": 4043, - "src": "1349:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3957, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1349:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3960, - "mutability": "mutable", - "name": "v", - "nameLocation": "1381:1:8", - "nodeType": "VariableDeclaration", - "scope": 4043, - "src": "1375:7:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 3959, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "1375:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3962, - "mutability": "mutable", - "name": "r", - "nameLocation": "1400:1:8", - "nodeType": "VariableDeclaration", - "scope": 4043, - "src": "1392:9:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 3961, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1392:7:8", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3964, - "mutability": "mutable", - "name": "s", - "nameLocation": "1419:1:8", - "nodeType": "VariableDeclaration", - "scope": 4043, - "src": "1411:9:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 3963, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1411:7:8", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "1267:159:8" - }, - "returnParameters": { - "id": 3966, - "nodeType": "ParameterList", - "parameters": [], - "src": "1436:0:8" - }, - "scope": 4044, - "src": "1252:950:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 4045, - "src": "208:1996:8", - "usedErrors": [ - 3890, - 3892, - 3894, - 3896, - 5739 - ] - } - ], - "src": "33:2172:8" - }, - "id": 8 - }, - "@axelar-network/axelar-cgp-solidity/contracts/EternalStorage.sol": { - "ast": { - "absolutePath": "@axelar-network/axelar-cgp-solidity/contracts/EternalStorage.sol", - "exportedSymbols": { - "EternalStorage": [ - 4294 - ] - }, - "id": 4295, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 4046, - "literals": [ - "solidity", - "0.8", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "33:22:9" - }, - { - "abstract": false, - "baseContracts": [], - "canonicalName": "EternalStorage", - "contractDependencies": [], - "contractKind": "contract", - "documentation": { - "id": 4047, - "nodeType": "StructuredDocumentation", - "src": "57:136:9", - "text": " @title EternalStorage\n @dev This contract holds all the necessary state variables to carry out the storage of any contract." - }, - "fullyImplemented": true, - "id": 4294, - "linearizedBaseContracts": [ - 4294 - ], - "name": "EternalStorage", - "nameLocation": "203:14:9", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "id": 4051, - "mutability": "mutable", - "name": "_uintStorage", - "nameLocation": "260:12:9", - "nodeType": "VariableDeclaration", - "scope": 4294, - "src": "224:48:9", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - }, - "typeName": { - "id": 4050, - "keyType": { - "id": 4048, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "232:7:9", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "Mapping", - "src": "224:27:9", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - }, - "valueType": { - "id": 4049, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "243:7:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "visibility": "private" - }, - { - "constant": false, - "id": 4055, - "mutability": "mutable", - "name": "_stringStorage", - "nameLocation": "313:14:9", - "nodeType": "VariableDeclaration", - "scope": 4294, - "src": "278:49:9", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_string_storage_$", - "typeString": "mapping(bytes32 => string)" - }, - "typeName": { - "id": 4054, - "keyType": { - "id": 4052, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "286:7:9", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "Mapping", - "src": "278:26:9", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_string_storage_$", - "typeString": "mapping(bytes32 => string)" - }, - "valueType": { - "id": 4053, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "297:6:9", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - } - }, - "visibility": "private" - }, - { - "constant": false, - "id": 4059, - "mutability": "mutable", - "name": "_addressStorage", - "nameLocation": "369:15:9", - "nodeType": "VariableDeclaration", - "scope": 4294, - "src": "333:51:9", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_address_$", - "typeString": "mapping(bytes32 => address)" - }, - "typeName": { - "id": 4058, - "keyType": { - "id": 4056, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "341:7:9", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "Mapping", - "src": "333:27:9", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_address_$", - "typeString": "mapping(bytes32 => address)" - }, - "valueType": { - "id": 4057, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "352:7:9", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - }, - "visibility": "private" - }, - { - "constant": false, - "id": 4063, - "mutability": "mutable", - "name": "_bytesStorage", - "nameLocation": "424:13:9", - "nodeType": "VariableDeclaration", - "scope": 4294, - "src": "390:47:9", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_bytes_storage_$", - "typeString": "mapping(bytes32 => bytes)" - }, - "typeName": { - "id": 4062, - "keyType": { - "id": 4060, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "398:7:9", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "Mapping", - "src": "390:25:9", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_bytes_storage_$", - "typeString": "mapping(bytes32 => bytes)" - }, - "valueType": { - "id": 4061, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "409:5:9", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - } - }, - "visibility": "private" - }, - { - "constant": false, - "id": 4067, - "mutability": "mutable", - "name": "_boolStorage", - "nameLocation": "476:12:9", - "nodeType": "VariableDeclaration", - "scope": 4294, - "src": "443:45:9", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$", - "typeString": "mapping(bytes32 => bool)" - }, - "typeName": { - "id": 4066, - "keyType": { - "id": 4064, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "451:7:9", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "Mapping", - "src": "443:24:9", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$", - "typeString": "mapping(bytes32 => bool)" - }, - "valueType": { - "id": 4065, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "462:4:9", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - }, - "visibility": "private" - }, - { - "constant": false, - "id": 4071, - "mutability": "mutable", - "name": "_intStorage", - "nameLocation": "529:11:9", - "nodeType": "VariableDeclaration", - "scope": 4294, - "src": "494:46:9", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_int256_$", - "typeString": "mapping(bytes32 => int256)" - }, - "typeName": { - "id": 4070, - "keyType": { - "id": 4068, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "502:7:9", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "Mapping", - "src": "494:26:9", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_int256_$", - "typeString": "mapping(bytes32 => int256)" - }, - "valueType": { - "id": 4069, - "name": "int256", - "nodeType": "ElementaryTypeName", - "src": "513:6:9", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - } - }, - "visibility": "private" - }, - { - "body": { - "id": 4082, - "nodeType": "Block", - "src": "637:41:9", - "statements": [ - { - "expression": { - "baseExpression": { - "id": 4078, - "name": "_uintStorage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4051, - "src": "654:12:9", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - } - }, - "id": 4080, - "indexExpression": { - "id": 4079, - "name": "key", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4073, - "src": "667:3:9", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "654:17:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 4077, - "id": 4081, - "nodeType": "Return", - "src": "647:24:9" - } - ] - }, - "functionSelector": "bd02d0f5", - "id": 4083, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getUint", - "nameLocation": "586:7:9", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4074, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4073, - "mutability": "mutable", - "name": "key", - "nameLocation": "602:3:9", - "nodeType": "VariableDeclaration", - "scope": 4083, - "src": "594:11:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4072, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "594:7:9", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "593:13:9" - }, - "returnParameters": { - "id": 4077, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4076, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 4083, - "src": "628:7:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4075, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "628:7:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "627:9:9" - }, - "scope": 4294, - "src": "577:101:9", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 4094, - "nodeType": "Block", - "src": "752:43:9", - "statements": [ - { - "expression": { - "baseExpression": { - "id": 4090, - "name": "_stringStorage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4055, - "src": "769:14:9", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_string_storage_$", - "typeString": "mapping(bytes32 => string storage ref)" - } - }, - "id": 4092, - "indexExpression": { - "id": 4091, - "name": "key", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4085, - "src": "784:3:9", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "769:19:9", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "functionReturnParameters": 4089, - "id": 4093, - "nodeType": "Return", - "src": "762:26:9" - } - ] - }, - "functionSelector": "986e791a", - "id": 4095, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getString", - "nameLocation": "693:9:9", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4086, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4085, - "mutability": "mutable", - "name": "key", - "nameLocation": "711:3:9", - "nodeType": "VariableDeclaration", - "scope": 4095, - "src": "703:11:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4084, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "703:7:9", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "702:13:9" - }, - "returnParameters": { - "id": 4089, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4088, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 4095, - "src": "737:13:9", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 4087, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "737:6:9", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "736:15:9" - }, - "scope": 4294, - "src": "684:111:9", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 4106, - "nodeType": "Block", - "src": "864:44:9", - "statements": [ - { - "expression": { - "baseExpression": { - "id": 4102, - "name": "_addressStorage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4059, - "src": "881:15:9", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_address_$", - "typeString": "mapping(bytes32 => address)" - } - }, - "id": 4104, - "indexExpression": { - "id": 4103, - "name": "key", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4097, - "src": "897:3:9", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "881:20:9", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "functionReturnParameters": 4101, - "id": 4105, - "nodeType": "Return", - "src": "874:27:9" - } - ] - }, - "functionSelector": "21f8a721", - "id": 4107, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getAddress", - "nameLocation": "810:10:9", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4098, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4097, - "mutability": "mutable", - "name": "key", - "nameLocation": "829:3:9", - "nodeType": "VariableDeclaration", - "scope": 4107, - "src": "821:11:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4096, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "821:7:9", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "820:13:9" - }, - "returnParameters": { - "id": 4101, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4100, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 4107, - "src": "855:7:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4099, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "855:7:9", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "854:9:9" - }, - "scope": 4294, - "src": "801:107:9", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 4118, - "nodeType": "Block", - "src": "980:42:9", - "statements": [ - { - "expression": { - "baseExpression": { - "id": 4114, - "name": "_bytesStorage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4063, - "src": "997:13:9", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_bytes_storage_$", - "typeString": "mapping(bytes32 => bytes storage ref)" - } - }, - "id": 4116, - "indexExpression": { - "id": 4115, - "name": "key", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4109, - "src": "1011:3:9", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "997:18:9", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage", - "typeString": "bytes storage ref" - } - }, - "functionReturnParameters": 4113, - "id": 4117, - "nodeType": "Return", - "src": "990:25:9" - } - ] - }, - "functionSelector": "c031a180", - "id": 4119, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getBytes", - "nameLocation": "923:8:9", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4110, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4109, - "mutability": "mutable", - "name": "key", - "nameLocation": "940:3:9", - "nodeType": "VariableDeclaration", - "scope": 4119, - "src": "932:11:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4108, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "932:7:9", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "931:13:9" - }, - "returnParameters": { - "id": 4113, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4112, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 4119, - "src": "966:12:9", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 4111, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "966:5:9", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "965:14:9" - }, - "scope": 4294, - "src": "914:108:9", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 4130, - "nodeType": "Block", - "src": "1085:41:9", - "statements": [ - { - "expression": { - "baseExpression": { - "id": 4126, - "name": "_boolStorage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4067, - "src": "1102:12:9", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$", - "typeString": "mapping(bytes32 => bool)" - } - }, - "id": 4128, - "indexExpression": { - "id": 4127, - "name": "key", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4121, - "src": "1115:3:9", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1102:17:9", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 4125, - "id": 4129, - "nodeType": "Return", - "src": "1095:24:9" - } - ] - }, - "functionSelector": "7ae1cfca", - "id": 4131, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getBool", - "nameLocation": "1037:7:9", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4122, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4121, - "mutability": "mutable", - "name": "key", - "nameLocation": "1053:3:9", - "nodeType": "VariableDeclaration", - "scope": 4131, - "src": "1045:11:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4120, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1045:7:9", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "1044:13:9" - }, - "returnParameters": { - "id": 4125, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4124, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 4131, - "src": "1079:4:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4123, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1079:4:9", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "1078:6:9" - }, - "scope": 4294, - "src": "1028:98:9", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 4142, - "nodeType": "Block", - "src": "1190:40:9", - "statements": [ - { - "expression": { - "baseExpression": { - "id": 4138, - "name": "_intStorage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4071, - "src": "1207:11:9", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_int256_$", - "typeString": "mapping(bytes32 => int256)" - } - }, - "id": 4140, - "indexExpression": { - "id": 4139, - "name": "key", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4133, - "src": "1219:3:9", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1207:16:9", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "functionReturnParameters": 4137, - "id": 4141, - "nodeType": "Return", - "src": "1200:23:9" - } - ] - }, - "functionSelector": "dc97d962", - "id": 4143, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getInt", - "nameLocation": "1141:6:9", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4134, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4133, - "mutability": "mutable", - "name": "key", - "nameLocation": "1156:3:9", - "nodeType": "VariableDeclaration", - "scope": 4143, - "src": "1148:11:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4132, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1148:7:9", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "1147:13:9" - }, - "returnParameters": { - "id": 4137, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4136, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 4143, - "src": "1182:6:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - }, - "typeName": { - "id": 4135, - "name": "int256", - "nodeType": "ElementaryTypeName", - "src": "1182:6:9", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "visibility": "internal" - } - ], - "src": "1181:8:9" - }, - "scope": 4294, - "src": "1132:98:9", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 4156, - "nodeType": "Block", - "src": "1321:42:9", - "statements": [ - { - "expression": { - "id": 4154, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 4150, - "name": "_uintStorage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4051, - "src": "1331:12:9", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - } - }, - "id": 4152, - "indexExpression": { - "id": 4151, - "name": "key", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4145, - "src": "1344:3:9", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1331:17:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 4153, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4147, - "src": "1351:5:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1331:25:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4155, - "nodeType": "ExpressionStatement", - "src": "1331:25:9" - } - ] - }, - "id": 4157, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_setUint", - "nameLocation": "1275:8:9", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4148, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4145, - "mutability": "mutable", - "name": "key", - "nameLocation": "1292:3:9", - "nodeType": "VariableDeclaration", - "scope": 4157, - "src": "1284:11:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4144, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1284:7:9", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4147, - "mutability": "mutable", - "name": "value", - "nameLocation": "1305:5:9", - "nodeType": "VariableDeclaration", - "scope": 4157, - "src": "1297:13:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4146, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1297:7:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1283:28:9" - }, - "returnParameters": { - "id": 4149, - "nodeType": "ParameterList", - "parameters": [], - "src": "1321:0:9" - }, - "scope": 4294, - "src": "1266:97:9", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 4170, - "nodeType": "Block", - "src": "1432:44:9", - "statements": [ - { - "expression": { - "id": 4168, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 4164, - "name": "_stringStorage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4055, - "src": "1442:14:9", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_string_storage_$", - "typeString": "mapping(bytes32 => string storage ref)" - } - }, - "id": 4166, - "indexExpression": { - "id": 4165, - "name": "key", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4159, - "src": "1457:3:9", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1442:19:9", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 4167, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4161, - "src": "1464:5:9", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "1442:27:9", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 4169, - "nodeType": "ExpressionStatement", - "src": "1442:27:9" - } - ] - }, - "id": 4171, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_setString", - "nameLocation": "1378:10:9", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4162, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4159, - "mutability": "mutable", - "name": "key", - "nameLocation": "1397:3:9", - "nodeType": "VariableDeclaration", - "scope": 4171, - "src": "1389:11:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4158, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1389:7:9", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4161, - "mutability": "mutable", - "name": "value", - "nameLocation": "1416:5:9", - "nodeType": "VariableDeclaration", - "scope": 4171, - "src": "1402:19:9", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 4160, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1402:6:9", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "1388:34:9" - }, - "returnParameters": { - "id": 4163, - "nodeType": "ParameterList", - "parameters": [], - "src": "1432:0:9" - }, - "scope": 4294, - "src": "1369:107:9", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 4184, - "nodeType": "Block", - "src": "1540:45:9", - "statements": [ - { - "expression": { - "id": 4182, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 4178, - "name": "_addressStorage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4059, - "src": "1550:15:9", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_address_$", - "typeString": "mapping(bytes32 => address)" - } - }, - "id": 4180, - "indexExpression": { - "id": 4179, - "name": "key", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4173, - "src": "1566:3:9", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1550:20:9", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 4181, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4175, - "src": "1573:5:9", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1550:28:9", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 4183, - "nodeType": "ExpressionStatement", - "src": "1550:28:9" - } - ] - }, - "id": 4185, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_setAddress", - "nameLocation": "1491:11:9", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4176, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4173, - "mutability": "mutable", - "name": "key", - "nameLocation": "1511:3:9", - "nodeType": "VariableDeclaration", - "scope": 4185, - "src": "1503:11:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4172, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1503:7:9", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4175, - "mutability": "mutable", - "name": "value", - "nameLocation": "1524:5:9", - "nodeType": "VariableDeclaration", - "scope": 4185, - "src": "1516:13:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4174, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1516:7:9", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "1502:28:9" - }, - "returnParameters": { - "id": 4177, - "nodeType": "ParameterList", - "parameters": [], - "src": "1540:0:9" - }, - "scope": 4294, - "src": "1482:103:9", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 4198, - "nodeType": "Block", - "src": "1652:43:9", - "statements": [ - { - "expression": { - "id": 4196, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 4192, - "name": "_bytesStorage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4063, - "src": "1662:13:9", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_bytes_storage_$", - "typeString": "mapping(bytes32 => bytes storage ref)" - } - }, - "id": 4194, - "indexExpression": { - "id": 4193, - "name": "key", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4187, - "src": "1676:3:9", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1662:18:9", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage", - "typeString": "bytes storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 4195, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4189, - "src": "1683:5:9", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "src": "1662:26:9", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage", - "typeString": "bytes storage ref" - } - }, - "id": 4197, - "nodeType": "ExpressionStatement", - "src": "1662:26:9" - } - ] - }, - "id": 4199, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_setBytes", - "nameLocation": "1600:9:9", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4190, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4187, - "mutability": "mutable", - "name": "key", - "nameLocation": "1618:3:9", - "nodeType": "VariableDeclaration", - "scope": 4199, - "src": "1610:11:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4186, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1610:7:9", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4189, - "mutability": "mutable", - "name": "value", - "nameLocation": "1636:5:9", - "nodeType": "VariableDeclaration", - "scope": 4199, - "src": "1623:18:9", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 4188, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "1623:5:9", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "1609:33:9" - }, - "returnParameters": { - "id": 4191, - "nodeType": "ParameterList", - "parameters": [], - "src": "1652:0:9" - }, - "scope": 4294, - "src": "1591:104:9", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 4212, - "nodeType": "Block", - "src": "1753:42:9", - "statements": [ - { - "expression": { - "id": 4210, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 4206, - "name": "_boolStorage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4067, - "src": "1763:12:9", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$", - "typeString": "mapping(bytes32 => bool)" - } - }, - "id": 4208, - "indexExpression": { - "id": 4207, - "name": "key", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4201, - "src": "1776:3:9", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1763:17:9", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 4209, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4203, - "src": "1783:5:9", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "1763:25:9", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 4211, - "nodeType": "ExpressionStatement", - "src": "1763:25:9" - } - ] - }, - "id": 4213, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_setBool", - "nameLocation": "1710:8:9", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4204, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4201, - "mutability": "mutable", - "name": "key", - "nameLocation": "1727:3:9", - "nodeType": "VariableDeclaration", - "scope": 4213, - "src": "1719:11:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4200, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1719:7:9", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4203, - "mutability": "mutable", - "name": "value", - "nameLocation": "1737:5:9", - "nodeType": "VariableDeclaration", - "scope": 4213, - "src": "1732:10:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4202, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1732:4:9", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "1718:25:9" - }, - "returnParameters": { - "id": 4205, - "nodeType": "ParameterList", - "parameters": [], - "src": "1753:0:9" - }, - "scope": 4294, - "src": "1701:94:9", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 4226, - "nodeType": "Block", - "src": "1854:41:9", - "statements": [ - { - "expression": { - "id": 4224, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 4220, - "name": "_intStorage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4071, - "src": "1864:11:9", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_int256_$", - "typeString": "mapping(bytes32 => int256)" - } - }, - "id": 4222, - "indexExpression": { - "id": 4221, - "name": "key", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4215, - "src": "1876:3:9", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1864:16:9", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 4223, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4217, - "src": "1883:5:9", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "src": "1864:24:9", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "id": 4225, - "nodeType": "ExpressionStatement", - "src": "1864:24:9" - } - ] - }, - "id": 4227, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_setInt", - "nameLocation": "1810:7:9", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4218, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4215, - "mutability": "mutable", - "name": "key", - "nameLocation": "1826:3:9", - "nodeType": "VariableDeclaration", - "scope": 4227, - "src": "1818:11:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4214, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1818:7:9", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4217, - "mutability": "mutable", - "name": "value", - "nameLocation": "1838:5:9", - "nodeType": "VariableDeclaration", - "scope": 4227, - "src": "1831:12:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - }, - "typeName": { - "id": 4216, - "name": "int256", - "nodeType": "ElementaryTypeName", - "src": "1831:6:9", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "visibility": "internal" - } - ], - "src": "1817:27:9" - }, - "returnParameters": { - "id": 4219, - "nodeType": "ParameterList", - "parameters": [], - "src": "1854:0:9" - }, - "scope": 4294, - "src": "1801:94:9", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 4237, - "nodeType": "Block", - "src": "1974:41:9", - "statements": [ - { - "expression": { - "id": 4235, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "1984:24:9", - "subExpression": { - "baseExpression": { - "id": 4232, - "name": "_uintStorage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4051, - "src": "1991:12:9", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - } - }, - "id": 4234, - "indexExpression": { - "id": 4233, - "name": "key", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4229, - "src": "2004:3:9", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1991:17:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4236, - "nodeType": "ExpressionStatement", - "src": "1984:24:9" - } - ] - }, - "id": 4238, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_deleteUint", - "nameLocation": "1940:11:9", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4230, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4229, - "mutability": "mutable", - "name": "key", - "nameLocation": "1960:3:9", - "nodeType": "VariableDeclaration", - "scope": 4238, - "src": "1952:11:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4228, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1952:7:9", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "1951:13:9" - }, - "returnParameters": { - "id": 4231, - "nodeType": "ParameterList", - "parameters": [], - "src": "1974:0:9" - }, - "scope": 4294, - "src": "1931:84:9", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 4248, - "nodeType": "Block", - "src": "2066:43:9", - "statements": [ - { - "expression": { - "id": 4246, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "2076:26:9", - "subExpression": { - "baseExpression": { - "id": 4243, - "name": "_stringStorage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4055, - "src": "2083:14:9", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_string_storage_$", - "typeString": "mapping(bytes32 => string storage ref)" - } - }, - "id": 4245, - "indexExpression": { - "id": 4244, - "name": "key", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4240, - "src": "2098:3:9", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2083:19:9", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4247, - "nodeType": "ExpressionStatement", - "src": "2076:26:9" - } - ] - }, - "id": 4249, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_deleteString", - "nameLocation": "2030:13:9", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4241, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4240, - "mutability": "mutable", - "name": "key", - "nameLocation": "2052:3:9", - "nodeType": "VariableDeclaration", - "scope": 4249, - "src": "2044:11:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4239, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2044:7:9", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "2043:13:9" - }, - "returnParameters": { - "id": 4242, - "nodeType": "ParameterList", - "parameters": [], - "src": "2066:0:9" - }, - "scope": 4294, - "src": "2021:88:9", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 4259, - "nodeType": "Block", - "src": "2161:44:9", - "statements": [ - { - "expression": { - "id": 4257, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "2171:27:9", - "subExpression": { - "baseExpression": { - "id": 4254, - "name": "_addressStorage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4059, - "src": "2178:15:9", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_address_$", - "typeString": "mapping(bytes32 => address)" - } - }, - "id": 4256, - "indexExpression": { - "id": 4255, - "name": "key", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4251, - "src": "2194:3:9", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2178:20:9", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4258, - "nodeType": "ExpressionStatement", - "src": "2171:27:9" - } - ] - }, - "id": 4260, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_deleteAddress", - "nameLocation": "2124:14:9", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4252, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4251, - "mutability": "mutable", - "name": "key", - "nameLocation": "2147:3:9", - "nodeType": "VariableDeclaration", - "scope": 4260, - "src": "2139:11:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4250, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2139:7:9", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "2138:13:9" - }, - "returnParameters": { - "id": 4253, - "nodeType": "ParameterList", - "parameters": [], - "src": "2161:0:9" - }, - "scope": 4294, - "src": "2115:90:9", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 4270, - "nodeType": "Block", - "src": "2255:42:9", - "statements": [ - { - "expression": { - "id": 4268, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "2265:25:9", - "subExpression": { - "baseExpression": { - "id": 4265, - "name": "_bytesStorage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4063, - "src": "2272:13:9", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_bytes_storage_$", - "typeString": "mapping(bytes32 => bytes storage ref)" - } - }, - "id": 4267, - "indexExpression": { - "id": 4266, - "name": "key", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4262, - "src": "2286:3:9", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2272:18:9", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage", - "typeString": "bytes storage ref" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4269, - "nodeType": "ExpressionStatement", - "src": "2265:25:9" - } - ] - }, - "id": 4271, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_deleteBytes", - "nameLocation": "2220:12:9", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4263, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4262, - "mutability": "mutable", - "name": "key", - "nameLocation": "2241:3:9", - "nodeType": "VariableDeclaration", - "scope": 4271, - "src": "2233:11:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4261, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2233:7:9", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "2232:13:9" - }, - "returnParameters": { - "id": 4264, - "nodeType": "ParameterList", - "parameters": [], - "src": "2255:0:9" - }, - "scope": 4294, - "src": "2211:86:9", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 4281, - "nodeType": "Block", - "src": "2346:41:9", - "statements": [ - { - "expression": { - "id": 4279, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "2356:24:9", - "subExpression": { - "baseExpression": { - "id": 4276, - "name": "_boolStorage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4067, - "src": "2363:12:9", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$", - "typeString": "mapping(bytes32 => bool)" - } - }, - "id": 4278, - "indexExpression": { - "id": 4277, - "name": "key", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4273, - "src": "2376:3:9", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2363:17:9", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4280, - "nodeType": "ExpressionStatement", - "src": "2356:24:9" - } - ] - }, - "id": 4282, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_deleteBool", - "nameLocation": "2312:11:9", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4274, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4273, - "mutability": "mutable", - "name": "key", - "nameLocation": "2332:3:9", - "nodeType": "VariableDeclaration", - "scope": 4282, - "src": "2324:11:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4272, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2324:7:9", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "2323:13:9" - }, - "returnParameters": { - "id": 4275, - "nodeType": "ParameterList", - "parameters": [], - "src": "2346:0:9" - }, - "scope": 4294, - "src": "2303:84:9", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 4292, - "nodeType": "Block", - "src": "2435:40:9", - "statements": [ - { - "expression": { - "id": 4290, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "2445:23:9", - "subExpression": { - "baseExpression": { - "id": 4287, - "name": "_intStorage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4071, - "src": "2452:11:9", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_int256_$", - "typeString": "mapping(bytes32 => int256)" - } - }, - "id": 4289, - "indexExpression": { - "id": 4288, - "name": "key", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4284, - "src": "2464:3:9", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2452:16:9", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4291, - "nodeType": "ExpressionStatement", - "src": "2445:23:9" - } - ] - }, - "id": 4293, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_deleteInt", - "nameLocation": "2402:10:9", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4285, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4284, - "mutability": "mutable", - "name": "key", - "nameLocation": "2421:3:9", - "nodeType": "VariableDeclaration", - "scope": 4293, - "src": "2413:11:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4283, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2413:7:9", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "2412:13:9" - }, - "returnParameters": { - "id": 4286, - "nodeType": "ParameterList", - "parameters": [], - "src": "2435:0:9" - }, - "scope": 4294, - "src": "2393:82:9", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - } - ], - "scope": 4295, - "src": "194:2283:9", - "usedErrors": [] - } - ], - "src": "33:2445:9" - }, - "id": 9 - }, - "@axelar-network/axelar-cgp-solidity/contracts/MintableCappedERC20.sol": { - "ast": { - "absolutePath": "@axelar-network/axelar-cgp-solidity/contracts/MintableCappedERC20.sol", - "exportedSymbols": { - "ERC20": [ - 3874 - ], - "ERC20Permit": [ - 4044 - ], - "IMintableCappedERC20": [ - 5893 - ], - "MintableCappedERC20": [ - 4372 - ], - "Ownable": [ - 4438 - ] - }, - "id": 4373, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 4296, - "literals": [ - "solidity", - "0.8", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "33:22:10" - }, - { - "absolutePath": "@axelar-network/axelar-cgp-solidity/contracts/interfaces/IMintableCappedERC20.sol", - "file": "./interfaces/IMintableCappedERC20.sol", - "id": 4298, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 4373, - "sourceUnit": 5894, - "src": "57:77:10", - "symbolAliases": [ - { - "foreign": { - "id": 4297, - "name": "IMintableCappedERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "src": "66:20:10", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "absolutePath": "@axelar-network/axelar-cgp-solidity/contracts/ERC20.sol", - "file": "./ERC20.sol", - "id": 4300, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 4373, - "sourceUnit": 3875, - "src": "136:36:10", - "symbolAliases": [ - { - "foreign": { - "id": 4299, - "name": "ERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "src": "145:5:10", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "absolutePath": "@axelar-network/axelar-cgp-solidity/contracts/ERC20Permit.sol", - "file": "./ERC20Permit.sol", - "id": 4302, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 4373, - "sourceUnit": 4045, - "src": "173:48:10", - "symbolAliases": [ - { - "foreign": { - "id": 4301, - "name": "ERC20Permit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "src": "182:11:10", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "absolutePath": "@axelar-network/axelar-cgp-solidity/contracts/Ownable.sol", - "file": "./Ownable.sol", - "id": 4304, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 4373, - "sourceUnit": 4439, - "src": "222:40:10", - "symbolAliases": [ - { - "foreign": { - "id": 4303, - "name": "Ownable", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "src": "231:7:10", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "baseName": { - "id": 4305, - "name": "IMintableCappedERC20", - "nodeType": "IdentifierPath", - "referencedDeclaration": 5893, - "src": "296:20:10" - }, - "id": 4306, - "nodeType": "InheritanceSpecifier", - "src": "296:20:10" - }, - { - "baseName": { - "id": 4307, - "name": "ERC20", - "nodeType": "IdentifierPath", - "referencedDeclaration": 3874, - "src": "318:5:10" - }, - "id": 4308, - "nodeType": "InheritanceSpecifier", - "src": "318:5:10" - }, - { - "baseName": { - "id": 4309, - "name": "ERC20Permit", - "nodeType": "IdentifierPath", - "referencedDeclaration": 4044, - "src": "325:11:10" - }, - "id": 4310, - "nodeType": "InheritanceSpecifier", - "src": "325:11:10" - }, - { - "baseName": { - "id": 4311, - "name": "Ownable", - "nodeType": "IdentifierPath", - "referencedDeclaration": 4438, - "src": "338:7:10" - }, - "id": 4312, - "nodeType": "InheritanceSpecifier", - "src": "338:7:10" - } - ], - "canonicalName": "MintableCappedERC20", - "contractDependencies": [], - "contractKind": "contract", - "fullyImplemented": true, - "id": 4372, - "linearizedBaseContracts": [ - 4372, - 4438, - 4044, - 3874, - 5893, - 5916, - 5864, - 5814 - ], - "name": "MintableCappedERC20", - "nameLocation": "273:19:10", - "nodeType": "ContractDefinition", - "nodes": [ - { - "baseFunctions": [ - 5885 - ], - "constant": false, - "functionSelector": "355274ea", - "id": 4314, - "mutability": "immutable", - "name": "cap", - "nameLocation": "377:3:10", - "nodeType": "VariableDeclaration", - "scope": 4372, - "src": "352:28:10", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4313, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "352:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "public" - }, - { - "body": { - "id": 4339, - "nodeType": "Block", - "src": "571:31:10", - "statements": [ - { - "expression": { - "id": 4337, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 4335, - "name": "cap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4314, - "src": "581:3:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 4336, - "name": "capacity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4322, - "src": "587:8:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "581:14:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4338, - "nodeType": "ExpressionStatement", - "src": "581:14:10" - } - ] - }, - "id": 4340, - "implemented": true, - "kind": "constructor", - "modifiers": [ - { - "arguments": [ - { - "id": 4325, - "name": "name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4316, - "src": "519:4:10", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "id": 4326, - "name": "symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4318, - "src": "525:6:10", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "id": 4327, - "name": "decimals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4320, - "src": "533:8:10", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - ], - "id": 4328, - "kind": "baseConstructorSpecifier", - "modifierName": { - "id": 4324, - "name": "ERC20", - "nodeType": "IdentifierPath", - "referencedDeclaration": 3874, - "src": "513:5:10" - }, - "nodeType": "ModifierInvocation", - "src": "513:29:10" - }, - { - "arguments": [ - { - "id": 4330, - "name": "name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4316, - "src": "555:4:10", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "id": 4331, - "kind": "baseConstructorSpecifier", - "modifierName": { - "id": 4329, - "name": "ERC20Permit", - "nodeType": "IdentifierPath", - "referencedDeclaration": 4044, - "src": "543:11:10" - }, - "nodeType": "ModifierInvocation", - "src": "543:17:10" - }, - { - "arguments": [], - "id": 4333, - "kind": "baseConstructorSpecifier", - "modifierName": { - "id": 4332, - "name": "Ownable", - "nodeType": "IdentifierPath", - "referencedDeclaration": 4438, - "src": "561:7:10" - }, - "nodeType": "ModifierInvocation", - "src": "561:9:10" - } - ], - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4323, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4316, - "mutability": "mutable", - "name": "name", - "nameLocation": "422:4:10", - "nodeType": "VariableDeclaration", - "scope": 4340, - "src": "408:18:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 4315, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "408:6:10", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4318, - "mutability": "mutable", - "name": "symbol", - "nameLocation": "450:6:10", - "nodeType": "VariableDeclaration", - "scope": 4340, - "src": "436:20:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 4317, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "436:6:10", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4320, - "mutability": "mutable", - "name": "decimals", - "nameLocation": "472:8:10", - "nodeType": "VariableDeclaration", - "scope": 4340, - "src": "466:14:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 4319, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "466:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4322, - "mutability": "mutable", - "name": "capacity", - "nameLocation": "498:8:10", - "nodeType": "VariableDeclaration", - "scope": 4340, - "src": "490:16:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4321, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "490:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "398:114:10" - }, - "returnParameters": { - "id": 4334, - "nodeType": "ParameterList", - "parameters": [], - "src": "571:0:10" - }, - "scope": 4372, - "src": "387:215:10", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "baseFunctions": [ - 5892 - ], - "body": { - "id": 4370, - "nodeType": "Block", - "src": "674:167:10", - "statements": [ - { - "assignments": [ - 4350 - ], - "declarations": [ - { - "constant": false, - "id": 4350, - "mutability": "mutable", - "name": "capacity", - "nameLocation": "692:8:10", - "nodeType": "VariableDeclaration", - "scope": 4370, - "src": "684:16:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4349, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "684:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 4352, - "initialValue": { - "id": 4351, - "name": "cap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4314, - "src": "703:3:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "684:22:10" - }, - { - "expression": { - "arguments": [ - { - "id": 4354, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4342, - "src": "723:7:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 4355, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4344, - "src": "732:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 4353, - "name": "_mint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3773, - "src": "717:5:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 4356, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "717:22:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4357, - "nodeType": "ExpressionStatement", - "src": "717:22:10" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4360, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 4358, - "name": "capacity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4350, - "src": "754:8:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 4359, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "766:1:10", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "754:13:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 4362, - "nodeType": "IfStatement", - "src": "750:26:10", - "trueBody": { - "functionReturnParameters": 4348, - "id": 4361, - "nodeType": "Return", - "src": "769:7:10" - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4365, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 4363, - "name": "totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3500, - "src": "790:11:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "id": 4364, - "name": "capacity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4350, - "src": "804:8:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "790:22:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 4369, - "nodeType": "IfStatement", - "src": "786:48:10", - "trueBody": { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 4366, - "name": "CapExceeded", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5880, - "src": "821:11:10", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 4367, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "821:13:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4368, - "nodeType": "RevertStatement", - "src": "814:20:10" - } - } - ] - }, - "functionSelector": "40c10f19", - "id": 4371, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 4347, - "kind": "modifierInvocation", - "modifierName": { - "id": 4346, - "name": "onlyOwner", - "nodeType": "IdentifierPath", - "referencedDeclaration": 4410, - "src": "664:9:10" - }, - "nodeType": "ModifierInvocation", - "src": "664:9:10" - } - ], - "name": "mint", - "nameLocation": "617:4:10", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4345, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4342, - "mutability": "mutable", - "name": "account", - "nameLocation": "630:7:10", - "nodeType": "VariableDeclaration", - "scope": 4371, - "src": "622:15:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4341, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "622:7:10", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4344, - "mutability": "mutable", - "name": "amount", - "nameLocation": "647:6:10", - "nodeType": "VariableDeclaration", - "scope": 4371, - "src": "639:14:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4343, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "639:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "621:33:10" - }, - "returnParameters": { - "id": 4348, - "nodeType": "ParameterList", - "parameters": [], - "src": "674:0:10" - }, - "scope": 4372, - "src": "608:233:10", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 4373, - "src": "264:579:10", - "usedErrors": [ - 3890, - 3892, - 3894, - 3896, - 5739, - 5880, - 5897, - 5899 - ] - } - ], - "src": "33:811:10" - }, - "id": 10 - }, - "@axelar-network/axelar-cgp-solidity/contracts/Ownable.sol": { - "ast": { - "absolutePath": "@axelar-network/axelar-cgp-solidity/contracts/Ownable.sol", - "exportedSymbols": { - "IOwnable": [ - 5916 - ], - "Ownable": [ - 4438 - ] - }, - "id": 4439, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 4374, - "literals": [ - "solidity", - "0.8", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "33:22:11" - }, - { - "absolutePath": "@axelar-network/axelar-cgp-solidity/contracts/interfaces/IOwnable.sol", - "file": "./interfaces/IOwnable.sol", - "id": 4376, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 4439, - "sourceUnit": 5917, - "src": "57:53:11", - "symbolAliases": [ - { - "foreign": { - "id": 4375, - "name": "IOwnable", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "src": "66:8:11", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "abstract": true, - "baseContracts": [ - { - "baseName": { - "id": 4377, - "name": "IOwnable", - "nodeType": "IdentifierPath", - "referencedDeclaration": 5916, - "src": "141:8:11" - }, - "id": 4378, - "nodeType": "InheritanceSpecifier", - "src": "141:8:11" - } - ], - "canonicalName": "Ownable", - "contractDependencies": [], - "contractKind": "contract", - "fullyImplemented": true, - "id": 4438, - "linearizedBaseContracts": [ - 4438, - 5916 - ], - "name": "Ownable", - "nameLocation": "130:7:11", - "nodeType": "ContractDefinition", - "nodes": [ - { - "baseFunctions": [ - 5910 - ], - "constant": false, - "functionSelector": "8da5cb5b", - "id": 4380, - "mutability": "mutable", - "name": "owner", - "nameLocation": "171:5:11", - "nodeType": "VariableDeclaration", - "scope": 4438, - "src": "156:20:11", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4379, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "156:7:11", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "public" - }, - { - "body": { - "id": 4397, - "nodeType": "Block", - "src": "197:94:11", - "statements": [ - { - "expression": { - "id": 4386, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 4383, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4380, - "src": "207:5:11", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "expression": { - "id": 4384, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "215:3:11", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4385, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "215:10:11", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "207:18:11", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 4387, - "nodeType": "ExpressionStatement", - "src": "207:18:11" - }, - { - "eventCall": { - "arguments": [ - { - "arguments": [ - { - "hexValue": "30", - "id": 4391, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "269:1:11", - "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": 4390, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "261:7:11", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 4389, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "261:7:11", - "typeDescriptions": {} - } - }, - "id": 4392, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "261:10:11", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "expression": { - "id": 4393, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "273:3:11", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4394, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "273:10:11", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 4388, - "name": "OwnershipTransferred", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5905, - "src": "240:20:11", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", - "typeString": "function (address,address)" - } - }, - "id": 4395, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "240:44:11", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4396, - "nodeType": "EmitStatement", - "src": "235:49:11" - } - ] - }, - "id": 4398, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4381, - "nodeType": "ParameterList", - "parameters": [], - "src": "194:2:11" - }, - "returnParameters": { - "id": 4382, - "nodeType": "ParameterList", - "parameters": [], - "src": "197:0:11" - }, - "scope": 4438, - "src": "183:108:11", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 4409, - "nodeType": "Block", - "src": "318:71:11", - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 4403, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 4400, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4380, - "src": "332:5:11", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "expression": { - "id": 4401, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "341:3:11", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4402, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "341:10:11", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "332:19:11", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 4407, - "nodeType": "IfStatement", - "src": "328:42:11", - "trueBody": { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 4404, - "name": "NotOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5897, - "src": "360:8:11", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 4405, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "360:10:11", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4406, - "nodeType": "RevertStatement", - "src": "353:17:11" - } - }, - { - "id": 4408, - "nodeType": "PlaceholderStatement", - "src": "381:1:11" - } - ] - }, - "id": 4410, - "name": "onlyOwner", - "nameLocation": "306:9:11", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 4399, - "nodeType": "ParameterList", - "parameters": [], - "src": "315:2:11" - }, - "src": "297:92:11", - "virtual": false, - "visibility": "internal" - }, - { - "baseFunctions": [ - 5915 - ], - "body": { - "id": 4436, - "nodeType": "Block", - "src": "467:145:11", - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 4422, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 4417, - "name": "newOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4412, - "src": "481:8:11", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 4420, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "501:1:11", - "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": 4419, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "493:7:11", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 4418, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "493:7:11", - "typeDescriptions": {} - } - }, - "id": 4421, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "493:10:11", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "481:22:11", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 4426, - "nodeType": "IfStatement", - "src": "477:49:11", - "trueBody": { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 4423, - "name": "InvalidOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5899, - "src": "512:12:11", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 4424, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "512:14:11", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4425, - "nodeType": "RevertStatement", - "src": "505:21:11" - } - }, - { - "eventCall": { - "arguments": [ - { - "id": 4428, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4380, - "src": "563:5:11", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 4429, - "name": "newOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4412, - "src": "570:8:11", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 4427, - "name": "OwnershipTransferred", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5905, - "src": "542:20:11", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", - "typeString": "function (address,address)" - } - }, - "id": 4430, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "542:37:11", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4431, - "nodeType": "EmitStatement", - "src": "537:42:11" - }, - { - "expression": { - "id": 4434, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 4432, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4380, - "src": "589:5:11", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 4433, - "name": "newOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4412, - "src": "597:8:11", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "589:16:11", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 4435, - "nodeType": "ExpressionStatement", - "src": "589:16:11" - } - ] - }, - "functionSelector": "f2fde38b", - "id": 4437, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 4415, - "kind": "modifierInvocation", - "modifierName": { - "id": 4414, - "name": "onlyOwner", - "nodeType": "IdentifierPath", - "referencedDeclaration": 4410, - "src": "457:9:11" - }, - "nodeType": "ModifierInvocation", - "src": "457:9:11" - } - ], - "name": "transferOwnership", - "nameLocation": "404:17:11", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4413, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4412, - "mutability": "mutable", - "name": "newOwner", - "nameLocation": "430:8:11", - "nodeType": "VariableDeclaration", - "scope": 4437, - "src": "422:16:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4411, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "422:7:11", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "421:18:11" - }, - "returnParameters": { - "id": 4416, - "nodeType": "ParameterList", - "parameters": [], - "src": "467:0:11" - }, - "scope": 4438, - "src": "395:217:11", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "external" - } - ], - "scope": 4439, - "src": "112:502:11", - "usedErrors": [ - 5897, - 5899 - ] - } - ], - "src": "33:582:11" - }, - "id": 11 - }, - "@axelar-network/axelar-cgp-solidity/contracts/TokenDeployer.sol": { - "ast": { - "absolutePath": "@axelar-network/axelar-cgp-solidity/contracts/TokenDeployer.sol", - "exportedSymbols": { - "BurnableMintableCappedERC20": [ - 3293 - ], - "ITokenDeployer": [ - 5934 - ], - "TokenDeployer": [ - 4479 - ] - }, - "id": 4480, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 4440, - "literals": [ - "solidity", - "0.8", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "33:22:12" - }, - { - "absolutePath": "@axelar-network/axelar-cgp-solidity/contracts/interfaces/ITokenDeployer.sol", - "file": "./interfaces/ITokenDeployer.sol", - "id": 4442, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 4480, - "sourceUnit": 5935, - "src": "57:65:12", - "symbolAliases": [ - { - "foreign": { - "id": 4441, - "name": "ITokenDeployer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "src": "66:14:12", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "absolutePath": "@axelar-network/axelar-cgp-solidity/contracts/BurnableMintableCappedERC20.sol", - "file": "./BurnableMintableCappedERC20.sol", - "id": 4444, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 4480, - "sourceUnit": 3294, - "src": "124:80:12", - "symbolAliases": [ - { - "foreign": { - "id": 4443, - "name": "BurnableMintableCappedERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "src": "133:27:12", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "baseName": { - "id": 4445, - "name": "ITokenDeployer", - "nodeType": "IdentifierPath", - "referencedDeclaration": 5934, - "src": "232:14:12" - }, - "id": 4446, - "nodeType": "InheritanceSpecifier", - "src": "232:14:12" - } - ], - "canonicalName": "TokenDeployer", - "contractDependencies": [ - 3293 - ], - "contractKind": "contract", - "fullyImplemented": true, - "id": 4479, - "linearizedBaseContracts": [ - 4479, - 5934 - ], - "name": "TokenDeployer", - "nameLocation": "215:13:12", - "nodeType": "ContractDefinition", - "nodes": [ - { - "baseFunctions": [ - 5933 - ], - "body": { - "id": 4477, - "nodeType": "Block", - "src": "449:115:12", - "statements": [ - { - "expression": { - "id": 4475, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 4461, - "name": "tokenAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4459, - "src": "459:12:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "arguments": [ - { - "id": 4469, - "name": "name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4448, - "src": "528:4:12", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - } - }, - { - "id": 4470, - "name": "symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4450, - "src": "534:6:12", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - } - }, - { - "id": 4471, - "name": "decimals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4452, - "src": "542:8:12", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - { - "id": 4472, - "name": "cap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4454, - "src": "552:3:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - }, - { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - }, - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - }, - { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - }, - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 4466, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "482:31:12", - "typeDescriptions": { - "typeIdentifier": "t_function_creation_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_uint8_$_t_uint256_$returns$_t_contract$_BurnableMintableCappedERC20_$3293_$", - "typeString": "function (string memory,string memory,uint8,uint256) returns (contract BurnableMintableCappedERC20)" - }, - "typeName": { - "id": 4465, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 4464, - "name": "BurnableMintableCappedERC20", - "nodeType": "IdentifierPath", - "referencedDeclaration": 3293, - "src": "486:27:12" - }, - "referencedDeclaration": 3293, - "src": "486:27:12", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BurnableMintableCappedERC20_$3293", - "typeString": "contract BurnableMintableCappedERC20" - } - } - }, - "id": 4468, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "names": [ - "salt" - ], - "nodeType": "FunctionCallOptions", - "options": [ - { - "id": 4467, - "name": "salt", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4456, - "src": "521:4:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "src": "482:45:12", - "typeDescriptions": { - "typeIdentifier": "t_function_creation_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_uint8_$_t_uint256_$returns$_t_contract$_BurnableMintableCappedERC20_$3293_$salt", - "typeString": "function (string memory,string memory,uint8,uint256) returns (contract BurnableMintableCappedERC20)" - } - }, - "id": 4473, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "482:74:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_BurnableMintableCappedERC20_$3293", - "typeString": "contract BurnableMintableCappedERC20" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_BurnableMintableCappedERC20_$3293", - "typeString": "contract BurnableMintableCappedERC20" - } - ], - "id": 4463, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "474:7:12", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 4462, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "474:7:12", - "typeDescriptions": {} - } - }, - "id": 4474, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "474:83:12", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "459:98:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 4476, - "nodeType": "ExpressionStatement", - "src": "459:98:12" - } - ] - }, - "functionSelector": "6fc95b34", - "id": 4478, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "deployToken", - "nameLocation": "262:11:12", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4457, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4448, - "mutability": "mutable", - "name": "name", - "nameLocation": "299:4:12", - "nodeType": "VariableDeclaration", - "scope": 4478, - "src": "283:20:12", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string" - }, - "typeName": { - "id": 4447, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "283:6:12", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4450, - "mutability": "mutable", - "name": "symbol", - "nameLocation": "329:6:12", - "nodeType": "VariableDeclaration", - "scope": 4478, - "src": "313:22:12", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string" - }, - "typeName": { - "id": 4449, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "313:6:12", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4452, - "mutability": "mutable", - "name": "decimals", - "nameLocation": "351:8:12", - "nodeType": "VariableDeclaration", - "scope": 4478, - "src": "345:14:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 4451, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "345:5:12", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4454, - "mutability": "mutable", - "name": "cap", - "nameLocation": "377:3:12", - "nodeType": "VariableDeclaration", - "scope": 4478, - "src": "369:11:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4453, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "369:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4456, - "mutability": "mutable", - "name": "salt", - "nameLocation": "398:4:12", - "nodeType": "VariableDeclaration", - "scope": 4478, - "src": "390:12:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4455, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "390:7:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "273:135:12" - }, - "returnParameters": { - "id": 4460, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4459, - "mutability": "mutable", - "name": "tokenAddress", - "nameLocation": "435:12:12", - "nodeType": "VariableDeclaration", - "scope": 4478, - "src": "427:20:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4458, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "427:7:12", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "426:22:12" - }, - "scope": 4479, - "src": "253:311:12", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 4480, - "src": "206:360:12", - "usedErrors": [] - } - ], - "src": "33:534:12" - }, - "id": 12 - }, - "@axelar-network/axelar-cgp-solidity/contracts/gas-service/AxelarGasService.sol": { - "ast": { - "absolutePath": "@axelar-network/axelar-cgp-solidity/contracts/gas-service/AxelarGasService.sol", - "exportedSymbols": { - "AxelarGasService": [ - 4938 - ], - "IAxelarGasService": [ - 5359 - ], - "IERC20": [ - 5814 - ], - "IUpgradable": [ - 5981 - ], - "Upgradable": [ - 6202 - ] - }, - "id": 4939, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 4481, - "literals": [ - "solidity", - "0.8", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "33:22:13" - }, - { - "absolutePath": "@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarGasService.sol", - "file": "../interfaces/IAxelarGasService.sol", - "id": 4483, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 4939, - "sourceUnit": 5360, - "src": "57:72:13", - "symbolAliases": [ - { - "foreign": { - "id": 4482, - "name": "IAxelarGasService", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "src": "66:17:13", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "absolutePath": "@axelar-network/axelar-cgp-solidity/contracts/interfaces/IERC20.sol", - "file": "../interfaces/IERC20.sol", - "id": 4485, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 4939, - "sourceUnit": 5815, - "src": "130:50:13", - "symbolAliases": [ - { - "foreign": { - "id": 4484, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "src": "139:6:13", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "absolutePath": "@axelar-network/axelar-cgp-solidity/contracts/util/Upgradable.sol", - "file": "../util/Upgradable.sol", - "id": 4486, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 4939, - "sourceUnit": 6203, - "src": "181:32:13", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "baseName": { - "id": 4487, - "name": "Upgradable", - "nodeType": "IdentifierPath", - "referencedDeclaration": 6202, - "src": "312:10:13" - }, - "id": 4488, - "nodeType": "InheritanceSpecifier", - "src": "312:10:13" - }, - { - "baseName": { - "id": 4489, - "name": "IAxelarGasService", - "nodeType": "IdentifierPath", - "referencedDeclaration": 5359, - "src": "324:17:13" - }, - "id": 4490, - "nodeType": "InheritanceSpecifier", - "src": "324:17:13" - } - ], - "canonicalName": "AxelarGasService", - "contractDependencies": [], - "contractKind": "contract", - "fullyImplemented": true, - "id": 4938, - "linearizedBaseContracts": [ - 4938, - 5359, - 6202, - 5981 - ], - "name": "AxelarGasService", - "nameLocation": "292:16:13", - "nodeType": "ContractDefinition", - "nodes": [ - { - "baseFunctions": [ - 5268 - ], - "body": { - "id": 4527, - "nodeType": "Block", - "src": "731:307:13", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 4509, - "name": "gasToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4500, - "src": "759:8:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "expression": { - "id": 4510, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "769:3:13", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4511, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "769:10:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 4512, - "name": "gasFeeAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4502, - "src": "781:12:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 4508, - "name": "_safeTransferFrom", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4927, - "src": "741:17:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 4513, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "741:53:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4514, - "nodeType": "ExpressionStatement", - "src": "741:53:13" - }, - { - "eventCall": { - "arguments": [ - { - "id": 4516, - "name": "sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4492, - "src": "846:6:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 4517, - "name": "destinationChain", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4494, - "src": "866:16:13", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - } - }, - { - "id": 4518, - "name": "destinationAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4496, - "src": "896:18:13", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - } - }, - { - "arguments": [ - { - "id": 4520, - "name": "payload", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4498, - "src": "938:7:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - ], - "id": 4519, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "928:9:13", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 4521, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "928:18:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 4522, - "name": "gasToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4500, - "src": "960:8:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 4523, - "name": "gasFeeAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4502, - "src": "982:12:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 4524, - "name": "refundAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4504, - "src": "1008:13:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - }, - { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 4515, - "name": "GasPaidForContractCall", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5177, - "src": "810:22:13", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_bytes32_$_t_address_$_t_uint256_$_t_address_$returns$__$", - "typeString": "function (address,string memory,string memory,bytes32,address,uint256,address)" - } - }, - "id": 4525, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "810:221:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4526, - "nodeType": "EmitStatement", - "src": "805:226:13" - } - ] - }, - "functionSelector": "fd09e3bd", - "id": 4528, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "payGasForContractCall", - "nameLocation": "456:21:13", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 4506, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "722:8:13" - }, - "parameters": { - "id": 4505, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4492, - "mutability": "mutable", - "name": "sender", - "nameLocation": "495:6:13", - "nodeType": "VariableDeclaration", - "scope": 4528, - "src": "487:14:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4491, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "487:7:13", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4494, - "mutability": "mutable", - "name": "destinationChain", - "nameLocation": "527:16:13", - "nodeType": "VariableDeclaration", - "scope": 4528, - "src": "511:32:13", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string" - }, - "typeName": { - "id": 4493, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "511:6:13", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4496, - "mutability": "mutable", - "name": "destinationAddress", - "nameLocation": "569:18:13", - "nodeType": "VariableDeclaration", - "scope": 4528, - "src": "553:34:13", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string" - }, - "typeName": { - "id": 4495, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "553:6:13", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4498, - "mutability": "mutable", - "name": "payload", - "nameLocation": "612:7:13", - "nodeType": "VariableDeclaration", - "scope": 4528, - "src": "597:22:13", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 4497, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "597:5:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4500, - "mutability": "mutable", - "name": "gasToken", - "nameLocation": "637:8:13", - "nodeType": "VariableDeclaration", - "scope": 4528, - "src": "629:16:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4499, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "629:7:13", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4502, - "mutability": "mutable", - "name": "gasFeeAmount", - "nameLocation": "663:12:13", - "nodeType": "VariableDeclaration", - "scope": 4528, - "src": "655:20:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4501, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "655:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4504, - "mutability": "mutable", - "name": "refundAddress", - "nameLocation": "693:13:13", - "nodeType": "VariableDeclaration", - "scope": 4528, - "src": "685:21:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4503, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "685:7:13", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "477:235:13" - }, - "returnParameters": { - "id": 4507, - "nodeType": "ParameterList", - "parameters": [], - "src": "731:0:13" - }, - "scope": 4938, - "src": "447:591:13", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "baseFunctions": [ - 5289 - ], - "body": { - "id": 4572, - "nodeType": "Block", - "src": "1490:380:13", - "statements": [ - { - "id": 4557, - "nodeType": "Block", - "src": "1500:78:13", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 4551, - "name": "gasToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4542, - "src": "1532:8:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "expression": { - "id": 4552, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1542:3:13", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4553, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "1542:10:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 4554, - "name": "gasFeeAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4544, - "src": "1554:12:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 4550, - "name": "_safeTransferFrom", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4927, - "src": "1514:17:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 4555, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1514:53:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4556, - "nodeType": "ExpressionStatement", - "src": "1514:53:13" - } - ] - }, - { - "eventCall": { - "arguments": [ - { - "id": 4559, - "name": "sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4530, - "src": "1638:6:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 4560, - "name": "destinationChain", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4532, - "src": "1658:16:13", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - } - }, - { - "id": 4561, - "name": "destinationAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4534, - "src": "1688:18:13", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - } - }, - { - "arguments": [ - { - "id": 4563, - "name": "payload", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4536, - "src": "1730:7:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - ], - "id": 4562, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "1720:9:13", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 4564, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1720:18:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 4565, - "name": "symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4538, - "src": "1752:6:13", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "id": 4566, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4540, - "src": "1772:6:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 4567, - "name": "gasToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4542, - "src": "1792:8:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 4568, - "name": "gasFeeAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4544, - "src": "1814:12:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 4569, - "name": "refundAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4546, - "src": "1840:13:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - }, - { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 4558, - "name": "GasPaidForContractCallWithToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5197, - "src": "1593:31:13", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_bytes32_$_t_string_memory_ptr_$_t_uint256_$_t_address_$_t_uint256_$_t_address_$returns$__$", - "typeString": "function (address,string memory,string memory,bytes32,string memory,uint256,address,uint256,address)" - } - }, - "id": 4570, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1593:270:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4571, - "nodeType": "EmitStatement", - "src": "1588:275:13" - } - ] - }, - "functionSelector": "edb6b3a5", - "id": 4573, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "payGasForContractCallWithToken", - "nameLocation": "1152:30:13", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 4548, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "1481:8:13" - }, - "parameters": { - "id": 4547, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4530, - "mutability": "mutable", - "name": "sender", - "nameLocation": "1200:6:13", - "nodeType": "VariableDeclaration", - "scope": 4573, - "src": "1192:14:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4529, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1192:7:13", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4532, - "mutability": "mutable", - "name": "destinationChain", - "nameLocation": "1232:16:13", - "nodeType": "VariableDeclaration", - "scope": 4573, - "src": "1216:32:13", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string" - }, - "typeName": { - "id": 4531, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1216:6:13", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4534, - "mutability": "mutable", - "name": "destinationAddress", - "nameLocation": "1274:18:13", - "nodeType": "VariableDeclaration", - "scope": 4573, - "src": "1258:34:13", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string" - }, - "typeName": { - "id": 4533, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1258:6:13", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4536, - "mutability": "mutable", - "name": "payload", - "nameLocation": "1317:7:13", - "nodeType": "VariableDeclaration", - "scope": 4573, - "src": "1302:22:13", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 4535, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "1302:5:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4538, - "mutability": "mutable", - "name": "symbol", - "nameLocation": "1348:6:13", - "nodeType": "VariableDeclaration", - "scope": 4573, - "src": "1334:20:13", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 4537, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1334:6:13", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4540, - "mutability": "mutable", - "name": "amount", - "nameLocation": "1372:6:13", - "nodeType": "VariableDeclaration", - "scope": 4573, - "src": "1364:14:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4539, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1364:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4542, - "mutability": "mutable", - "name": "gasToken", - "nameLocation": "1396:8:13", - "nodeType": "VariableDeclaration", - "scope": 4573, - "src": "1388:16:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4541, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1388:7:13", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4544, - "mutability": "mutable", - "name": "gasFeeAmount", - "nameLocation": "1422:12:13", - "nodeType": "VariableDeclaration", - "scope": 4573, - "src": "1414:20:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4543, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1414:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4546, - "mutability": "mutable", - "name": "refundAddress", - "nameLocation": "1452:13:13", - "nodeType": "VariableDeclaration", - "scope": 4573, - "src": "1444:21:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4545, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1444:7:13", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "1182:289:13" - }, - "returnParameters": { - "id": 4549, - "nodeType": "ParameterList", - "parameters": [], - "src": "1490:0:13" - }, - "scope": 4938, - "src": "1143:727:13", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "baseFunctions": [ - 5302 - ], - "body": { - "id": 4607, - "nodeType": "Block", - "src": "2217:197:13", - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4590, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 4587, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "2231:3:13", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4588, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "src": "2231:9:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 4589, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2244:1:13", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "2231:14:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 4594, - "nodeType": "IfStatement", - "src": "2227:44:13", - "trueBody": { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 4591, - "name": "NothingReceived", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5159, - "src": "2254:15:13", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 4592, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2254:17:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4593, - "nodeType": "RevertStatement", - "src": "2247:24:13" - } - }, - { - "eventCall": { - "arguments": [ - { - "id": 4596, - "name": "sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4575, - "src": "2316:6:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 4597, - "name": "destinationChain", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4577, - "src": "2324:16:13", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - } - }, - { - "id": 4598, - "name": "destinationAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4579, - "src": "2342:18:13", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - } - }, - { - "arguments": [ - { - "id": 4600, - "name": "payload", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4581, - "src": "2372:7:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - ], - "id": 4599, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "2362:9:13", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 4601, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2362:18:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "expression": { - "id": 4602, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "2382:3:13", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4603, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "src": "2382:9:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 4604, - "name": "refundAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4583, - "src": "2393:13:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - }, - { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 4595, - "name": "NativeGasPaidForContractCall", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5211, - "src": "2287:28:13", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_bytes32_$_t_uint256_$_t_address_$returns$__$", - "typeString": "function (address,string memory,string memory,bytes32,uint256,address)" - } - }, - "id": 4605, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2287:120:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4606, - "nodeType": "EmitStatement", - "src": "2282:125:13" - } - ] - }, - "functionSelector": "0c93e3bb", - "id": 4608, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "payNativeGasForContractCall", - "nameLocation": "1984:27:13", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 4585, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "2208:8:13" - }, - "parameters": { - "id": 4584, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4575, - "mutability": "mutable", - "name": "sender", - "nameLocation": "2029:6:13", - "nodeType": "VariableDeclaration", - "scope": 4608, - "src": "2021:14:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4574, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2021:7:13", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4577, - "mutability": "mutable", - "name": "destinationChain", - "nameLocation": "2061:16:13", - "nodeType": "VariableDeclaration", - "scope": 4608, - "src": "2045:32:13", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string" - }, - "typeName": { - "id": 4576, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2045:6:13", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4579, - "mutability": "mutable", - "name": "destinationAddress", - "nameLocation": "2103:18:13", - "nodeType": "VariableDeclaration", - "scope": 4608, - "src": "2087:34:13", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string" - }, - "typeName": { - "id": 4578, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2087:6:13", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4581, - "mutability": "mutable", - "name": "payload", - "nameLocation": "2146:7:13", - "nodeType": "VariableDeclaration", - "scope": 4608, - "src": "2131:22:13", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 4580, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "2131:5:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4583, - "mutability": "mutable", - "name": "refundAddress", - "nameLocation": "2171:13:13", - "nodeType": "VariableDeclaration", - "scope": 4608, - "src": "2163:21:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4582, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2163:7:13", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "2011:179:13" - }, - "returnParameters": { - "id": 4586, - "nodeType": "ParameterList", - "parameters": [], - "src": "2217:0:13" - }, - "scope": 4938, - "src": "1975:439:13", - "stateMutability": "payable", - "virtual": false, - "visibility": "external" - }, - { - "baseFunctions": [ - 5319 - ], - "body": { - "id": 4648, - "nodeType": "Block", - "src": "2826:328:13", - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4629, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 4626, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "2840:3:13", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4627, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "src": "2840:9:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 4628, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2853:1:13", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "2840:14:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 4633, - "nodeType": "IfStatement", - "src": "2836:44:13", - "trueBody": { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 4630, - "name": "NothingReceived", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5159, - "src": "2863:15:13", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 4631, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2863:17:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4632, - "nodeType": "RevertStatement", - "src": "2856:24:13" - } - }, - { - "eventCall": { - "arguments": [ - { - "id": 4635, - "name": "sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4610, - "src": "2947:6:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 4636, - "name": "destinationChain", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4612, - "src": "2967:16:13", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - } - }, - { - "id": 4637, - "name": "destinationAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4614, - "src": "2997:18:13", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - } - }, - { - "arguments": [ - { - "id": 4639, - "name": "payload", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4616, - "src": "3039:7:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - ], - "id": 4638, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "3029:9:13", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 4640, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3029:18:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 4641, - "name": "symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4618, - "src": "3061:6:13", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - } - }, - { - "id": 4642, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4620, - "src": "3081:6:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "id": 4643, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3101:3:13", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4644, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "src": "3101:9:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 4645, - "name": "refundAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4622, - "src": "3124:13:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - }, - { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 4634, - "name": "NativeGasPaidForContractCallWithToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5229, - "src": "2896:37:13", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_bytes32_$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$_t_address_$returns$__$", - "typeString": "function (address,string memory,string memory,bytes32,string memory,uint256,uint256,address)" - } - }, - "id": 4646, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2896:251:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4647, - "nodeType": "EmitStatement", - "src": "2891:256:13" - } - ] - }, - "functionSelector": "c62c2002", - "id": 4649, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "payNativeGasForContractCallWithToken", - "nameLocation": "2528:36:13", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 4624, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "2817:8:13" - }, - "parameters": { - "id": 4623, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4610, - "mutability": "mutable", - "name": "sender", - "nameLocation": "2582:6:13", - "nodeType": "VariableDeclaration", - "scope": 4649, - "src": "2574:14:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4609, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2574:7:13", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4612, - "mutability": "mutable", - "name": "destinationChain", - "nameLocation": "2614:16:13", - "nodeType": "VariableDeclaration", - "scope": 4649, - "src": "2598:32:13", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string" - }, - "typeName": { - "id": 4611, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2598:6:13", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4614, - "mutability": "mutable", - "name": "destinationAddress", - "nameLocation": "2656:18:13", - "nodeType": "VariableDeclaration", - "scope": 4649, - "src": "2640:34:13", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string" - }, - "typeName": { - "id": 4613, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2640:6:13", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4616, - "mutability": "mutable", - "name": "payload", - "nameLocation": "2699:7:13", - "nodeType": "VariableDeclaration", - "scope": 4649, - "src": "2684:22:13", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 4615, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "2684:5:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4618, - "mutability": "mutable", - "name": "symbol", - "nameLocation": "2732:6:13", - "nodeType": "VariableDeclaration", - "scope": 4649, - "src": "2716:22:13", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string" - }, - "typeName": { - "id": 4617, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2716:6:13", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4620, - "mutability": "mutable", - "name": "amount", - "nameLocation": "2756:6:13", - "nodeType": "VariableDeclaration", - "scope": 4649, - "src": "2748:14:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4619, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2748:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4622, - "mutability": "mutable", - "name": "refundAddress", - "nameLocation": "2780:13:13", - "nodeType": "VariableDeclaration", - "scope": 4649, - "src": "2772:21:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4621, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2772:7:13", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "2564:235:13" - }, - "returnParameters": { - "id": 4625, - "nodeType": "ParameterList", - "parameters": [], - "src": "2826:0:13" - }, - "scope": 4938, - "src": "2519:635:13", - "stateMutability": "payable", - "virtual": false, - "visibility": "external" - }, - { - "baseFunctions": [ - 5332 - ], - "body": { - "id": 4678, - "nodeType": "Block", - "src": "3337:151:13", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 4664, - "name": "gasToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4655, - "src": "3365:8:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "expression": { - "id": 4665, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3375:3:13", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4666, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "3375:10:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 4667, - "name": "gasFeeAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4657, - "src": "3387:12:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 4663, - "name": "_safeTransferFrom", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4927, - "src": "3347:17:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 4668, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3347:53:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4669, - "nodeType": "ExpressionStatement", - "src": "3347:53:13" - }, - { - "eventCall": { - "arguments": [ - { - "id": 4671, - "name": "txHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4651, - "src": "3425:6:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 4672, - "name": "logIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4653, - "src": "3433:8:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 4673, - "name": "gasToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4655, - "src": "3443:8:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 4674, - "name": "gasFeeAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4657, - "src": "3453:12:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 4675, - "name": "refundAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4659, - "src": "3467:13:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 4670, - "name": "GasAdded", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5241, - "src": "3416:8:13", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$_t_address_$_t_uint256_$_t_address_$returns$__$", - "typeString": "function (bytes32,uint256,address,uint256,address)" - } - }, - "id": 4676, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3416:65:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4677, - "nodeType": "EmitStatement", - "src": "3411:70:13" - } - ] - }, - "functionSelector": "ab1999ba", - "id": 4679, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "addGas", - "nameLocation": "3169:6:13", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 4661, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "3328:8:13" - }, - "parameters": { - "id": 4660, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4651, - "mutability": "mutable", - "name": "txHash", - "nameLocation": "3193:6:13", - "nodeType": "VariableDeclaration", - "scope": 4679, - "src": "3185:14:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4650, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "3185:7:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4653, - "mutability": "mutable", - "name": "logIndex", - "nameLocation": "3217:8:13", - "nodeType": "VariableDeclaration", - "scope": 4679, - "src": "3209:16:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4652, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3209:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4655, - "mutability": "mutable", - "name": "gasToken", - "nameLocation": "3243:8:13", - "nodeType": "VariableDeclaration", - "scope": 4679, - "src": "3235:16:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4654, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3235:7:13", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4657, - "mutability": "mutable", - "name": "gasFeeAmount", - "nameLocation": "3269:12:13", - "nodeType": "VariableDeclaration", - "scope": 4679, - "src": "3261:20:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4656, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3261:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4659, - "mutability": "mutable", - "name": "refundAddress", - "nameLocation": "3299:13:13", - "nodeType": "VariableDeclaration", - "scope": 4679, - "src": "3291:21:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4658, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3291:7:13", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "3175:143:13" - }, - "returnParameters": { - "id": 4662, - "nodeType": "ParameterList", - "parameters": [], - "src": "3337:0:13" - }, - "scope": 4938, - "src": "3160:328:13", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "baseFunctions": [ - 5341 - ], - "body": { - "id": 4705, - "nodeType": "Block", - "src": "3629:135:13", - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4692, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 4689, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3643:3:13", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4690, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "src": "3643:9:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 4691, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3656:1:13", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "3643:14:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 4696, - "nodeType": "IfStatement", - "src": "3639:44:13", - "trueBody": { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 4693, - "name": "NothingReceived", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5159, - "src": "3666:15:13", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 4694, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3666:17:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4695, - "nodeType": "RevertStatement", - "src": "3659:24:13" - } - }, - { - "eventCall": { - "arguments": [ - { - "id": 4698, - "name": "txHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4681, - "src": "3714:6:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 4699, - "name": "logIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4683, - "src": "3722:8:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "id": 4700, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3732:3:13", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4701, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "src": "3732:9:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 4702, - "name": "refundAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4685, - "src": "3743:13:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 4697, - "name": "NativeGasAdded", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5251, - "src": "3699:14:13", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$_t_uint256_$_t_address_$returns$__$", - "typeString": "function (bytes32,uint256,uint256,address)" - } - }, - "id": 4703, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3699:58:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4704, - "nodeType": "EmitStatement", - "src": "3694:63:13" - } - ] - }, - "functionSelector": "cd433ada", - "id": 4706, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "addNativeGas", - "nameLocation": "3503:12:13", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 4687, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "3620:8:13" - }, - "parameters": { - "id": 4686, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4681, - "mutability": "mutable", - "name": "txHash", - "nameLocation": "3533:6:13", - "nodeType": "VariableDeclaration", - "scope": 4706, - "src": "3525:14:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4680, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "3525:7:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4683, - "mutability": "mutable", - "name": "logIndex", - "nameLocation": "3557:8:13", - "nodeType": "VariableDeclaration", - "scope": 4706, - "src": "3549:16:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4682, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3549:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4685, - "mutability": "mutable", - "name": "refundAddress", - "nameLocation": "3583:13:13", - "nodeType": "VariableDeclaration", - "scope": 4706, - "src": "3575:21:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4684, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3575:7:13", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "3515:87:13" - }, - "returnParameters": { - "id": 4688, - "nodeType": "ParameterList", - "parameters": [], - "src": "3629:0:13" - }, - "scope": 4938, - "src": "3494:270:13", - "stateMutability": "payable", - "virtual": false, - "visibility": "external" - }, - { - "baseFunctions": [ - 5349 - ], - "body": { - "id": 4771, - "nodeType": "Block", - "src": "3863:368:13", - "statements": [ - { - "body": { - "id": 4769, - "nodeType": "Block", - "src": "3913:312:13", - "statements": [ - { - "assignments": [ - 4727 - ], - "declarations": [ - { - "constant": false, - "id": 4727, - "mutability": "mutable", - "name": "token", - "nameLocation": "3935:5:13", - "nodeType": "VariableDeclaration", - "scope": 4769, - "src": "3927:13:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4726, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3927:7:13", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "id": 4731, - "initialValue": { - "baseExpression": { - "id": 4728, - "name": "tokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4711, - "src": "3943:6:13", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", - "typeString": "address[] calldata" - } - }, - "id": 4730, - "indexExpression": { - "id": 4729, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4717, - "src": "3950:1:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3943:9:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3927:25:13" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 4737, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 4732, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4727, - "src": "3971:5:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 4735, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3988:1:13", - "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": 4734, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3980:7:13", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 4733, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3980:7:13", - "typeDescriptions": {} - } - }, - "id": 4736, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3980:10:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "3971:19:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 4767, - "nodeType": "Block", - "src": "4071:144:13", - "statements": [ - { - "assignments": [ - 4750 - ], - "declarations": [ - { - "constant": false, - "id": 4750, - "mutability": "mutable", - "name": "amount", - "nameLocation": "4097:6:13", - "nodeType": "VariableDeclaration", - "scope": 4767, - "src": "4089:14:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4749, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4089:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 4760, - "initialValue": { - "arguments": [ - { - "arguments": [ - { - "id": 4757, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "4138:4:13", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AxelarGasService_$4938", - "typeString": "contract AxelarGasService" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_AxelarGasService_$4938", - "typeString": "contract AxelarGasService" - } - ], - "id": 4756, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "4130:7:13", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 4755, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4130:7:13", - "typeDescriptions": {} - } - }, - "id": 4758, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4130:13:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "arguments": [ - { - "id": 4752, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4727, - "src": "4113:5:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 4751, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5814, - "src": "4106:6:13", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5814_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 4753, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4106:13:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5814", - "typeString": "contract IERC20" - } - }, - "id": 4754, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 5753, - "src": "4106:23:13", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 4759, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4106:38:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4089:55:13" - }, - { - "expression": { - "arguments": [ - { - "id": 4762, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4727, - "src": "4176:5:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 4763, - "name": "receiver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4708, - "src": "4183:8:13", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "id": 4764, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4750, - "src": "4193:6:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 4761, - "name": "_safeTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4864, - "src": "4162:13:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 4765, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4162:38:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4766, - "nodeType": "ExpressionStatement", - "src": "4162:38:13" - } - ] - }, - "id": 4768, - "nodeType": "IfStatement", - "src": "3967:248:13", - "trueBody": { - "id": 4748, - "nodeType": "Block", - "src": "3992:73:13", - "statements": [ - { - "expression": { - "arguments": [ - { - "expression": { - "arguments": [ - { - "id": 4743, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "4036:4:13", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AxelarGasService_$4938", - "typeString": "contract AxelarGasService" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_AxelarGasService_$4938", - "typeString": "contract AxelarGasService" - } - ], - "id": 4742, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "4028:7:13", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 4741, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4028:7:13", - "typeDescriptions": {} - } - }, - "id": 4744, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4028:13:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 4745, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balance", - "nodeType": "MemberAccess", - "src": "4028:21:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 4738, - "name": "receiver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4708, - "src": "4010:8:13", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "id": 4740, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "src": "4010:17:13", - "typeDescriptions": { - "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 4746, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4010:40:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4747, - "nodeType": "ExpressionStatement", - "src": "4010:40:13" - } - ] - } - } - ] - }, - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4722, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 4719, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4717, - "src": "3889:1:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "expression": { - "id": 4720, - "name": "tokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4711, - "src": "3893:6:13", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", - "typeString": "address[] calldata" - } - }, - "id": 4721, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "src": "3893:13:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3889:17:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 4770, - "initializationExpression": { - "assignments": [ - 4717 - ], - "declarations": [ - { - "constant": false, - "id": 4717, - "mutability": "mutable", - "name": "i", - "nameLocation": "3886:1:13", - "nodeType": "VariableDeclaration", - "scope": 4770, - "src": "3878:9:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4716, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3878:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "id": 4718, - "nodeType": "VariableDeclarationStatement", - "src": "3878:9:13" - }, - "loopExpression": { - "expression": { - "id": 4724, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "3908:3:13", - "subExpression": { - "id": 4723, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4717, - "src": "3908:1:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4725, - "nodeType": "ExpressionStatement", - "src": "3908:3:13" - }, - "nodeType": "ForStatement", - "src": "3873:352:13" - } - ] - }, - "functionSelector": "da854d75", - "id": 4772, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 4714, - "kind": "modifierInvocation", - "modifierName": { - "id": 4713, - "name": "onlyOwner", - "nodeType": "IdentifierPath", - "referencedDeclaration": 6076, - "src": "3853:9:13" - }, - "nodeType": "ModifierInvocation", - "src": "3853:9:13" - } - ], - "name": "collectFees", - "nameLocation": "3779:11:13", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4712, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4708, - "mutability": "mutable", - "name": "receiver", - "nameLocation": "3807:8:13", - "nodeType": "VariableDeclaration", - "scope": 4772, - "src": "3791:24:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - "typeName": { - "id": 4707, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3791:15:13", - "stateMutability": "payable", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4711, - "mutability": "mutable", - "name": "tokens", - "nameLocation": "3836:6:13", - "nodeType": "VariableDeclaration", - "scope": 4772, - "src": "3817:25:13", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 4709, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3817:7:13", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 4710, - "nodeType": "ArrayTypeName", - "src": "3817:9:13", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "visibility": "internal" - } - ], - "src": "3790:53:13" - }, - "returnParameters": { - "id": 4715, - "nodeType": "ParameterList", - "parameters": [], - "src": "3863:0:13" - }, - "scope": 4938, - "src": "3770:461:13", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "baseFunctions": [ - 5358 - ], - "body": { - "id": 4804, - "nodeType": "Block", - "src": "4359:160:13", - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 4788, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 4783, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4776, - "src": "4373:5:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 4786, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4390:1:13", - "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": 4785, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "4382:7:13", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 4784, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4382:7:13", - "typeDescriptions": {} - } - }, - "id": 4787, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4382:10:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "4373:19:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 4802, - "nodeType": "Block", - "src": "4450:63:13", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 4797, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4776, - "src": "4478:5:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 4798, - "name": "receiver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4774, - "src": "4485:8:13", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "id": 4799, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4778, - "src": "4495:6:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 4796, - "name": "_safeTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4864, - "src": "4464:13:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 4800, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4464:38:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4801, - "nodeType": "ExpressionStatement", - "src": "4464:38:13" - } - ] - }, - "id": 4803, - "nodeType": "IfStatement", - "src": "4369:144:13", - "trueBody": { - "id": 4795, - "nodeType": "Block", - "src": "4394:50:13", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 4792, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4778, - "src": "4426:6:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 4789, - "name": "receiver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4774, - "src": "4408:8:13", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "id": 4791, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "src": "4408:17:13", - "typeDescriptions": { - "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 4793, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4408:25:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4794, - "nodeType": "ExpressionStatement", - "src": "4408:25:13" - } - ] - } - } - ] - }, - "functionSelector": "82ad6f35", - "id": 4805, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 4781, - "kind": "modifierInvocation", - "modifierName": { - "id": 4780, - "name": "onlyOwner", - "nodeType": "IdentifierPath", - "referencedDeclaration": 6076, - "src": "4349:9:13" - }, - "nodeType": "ModifierInvocation", - "src": "4349:9:13" - } - ], - "name": "refund", - "nameLocation": "4246:6:13", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4779, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4774, - "mutability": "mutable", - "name": "receiver", - "nameLocation": "4278:8:13", - "nodeType": "VariableDeclaration", - "scope": 4805, - "src": "4262:24:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - "typeName": { - "id": 4773, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4262:15:13", - "stateMutability": "payable", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4776, - "mutability": "mutable", - "name": "token", - "nameLocation": "4304:5:13", - "nodeType": "VariableDeclaration", - "scope": 4805, - "src": "4296:13:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4775, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4296:7:13", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4778, - "mutability": "mutable", - "name": "amount", - "nameLocation": "4327:6:13", - "nodeType": "VariableDeclaration", - "scope": 4805, - "src": "4319:14:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4777, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4319:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "4252:87:13" - }, - "returnParameters": { - "id": 4782, - "nodeType": "ParameterList", - "parameters": [], - "src": "4359:0:13" - }, - "scope": 4938, - "src": "4237:282:13", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 4863, - "nodeType": "Block", - "src": "4643:336:13", - "statements": [ - { - "assignments": [ - 4815, - 4817 - ], - "declarations": [ - { - "constant": false, - "id": 4815, - "mutability": "mutable", - "name": "success", - "nameLocation": "4659:7:13", - "nodeType": "VariableDeclaration", - "scope": 4863, - "src": "4654:12:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4814, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "4654:4:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4817, - "mutability": "mutable", - "name": "returnData", - "nameLocation": "4681:10:13", - "nodeType": "VariableDeclaration", - "scope": 4863, - "src": "4668:23:13", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 4816, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "4668:5:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "id": 4829, - "initialValue": { - "arguments": [ - { - "arguments": [ - { - "expression": { - "expression": { - "id": 4822, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5814, - "src": "4736:6:13", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5814_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 4823, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 5763, - "src": "4736:15:13", - "typeDescriptions": { - "typeIdentifier": "t_function_declaration_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function IERC20.transfer(address,uint256) returns (bool)" - } - }, - "id": 4824, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "selector", - "nodeType": "MemberAccess", - "src": "4736:24:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - { - "id": 4825, - "name": "receiver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4809, - "src": "4762:8:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 4826, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4811, - "src": "4772:6:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 4820, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "4713:3:13", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 4821, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodeWithSelector", - "nodeType": "MemberAccess", - "src": "4713:22:13", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (bytes4) pure returns (bytes memory)" - } - }, - "id": 4827, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4713:66:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "expression": { - "id": 4818, - "name": "tokenAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4807, - "src": "4695:12:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 4819, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "call", - "nodeType": "MemberAccess", - "src": "4695:17:13", - "typeDescriptions": { - "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "function (bytes memory) payable returns (bool,bytes memory)" - } - }, - "id": 4828, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4695:85:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "tuple(bool,bytes memory)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4653:127:13" - }, - { - "assignments": [ - 4831 - ], - "declarations": [ - { - "constant": false, - "id": 4831, - "mutability": "mutable", - "name": "transferred", - "nameLocation": "4795:11:13", - "nodeType": "VariableDeclaration", - "scope": 4863, - "src": "4790:16:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4830, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "4790:4:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "id": 4850, - "initialValue": { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 4849, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 4832, - "name": "success", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4815, - "src": "4809:7:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 4847, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4839, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 4833, - "name": "returnData", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4817, - "src": "4821:10:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 4834, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "src": "4821:17:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 4837, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4850:1:13", - "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": 4836, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "4842:7:13", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 4835, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4842:7:13", - "typeDescriptions": {} - } - }, - "id": 4838, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4842:10:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4821:31:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "arguments": [ - { - "id": 4842, - "name": "returnData", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4817, - "src": "4867:10:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "components": [ - { - "id": 4844, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "4880:4:13", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bool_$", - "typeString": "type(bool)" - }, - "typeName": { - "id": 4843, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "4880:4:13", - "typeDescriptions": {} - } - } - ], - "id": 4845, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "4879:6:13", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bool_$", - "typeString": "type(bool)" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_type$_t_bool_$", - "typeString": "type(bool)" - } - ], - "expression": { - "id": 4840, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "4856:3:13", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 4841, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "decode", - "nodeType": "MemberAccess", - "src": "4856:10:13", - "typeDescriptions": { - "typeIdentifier": "t_function_abidecode_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 4846, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4856:30:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "4821:65:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 4848, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "4820:67:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "4809:78:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4790:97:13" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 4858, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 4852, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "4902:12:13", - "subExpression": { - "id": 4851, - "name": "transferred", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4831, - "src": "4903:11:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4857, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "expression": { - "id": 4853, - "name": "tokenAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4807, - "src": "4918:12:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 4854, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "code", - "nodeType": "MemberAccess", - "src": "4918:17:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 4855, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "src": "4918:24:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 4856, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4946:1:13", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "4918:29:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "4902:45:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 4862, - "nodeType": "IfStatement", - "src": "4898:74:13", - "trueBody": { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 4859, - "name": "TransferFailed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5161, - "src": "4956:14:13", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 4860, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4956:16:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4861, - "nodeType": "RevertStatement", - "src": "4949:23:13" - } - } - ] - }, - "id": 4864, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_safeTransfer", - "nameLocation": "4534:13:13", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4812, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4807, - "mutability": "mutable", - "name": "tokenAddress", - "nameLocation": "4565:12:13", - "nodeType": "VariableDeclaration", - "scope": 4864, - "src": "4557:20:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4806, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4557:7:13", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4809, - "mutability": "mutable", - "name": "receiver", - "nameLocation": "4595:8:13", - "nodeType": "VariableDeclaration", - "scope": 4864, - "src": "4587:16:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4808, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4587:7:13", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4811, - "mutability": "mutable", - "name": "amount", - "nameLocation": "4621:6:13", - "nodeType": "VariableDeclaration", - "scope": 4864, - "src": "4613:14:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4810, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4613:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "4547:86:13" - }, - "returnParameters": { - "id": 4813, - "nodeType": "ParameterList", - "parameters": [], - "src": "4643:0:13" - }, - "scope": 4938, - "src": "4525:454:13", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 4926, - "nodeType": "Block", - "src": "5103:373:13", - "statements": [ - { - "assignments": [ - 4874, - 4876 - ], - "declarations": [ - { - "constant": false, - "id": 4874, - "mutability": "mutable", - "name": "success", - "nameLocation": "5119:7:13", - "nodeType": "VariableDeclaration", - "scope": 4926, - "src": "5114:12:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4873, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "5114:4:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4876, - "mutability": "mutable", - "name": "returnData", - "nameLocation": "5141:10:13", - "nodeType": "VariableDeclaration", - "scope": 4926, - "src": "5128:23:13", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 4875, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "5128:5:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "id": 4892, - "initialValue": { - "arguments": [ - { - "arguments": [ - { - "expression": { - "expression": { - "id": 4881, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5814, - "src": "5209:6:13", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5814_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 4882, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "transferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 5795, - "src": "5209:19:13", - "typeDescriptions": { - "typeIdentifier": "t_function_declaration_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function IERC20.transferFrom(address,address,uint256) returns (bool)" - } - }, - "id": 4883, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "selector", - "nodeType": "MemberAccess", - "src": "5209:28:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - { - "id": 4884, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4868, - "src": "5239:4:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "arguments": [ - { - "id": 4887, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "5253:4:13", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AxelarGasService_$4938", - "typeString": "contract AxelarGasService" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_AxelarGasService_$4938", - "typeString": "contract AxelarGasService" - } - ], - "id": 4886, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "5245:7:13", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 4885, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5245:7:13", - "typeDescriptions": {} - } - }, - "id": 4888, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5245:13:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 4889, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4870, - "src": "5260:6:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 4879, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "5186:3:13", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 4880, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodeWithSelector", - "nodeType": "MemberAccess", - "src": "5186:22:13", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (bytes4) pure returns (bytes memory)" - } - }, - "id": 4890, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5186:81:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "expression": { - "id": 4877, - "name": "tokenAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4866, - "src": "5155:12:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 4878, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "call", - "nodeType": "MemberAccess", - "src": "5155:17:13", - "typeDescriptions": { - "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "function (bytes memory) payable returns (bool,bytes memory)" - } - }, - "id": 4891, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5155:122:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "tuple(bool,bytes memory)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5113:164:13" - }, - { - "assignments": [ - 4894 - ], - "declarations": [ - { - "constant": false, - "id": 4894, - "mutability": "mutable", - "name": "transferred", - "nameLocation": "5292:11:13", - "nodeType": "VariableDeclaration", - "scope": 4926, - "src": "5287:16:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4893, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "5287:4:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "id": 4913, - "initialValue": { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 4912, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 4895, - "name": "success", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4874, - "src": "5306:7:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "components": [ - { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 4910, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4902, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 4896, - "name": "returnData", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4876, - "src": "5318:10:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 4897, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "src": "5318:17:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 4900, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5347:1:13", - "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": 4899, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "5339:7:13", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 4898, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5339:7:13", - "typeDescriptions": {} - } - }, - "id": 4901, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5339:10:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5318:31:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "arguments": [ - { - "id": 4905, - "name": "returnData", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4876, - "src": "5364:10:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "components": [ - { - "id": 4907, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "5377:4:13", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bool_$", - "typeString": "type(bool)" - }, - "typeName": { - "id": 4906, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "5377:4:13", - "typeDescriptions": {} - } - } - ], - "id": 4908, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "5376:6:13", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bool_$", - "typeString": "type(bool)" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_type$_t_bool_$", - "typeString": "type(bool)" - } - ], - "expression": { - "id": 4903, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "5353:3:13", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 4904, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "decode", - "nodeType": "MemberAccess", - "src": "5353:10:13", - "typeDescriptions": { - "typeIdentifier": "t_function_abidecode_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 4909, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5353:30:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "5318:65:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 4911, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "5317:67:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "5306:78:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5287:97:13" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 4921, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 4915, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "5399:12:13", - "subExpression": { - "id": 4914, - "name": "transferred", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4894, - "src": "5400:11:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4920, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "expression": { - "id": 4916, - "name": "tokenAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4866, - "src": "5415:12:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 4917, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "code", - "nodeType": "MemberAccess", - "src": "5415:17:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 4918, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "src": "5415:24:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "hexValue": "30", - "id": 4919, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5443:1:13", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "5415:29:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "5399:45:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 4925, - "nodeType": "IfStatement", - "src": "5395:74:13", - "trueBody": { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 4922, - "name": "TransferFailed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5161, - "src": "5453:14:13", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 4923, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5453:16:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4924, - "nodeType": "RevertStatement", - "src": "5446:23:13" - } - } - ] - }, - "id": 4927, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_safeTransferFrom", - "nameLocation": "4994:17:13", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4871, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4866, - "mutability": "mutable", - "name": "tokenAddress", - "nameLocation": "5029:12:13", - "nodeType": "VariableDeclaration", - "scope": 4927, - "src": "5021:20:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4865, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5021:7:13", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4868, - "mutability": "mutable", - "name": "from", - "nameLocation": "5059:4:13", - "nodeType": "VariableDeclaration", - "scope": 4927, - "src": "5051:12:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4867, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5051:7:13", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4870, - "mutability": "mutable", - "name": "amount", - "nameLocation": "5081:6:13", - "nodeType": "VariableDeclaration", - "scope": 4927, - "src": "5073:14:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4869, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5073:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "5011:82:13" - }, - "returnParameters": { - "id": 4872, - "nodeType": "ParameterList", - "parameters": [], - "src": "5103:0:13" - }, - "scope": 4938, - "src": "4985:491:13", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "baseFunctions": [ - 5966 - ], - "body": { - "id": 4936, - "nodeType": "Block", - "src": "5534:55:13", - "statements": [ - { - "expression": { - "arguments": [ - { - "hexValue": "6178656c61722d6761732d73657276696365", - "id": 4933, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5561:20:13", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_faa2f015f2ce5aee225904728de2def86eb8837491efd21f1a04fc20d8e923f6", - "typeString": "literal_string \"axelar-gas-service\"" - }, - "value": "axelar-gas-service" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_faa2f015f2ce5aee225904728de2def86eb8837491efd21f1a04fc20d8e923f6", - "typeString": "literal_string \"axelar-gas-service\"" - } - ], - "id": 4932, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "5551:9:13", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 4934, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5551:31:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "functionReturnParameters": 4931, - "id": 4935, - "nodeType": "Return", - "src": "5544:38:13" - } - ] - }, - "functionSelector": "8291286c", - "id": 4937, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "contractId", - "nameLocation": "5491:10:13", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4928, - "nodeType": "ParameterList", - "parameters": [], - "src": "5501:2:13" - }, - "returnParameters": { - "id": 4931, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4930, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 4937, - "src": "5525:7:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4929, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "5525:7:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "5524:9:13" - }, - "scope": 4938, - "src": "5482:107:13", - "stateMutability": "pure", - "virtual": false, - "visibility": "public" - } - ], - "scope": 4939, - "src": "283:5308:13", - "usedErrors": [ - 5159, - 5161, - 5938, - 5940, - 5942, - 5944, - 5946, - 5948 - ] - } - ], - "src": "33:5559:13" - }, - "id": 13 - }, - "@axelar-network/axelar-cgp-solidity/contracts/gas-service/AxelarGasServiceProxy.sol": { - "ast": { - "absolutePath": "@axelar-network/axelar-cgp-solidity/contracts/gas-service/AxelarGasServiceProxy.sol", - "exportedSymbols": { - "AxelarGasServiceProxy": [ - 4972 - ], - "IUpgradable": [ - 5981 - ], - "Proxy": [ - 6052 - ] - }, - "id": 4973, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 4940, - "literals": [ - "solidity", - "0.8", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "33:22:14" - }, - { - "absolutePath": "@axelar-network/axelar-cgp-solidity/contracts/util/Proxy.sol", - "file": "../util/Proxy.sol", - "id": 4942, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 4973, - "sourceUnit": 6053, - "src": "57:42:14", - "symbolAliases": [ - { - "foreign": { - "id": 4941, - "name": "Proxy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "src": "66:5:14", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "absolutePath": "@axelar-network/axelar-cgp-solidity/contracts/interfaces/IUpgradable.sol", - "file": "../interfaces/IUpgradable.sol", - "id": 4944, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 4973, - "sourceUnit": 5982, - "src": "100:60:14", - "symbolAliases": [ - { - "foreign": { - "id": 4943, - "name": "IUpgradable", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "src": "109:11:14", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "baseName": { - "id": 4945, - "name": "Proxy", - "nodeType": "IdentifierPath", - "referencedDeclaration": 6052, - "src": "196:5:14" - }, - "id": 4946, - "nodeType": "InheritanceSpecifier", - "src": "196:5:14" - } - ], - "canonicalName": "AxelarGasServiceProxy", - "contractDependencies": [], - "contractKind": "contract", - "fullyImplemented": true, - "id": 4972, - "linearizedBaseContracts": [ - 4972, - 6052 - ], - "name": "AxelarGasServiceProxy", - "nameLocation": "171:21:14", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 4970, - "nodeType": "Block", - "src": "309:135:14", - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "id": 4965, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "arguments": [ - { - "id": 4958, - "name": "implementationAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4948, - "src": "335:21:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 4957, - "name": "IUpgradable", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5981, - "src": "323:11:14", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IUpgradable_$5981_$", - "typeString": "type(contract IUpgradable)" - } - }, - "id": 4959, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "323:34:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IUpgradable_$5981", - "typeString": "contract IUpgradable" - } - }, - "id": 4960, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "contractId", - "nodeType": "MemberAccess", - "referencedDeclaration": 5966, - "src": "323:45:14", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 4961, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "323:47:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "arguments": [ - { - "hexValue": "6178656c61722d6761732d73657276696365", - "id": 4963, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "384:20:14", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_faa2f015f2ce5aee225904728de2def86eb8837491efd21f1a04fc20d8e923f6", - "typeString": "literal_string \"axelar-gas-service\"" - }, - "value": "axelar-gas-service" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_faa2f015f2ce5aee225904728de2def86eb8837491efd21f1a04fc20d8e923f6", - "typeString": "literal_string \"axelar-gas-service\"" - } - ], - "id": 4962, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "374:9:14", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 4964, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "374:31:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "src": "323:82:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 4969, - "nodeType": "IfStatement", - "src": "319:118:14", - "trueBody": { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 4966, - "name": "InvalidImplementation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5985, - "src": "414:21:14", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 4967, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "414:23:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4968, - "nodeType": "RevertStatement", - "src": "407:30:14" - } - } - ] - }, - "id": 4971, - "implemented": true, - "kind": "constructor", - "modifiers": [ - { - "arguments": [ - { - "id": 4953, - "name": "implementationAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4948, - "src": "278:21:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 4954, - "name": "params", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4950, - "src": "301:6:14", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "id": 4955, - "kind": "baseConstructorSpecifier", - "modifierName": { - "id": 4952, - "name": "Proxy", - "nodeType": "IdentifierPath", - "referencedDeclaration": 6052, - "src": "272:5:14" - }, - "nodeType": "ModifierInvocation", - "src": "272:36:14" - } - ], - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4951, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4948, - "mutability": "mutable", - "name": "implementationAddress", - "nameLocation": "228:21:14", - "nodeType": "VariableDeclaration", - "scope": 4971, - "src": "220:29:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4947, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "220:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4950, - "mutability": "mutable", - "name": "params", - "nameLocation": "264:6:14", - "nodeType": "VariableDeclaration", - "scope": 4971, - "src": "251:19:14", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 4949, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "251:5:14", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "219:52:14" - }, - "returnParameters": { - "id": 4956, - "nodeType": "ParameterList", - "parameters": [], - "src": "309:0:14" - }, - "scope": 4972, - "src": "208:236:14", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - } - ], - "scope": 4973, - "src": "162:284:14", - "usedErrors": [ - 5985, - 5987, - 5989 - ] - } - ], - "src": "33:414:14" - }, - "id": 14 - }, - "@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarAuth.sol": { - "ast": { - "absolutePath": "@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarAuth.sol", - "exportedSymbols": { - "IAxelarAuth": [ - 4993 - ], - "IOwnable": [ - 5916 - ] - }, - "id": 4994, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 4974, - "literals": [ - "solidity", - "0.8", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "33:22:15" - }, - { - "absolutePath": "@axelar-network/axelar-cgp-solidity/contracts/interfaces/IOwnable.sol", - "file": "./IOwnable.sol", - "id": 4976, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 4994, - "sourceUnit": 5917, - "src": "57:42:15", - "symbolAliases": [ - { - "foreign": { - "id": 4975, - "name": "IOwnable", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "src": "66:8:15", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "baseName": { - "id": 4977, - "name": "IOwnable", - "nodeType": "IdentifierPath", - "referencedDeclaration": 5916, - "src": "126:8:15" - }, - "id": 4978, - "nodeType": "InheritanceSpecifier", - "src": "126:8:15" - } - ], - "canonicalName": "IAxelarAuth", - "contractDependencies": [], - "contractKind": "interface", - "fullyImplemented": false, - "id": 4993, - "linearizedBaseContracts": [ - 4993, - 5916 - ], - "name": "IAxelarAuth", - "nameLocation": "111:11:15", - "nodeType": "ContractDefinition", - "nodes": [ - { - "functionSelector": "73e3d66a", - "id": 4987, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "validateProof", - "nameLocation": "150:13:15", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4983, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4980, - "mutability": "mutable", - "name": "messageHash", - "nameLocation": "172:11:15", - "nodeType": "VariableDeclaration", - "scope": 4987, - "src": "164:19:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 4979, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "164:7:15", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4982, - "mutability": "mutable", - "name": "proof", - "nameLocation": "200:5:15", - "nodeType": "VariableDeclaration", - "scope": 4987, - "src": "185:20:15", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 4981, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "185:5:15", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "163:43:15" - }, - "returnParameters": { - "id": 4986, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4985, - "mutability": "mutable", - "name": "currentOperators", - "nameLocation": "230:16:15", - "nodeType": "VariableDeclaration", - "scope": 4987, - "src": "225:21:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4984, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "225:4:15", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "224:23:15" - }, - "scope": 4993, - "src": "141:107:15", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "functionSelector": "d289d1cb", - "id": 4992, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transferOperatorship", - "nameLocation": "263:20:15", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 4990, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4989, - "mutability": "mutable", - "name": "params", - "nameLocation": "299:6:15", - "nodeType": "VariableDeclaration", - "scope": 4992, - "src": "284:21:15", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 4988, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "284:5:15", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "283:23:15" - }, - "returnParameters": { - "id": 4991, - "nodeType": "ParameterList", - "parameters": [], - "src": "315:0:15" - }, - "scope": 4993, - "src": "254:62:15", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 4994, - "src": "101:217:15", - "usedErrors": [ - 5897, - 5899 - ] - } - ], - "src": "33:286:15" - }, - "id": 15 - }, - "@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarAuthMultisig.sol": { - "ast": { - "absolutePath": "@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarAuthMultisig.sol", - "exportedSymbols": { - "IAxelarAuth": [ - 4993 - ], - "IAxelarAuthMultisig": [ - 5026 - ] - }, - "id": 5027, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 4995, - "literals": [ - "solidity", - "0.8", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "33:22:16" - }, - { - "absolutePath": "@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarAuth.sol", - "file": "./IAxelarAuth.sol", - "id": 4997, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 5027, - "sourceUnit": 4994, - "src": "57:48:16", - "symbolAliases": [ - { - "foreign": { - "id": 4996, - "name": "IAxelarAuth", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "src": "66:11:16", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "baseName": { - "id": 4998, - "name": "IAxelarAuth", - "nodeType": "IdentifierPath", - "referencedDeclaration": 4993, - "src": "140:11:16" - }, - "id": 4999, - "nodeType": "InheritanceSpecifier", - "src": "140:11:16" - } - ], - "canonicalName": "IAxelarAuthMultisig", - "contractDependencies": [], - "contractKind": "interface", - "fullyImplemented": false, - "id": 5026, - "linearizedBaseContracts": [ - 5026, - 4993, - 5916 - ], - "name": "IAxelarAuthMultisig", - "nameLocation": "117:19:16", - "nodeType": "ContractDefinition", - "nodes": [ - { - "anonymous": false, - "id": 5006, - "name": "OperatorshipTransferred", - "nameLocation": "164:23:16", - "nodeType": "EventDefinition", - "parameters": { - "id": 5005, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5002, - "indexed": false, - "mutability": "mutable", - "name": "newOperators", - "nameLocation": "198:12:16", - "nodeType": "VariableDeclaration", - "scope": 5006, - "src": "188:22:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 5000, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "188:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 5001, - "nodeType": "ArrayTypeName", - "src": "188:9:16", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5004, - "indexed": false, - "mutability": "mutable", - "name": "newThreshold", - "nameLocation": "220:12:16", - "nodeType": "VariableDeclaration", - "scope": 5006, - "src": "212:20:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5003, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "212:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "187:46:16" - }, - "src": "158:76:16" - }, - { - "functionSelector": "76671808", - "id": 5011, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "currentEpoch", - "nameLocation": "249:12:16", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5007, - "nodeType": "ParameterList", - "parameters": [], - "src": "261:2:16" - }, - "returnParameters": { - "id": 5010, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5009, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 5011, - "src": "287:7:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5008, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "287:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "286:9:16" - }, - "scope": 5026, - "src": "240:56:16", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "functionSelector": "ba6742e5", - "id": 5018, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "hashForEpoch", - "nameLocation": "311:12:16", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5014, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5013, - "mutability": "mutable", - "name": "epoch", - "nameLocation": "332:5:16", - "nodeType": "VariableDeclaration", - "scope": 5018, - "src": "324:13:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5012, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "324:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "323:15:16" - }, - "returnParameters": { - "id": 5017, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5016, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 5018, - "src": "362:7:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5015, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "362:7:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "361:9:16" - }, - "scope": 5026, - "src": "302:69:16", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "functionSelector": "f1501c89", - "id": 5025, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "epochForHash", - "nameLocation": "386:12:16", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5021, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5020, - "mutability": "mutable", - "name": "hash", - "nameLocation": "407:4:16", - "nodeType": "VariableDeclaration", - "scope": 5025, - "src": "399:12:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5019, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "399:7:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "398:14:16" - }, - "returnParameters": { - "id": 5024, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5023, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 5025, - "src": "436:7:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5022, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "436:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "435:9:16" - }, - "scope": 5026, - "src": "377:68:16", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - } - ], - "scope": 5027, - "src": "107:340:16", - "usedErrors": [ - 5897, - 5899 - ] - } - ], - "src": "33:415:16" - }, - "id": 16 - }, - "@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarExecutable.sol": { - "ast": { - "absolutePath": "@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarExecutable.sol", - "exportedSymbols": { - "IAxelarExecutable": [ - 5152 - ], - "IAxelarGateway": [ - 5700 - ] - }, - "id": 5153, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 5028, - "literals": [ - "solidity", - "0.8", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "33:22:17" - }, - { - "absolutePath": "@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarGateway.sol", - "file": "./IAxelarGateway.sol", - "id": 5030, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 5153, - "sourceUnit": 5701, - "src": "57:54:17", - "symbolAliases": [ - { - "foreign": { - "id": 5029, - "name": "IAxelarGateway", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "src": "66:14:17", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "abstract": true, - "baseContracts": [], - "canonicalName": "IAxelarExecutable", - "contractDependencies": [], - "contractKind": "contract", - "fullyImplemented": true, - "id": 5152, - "linearizedBaseContracts": [ - 5152 - ], - "name": "IAxelarExecutable", - "nameLocation": "131:17:17", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 5032, - "name": "NotApprovedByGateway", - "nameLocation": "161:20:17", - "nodeType": "ErrorDefinition", - "parameters": { - "id": 5031, - "nodeType": "ParameterList", - "parameters": [], - "src": "181:2:17" - }, - "src": "155:29:17" - }, - { - "constant": false, - "functionSelector": "116191b6", - "id": 5035, - "mutability": "mutable", - "name": "gateway", - "nameLocation": "212:7:17", - "nodeType": "VariableDeclaration", - "scope": 5152, - "src": "190:29:17", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IAxelarGateway_$5700", - "typeString": "contract IAxelarGateway" - }, - "typeName": { - "id": 5034, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 5033, - "name": "IAxelarGateway", - "nodeType": "IdentifierPath", - "referencedDeclaration": 5700, - "src": "190:14:17" - }, - "referencedDeclaration": 5700, - "src": "190:14:17", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IAxelarGateway_$5700", - "typeString": "contract IAxelarGateway" - } - }, - "visibility": "public" - }, - { - "body": { - "id": 5046, - "nodeType": "Block", - "src": "256:51:17", - "statements": [ - { - "expression": { - "id": 5044, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 5040, - "name": "gateway", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5035, - "src": "266:7:17", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IAxelarGateway_$5700", - "typeString": "contract IAxelarGateway" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 5042, - "name": "gateway_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5037, - "src": "291:8:17", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 5041, - "name": "IAxelarGateway", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5700, - "src": "276:14:17", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IAxelarGateway_$5700_$", - "typeString": "type(contract IAxelarGateway)" - } - }, - "id": 5043, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "276:24:17", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IAxelarGateway_$5700", - "typeString": "contract IAxelarGateway" - } - }, - "src": "266:34:17", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IAxelarGateway_$5700", - "typeString": "contract IAxelarGateway" - } - }, - "id": 5045, - "nodeType": "ExpressionStatement", - "src": "266:34:17" - } - ] - }, - "id": 5047, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5038, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5037, - "mutability": "mutable", - "name": "gateway_", - "nameLocation": "246:8:17", - "nodeType": "VariableDeclaration", - "scope": 5047, - "src": "238:16:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5036, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "238:7:17", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "237:18:17" - }, - "returnParameters": { - "id": 5039, - "nodeType": "ParameterList", - "parameters": [], - "src": "256:0:17" - }, - "scope": 5152, - "src": "226:81:17", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 5082, - "nodeType": "Block", - "src": "480:238:17", - "statements": [ - { - "assignments": [ - 5059 - ], - "declarations": [ - { - "constant": false, - "id": 5059, - "mutability": "mutable", - "name": "payloadHash", - "nameLocation": "498:11:17", - "nodeType": "VariableDeclaration", - "scope": 5082, - "src": "490:19:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5058, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "490:7:17", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "id": 5063, - "initialValue": { - "arguments": [ - { - "id": 5061, - "name": "payload", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5055, - "src": "522:7:17", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - ], - "id": 5060, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "512:9:17", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 5062, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "512:18:17", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "490:40:17" - }, - { - "condition": { - "id": 5071, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "544:81:17", - "subExpression": { - "arguments": [ - { - "id": 5066, - "name": "commandId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5049, - "src": "574:9:17", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 5067, - "name": "sourceChain", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5051, - "src": "585:11:17", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - } - }, - { - "id": 5068, - "name": "sourceAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5053, - "src": "598:13:17", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - } - }, - { - "id": 5069, - "name": "payloadHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5059, - "src": "613:11:17", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - }, - { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "id": 5064, - "name": "gateway", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5035, - "src": "545:7:17", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IAxelarGateway_$5700", - "typeString": "contract IAxelarGateway" - } - }, - "id": 5065, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "validateContractCall", - "nodeType": "MemberAccess", - "referencedDeclaration": 5589, - "src": "545:28:17", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_bytes32_$returns$_t_bool_$", - "typeString": "function (bytes32,string memory,string memory,bytes32) external returns (bool)" - } - }, - "id": 5070, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "545:80:17", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 5075, - "nodeType": "IfStatement", - "src": "540:116:17", - "trueBody": { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 5072, - "name": "NotApprovedByGateway", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5032, - "src": "634:20:17", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 5073, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "634:22:17", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5074, - "nodeType": "RevertStatement", - "src": "627:29:17" - } - }, - { - "expression": { - "arguments": [ - { - "id": 5077, - "name": "sourceChain", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5051, - "src": "675:11:17", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - } - }, - { - "id": 5078, - "name": "sourceAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5053, - "src": "688:13:17", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - } - }, - { - "id": 5079, - "name": "payload", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5055, - "src": "703:7:17", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - }, - { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - }, - { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - ], - "id": 5076, - "name": "_execute", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5137, - "src": "666:8:17", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_bytes_calldata_ptr_$returns$__$", - "typeString": "function (string memory,string memory,bytes calldata)" - } - }, - "id": 5080, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "666:45:17", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5081, - "nodeType": "ExpressionStatement", - "src": "666:45:17" - } - ] - }, - "functionSelector": "49160658", - "id": 5083, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "execute", - "nameLocation": "322:7:17", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5056, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5049, - "mutability": "mutable", - "name": "commandId", - "nameLocation": "347:9:17", - "nodeType": "VariableDeclaration", - "scope": 5083, - "src": "339:17:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5048, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "339:7:17", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5051, - "mutability": "mutable", - "name": "sourceChain", - "nameLocation": "382:11:17", - "nodeType": "VariableDeclaration", - "scope": 5083, - "src": "366:27:17", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string" - }, - "typeName": { - "id": 5050, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "366:6:17", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5053, - "mutability": "mutable", - "name": "sourceAddress", - "nameLocation": "419:13:17", - "nodeType": "VariableDeclaration", - "scope": 5083, - "src": "403:29:17", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string" - }, - "typeName": { - "id": 5052, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "403:6:17", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5055, - "mutability": "mutable", - "name": "payload", - "nameLocation": "457:7:17", - "nodeType": "VariableDeclaration", - "scope": 5083, - "src": "442:22:17", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 5054, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "442:5:17", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "329:141:17" - }, - "returnParameters": { - "id": 5057, - "nodeType": "ParameterList", - "parameters": [], - "src": "480:0:17" - }, - "scope": 5152, - "src": "313:405:17", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 5126, - "nodeType": "Block", - "src": "961:309:17", - "statements": [ - { - "assignments": [ - 5099 - ], - "declarations": [ - { - "constant": false, - "id": 5099, - "mutability": "mutable", - "name": "payloadHash", - "nameLocation": "979:11:17", - "nodeType": "VariableDeclaration", - "scope": 5126, - "src": "971:19:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5098, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "971:7:17", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "id": 5103, - "initialValue": { - "arguments": [ - { - "id": 5101, - "name": "payload", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5091, - "src": "1003:7:17", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - ], - "id": 5100, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "993:9:17", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 5102, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "993:18:17", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "971:40:17" - }, - { - "condition": { - "id": 5113, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "1025:109:17", - "subExpression": { - "arguments": [ - { - "id": 5106, - "name": "commandId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5085, - "src": "1062:9:17", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 5107, - "name": "sourceChain", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5087, - "src": "1073:11:17", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - } - }, - { - "id": 5108, - "name": "sourceAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5089, - "src": "1086:13:17", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - } - }, - { - "id": 5109, - "name": "payloadHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5099, - "src": "1101:11:17", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 5110, - "name": "tokenSymbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5093, - "src": "1114:11:17", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - } - }, - { - "id": 5111, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5095, - "src": "1127:6:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - }, - { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 5104, - "name": "gateway", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5035, - "src": "1026:7:17", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IAxelarGateway_$5700", - "typeString": "contract IAxelarGateway" - } - }, - "id": 5105, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "validateContractCallAndMint", - "nodeType": "MemberAccess", - "referencedDeclaration": 5606, - "src": "1026:35:17", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_bytes32_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_bytes32_$_t_string_memory_ptr_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (bytes32,string memory,string memory,bytes32,string memory,uint256) external returns (bool)" - } - }, - "id": 5112, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1026:108:17", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 5117, - "nodeType": "IfStatement", - "src": "1021:156:17", - "trueBody": { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 5114, - "name": "NotApprovedByGateway", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5032, - "src": "1155:20:17", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 5115, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1155:22:17", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5116, - "nodeType": "RevertStatement", - "src": "1148:29:17" - } - }, - { - "expression": { - "arguments": [ - { - "id": 5119, - "name": "sourceChain", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5087, - "src": "1206:11:17", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - } - }, - { - "id": 5120, - "name": "sourceAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5089, - "src": "1219:13:17", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - } - }, - { - "id": 5121, - "name": "payload", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5091, - "src": "1234:7:17", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - }, - { - "id": 5122, - "name": "tokenSymbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5093, - "src": "1243:11:17", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - } - }, - { - "id": 5123, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5095, - "src": "1256:6:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - }, - { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - }, - { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - }, - { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5118, - "name": "_executeWithToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5151, - "src": "1188:17:17", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_bytes_calldata_ptr_$_t_string_memory_ptr_$_t_uint256_$returns$__$", - "typeString": "function (string memory,string memory,bytes calldata,string memory,uint256)" - } - }, - "id": 5124, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1188:75:17", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5125, - "nodeType": "ExpressionStatement", - "src": "1188:75:17" - } - ] - }, - "functionSelector": "1a98b2e0", - "id": 5127, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "executeWithToken", - "nameLocation": "733:16:17", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5096, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5085, - "mutability": "mutable", - "name": "commandId", - "nameLocation": "767:9:17", - "nodeType": "VariableDeclaration", - "scope": 5127, - "src": "759:17:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5084, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "759:7:17", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5087, - "mutability": "mutable", - "name": "sourceChain", - "nameLocation": "802:11:17", - "nodeType": "VariableDeclaration", - "scope": 5127, - "src": "786:27:17", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string" - }, - "typeName": { - "id": 5086, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "786:6:17", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5089, - "mutability": "mutable", - "name": "sourceAddress", - "nameLocation": "839:13:17", - "nodeType": "VariableDeclaration", - "scope": 5127, - "src": "823:29:17", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string" - }, - "typeName": { - "id": 5088, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "823:6:17", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5091, - "mutability": "mutable", - "name": "payload", - "nameLocation": "877:7:17", - "nodeType": "VariableDeclaration", - "scope": 5127, - "src": "862:22:17", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 5090, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "862:5:17", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5093, - "mutability": "mutable", - "name": "tokenSymbol", - "nameLocation": "910:11:17", - "nodeType": "VariableDeclaration", - "scope": 5127, - "src": "894:27:17", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string" - }, - "typeName": { - "id": 5092, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "894:6:17", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5095, - "mutability": "mutable", - "name": "amount", - "nameLocation": "939:6:17", - "nodeType": "VariableDeclaration", - "scope": 5127, - "src": "931:14:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5094, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "931:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "749:202:17" - }, - "returnParameters": { - "id": 5097, - "nodeType": "ParameterList", - "parameters": [], - "src": "961:0:17" - }, - "scope": 5152, - "src": "724:546:17", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 5136, - "nodeType": "Block", - "src": "1421:2:17", - "statements": [] - }, - "id": 5137, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_execute", - "nameLocation": "1285:8:17", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5134, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5129, - "mutability": "mutable", - "name": "sourceChain", - "nameLocation": "1317:11:17", - "nodeType": "VariableDeclaration", - "scope": 5137, - "src": "1303:25:17", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 5128, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1303:6:17", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5131, - "mutability": "mutable", - "name": "sourceAddress", - "nameLocation": "1352:13:17", - "nodeType": "VariableDeclaration", - "scope": 5137, - "src": "1338:27:17", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 5130, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1338:6:17", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5133, - "mutability": "mutable", - "name": "payload", - "nameLocation": "1390:7:17", - "nodeType": "VariableDeclaration", - "scope": 5137, - "src": "1375:22:17", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 5132, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "1375:5:17", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "1293:110:17" - }, - "returnParameters": { - "id": 5135, - "nodeType": "ParameterList", - "parameters": [], - "src": "1421:0:17" - }, - "scope": 5152, - "src": "1276:147:17", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 5150, - "nodeType": "Block", - "src": "1642:2:17", - "statements": [] - }, - "id": 5151, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_executeWithToken", - "nameLocation": "1438:17:17", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5148, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5139, - "mutability": "mutable", - "name": "sourceChain", - "nameLocation": "1479:11:17", - "nodeType": "VariableDeclaration", - "scope": 5151, - "src": "1465:25:17", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 5138, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1465:6:17", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5141, - "mutability": "mutable", - "name": "sourceAddress", - "nameLocation": "1514:13:17", - "nodeType": "VariableDeclaration", - "scope": 5151, - "src": "1500:27:17", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 5140, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1500:6:17", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5143, - "mutability": "mutable", - "name": "payload", - "nameLocation": "1552:7:17", - "nodeType": "VariableDeclaration", - "scope": 5151, - "src": "1537:22:17", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 5142, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "1537:5:17", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5145, - "mutability": "mutable", - "name": "tokenSymbol", - "nameLocation": "1583:11:17", - "nodeType": "VariableDeclaration", - "scope": 5151, - "src": "1569:25:17", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 5144, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1569:6:17", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5147, - "mutability": "mutable", - "name": "amount", - "nameLocation": "1612:6:17", - "nodeType": "VariableDeclaration", - "scope": 5151, - "src": "1604:14:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5146, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1604:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1455:169:17" - }, - "returnParameters": { - "id": 5149, - "nodeType": "ParameterList", - "parameters": [], - "src": "1642:0:17" - }, - "scope": 5152, - "src": "1429:215:17", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - } - ], - "scope": 5153, - "src": "113:1533:17", - "usedErrors": [ - 5032 - ] - } - ], - "src": "33:1614:17" - }, - "id": 17 - }, - "@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarGasService.sol": { - "ast": { - "absolutePath": "@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarGasService.sol", - "exportedSymbols": { - "IAxelarGasService": [ - 5359 - ], - "IUpgradable": [ - 5981 - ] - }, - "id": 5360, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 5154, - "literals": [ - "solidity", - "0.8", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "33:22:18" - }, - { - "absolutePath": "@axelar-network/axelar-cgp-solidity/contracts/interfaces/IUpgradable.sol", - "file": "./IUpgradable.sol", - "id": 5155, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 5360, - "sourceUnit": 5982, - "src": "57:27:18", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "baseName": { - "id": 5156, - "name": "IUpgradable", - "nodeType": "IdentifierPath", - "referencedDeclaration": 5981, - "src": "185:11:18" - }, - "id": 5157, - "nodeType": "InheritanceSpecifier", - "src": "185:11:18" - } - ], - "canonicalName": "IAxelarGasService", - "contractDependencies": [], - "contractKind": "interface", - "fullyImplemented": false, - "id": 5359, - "linearizedBaseContracts": [ - 5359, - 5981 - ], - "name": "IAxelarGasService", - "nameLocation": "164:17:18", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 5159, - "name": "NothingReceived", - "nameLocation": "209:15:18", - "nodeType": "ErrorDefinition", - "parameters": { - "id": 5158, - "nodeType": "ParameterList", - "parameters": [], - "src": "224:2:18" - }, - "src": "203:24:18" - }, - { - "id": 5161, - "name": "TransferFailed", - "nameLocation": "238:14:18", - "nodeType": "ErrorDefinition", - "parameters": { - "id": 5160, - "nodeType": "ParameterList", - "parameters": [], - "src": "252:2:18" - }, - "src": "232:23:18" - }, - { - "anonymous": false, - "id": 5177, - "name": "GasPaidForContractCall", - "nameLocation": "267:22:18", - "nodeType": "EventDefinition", - "parameters": { - "id": 5176, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5163, - "indexed": true, - "mutability": "mutable", - "name": "sourceAddress", - "nameLocation": "315:13:18", - "nodeType": "VariableDeclaration", - "scope": 5177, - "src": "299:29:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5162, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "299:7:18", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5165, - "indexed": false, - "mutability": "mutable", - "name": "destinationChain", - "nameLocation": "345:16:18", - "nodeType": "VariableDeclaration", - "scope": 5177, - "src": "338:23:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 5164, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "338:6:18", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5167, - "indexed": false, - "mutability": "mutable", - "name": "destinationAddress", - "nameLocation": "378:18:18", - "nodeType": "VariableDeclaration", - "scope": 5177, - "src": "371:25:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 5166, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "371:6:18", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5169, - "indexed": true, - "mutability": "mutable", - "name": "payloadHash", - "nameLocation": "422:11:18", - "nodeType": "VariableDeclaration", - "scope": 5177, - "src": "406:27:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5168, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "406:7:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5171, - "indexed": false, - "mutability": "mutable", - "name": "gasToken", - "nameLocation": "451:8:18", - "nodeType": "VariableDeclaration", - "scope": 5177, - "src": "443:16:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5170, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "443:7:18", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5173, - "indexed": false, - "mutability": "mutable", - "name": "gasFeeAmount", - "nameLocation": "477:12:18", - "nodeType": "VariableDeclaration", - "scope": 5177, - "src": "469:20:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5172, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "469:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5175, - "indexed": false, - "mutability": "mutable", - "name": "refundAddress", - "nameLocation": "507:13:18", - "nodeType": "VariableDeclaration", - "scope": 5177, - "src": "499:21:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5174, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "499:7:18", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "289:237:18" - }, - "src": "261:266:18" - }, - { - "anonymous": false, - "id": 5197, - "name": "GasPaidForContractCallWithToken", - "nameLocation": "539:31:18", - "nodeType": "EventDefinition", - "parameters": { - "id": 5196, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5179, - "indexed": true, - "mutability": "mutable", - "name": "sourceAddress", - "nameLocation": "596:13:18", - "nodeType": "VariableDeclaration", - "scope": 5197, - "src": "580:29:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5178, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "580:7:18", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5181, - "indexed": false, - "mutability": "mutable", - "name": "destinationChain", - "nameLocation": "626:16:18", - "nodeType": "VariableDeclaration", - "scope": 5197, - "src": "619:23:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 5180, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "619:6:18", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5183, - "indexed": false, - "mutability": "mutable", - "name": "destinationAddress", - "nameLocation": "659:18:18", - "nodeType": "VariableDeclaration", - "scope": 5197, - "src": "652:25:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 5182, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "652:6:18", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5185, - "indexed": true, - "mutability": "mutable", - "name": "payloadHash", - "nameLocation": "703:11:18", - "nodeType": "VariableDeclaration", - "scope": 5197, - "src": "687:27:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5184, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "687:7:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5187, - "indexed": false, - "mutability": "mutable", - "name": "symbol", - "nameLocation": "731:6:18", - "nodeType": "VariableDeclaration", - "scope": 5197, - "src": "724:13:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 5186, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "724:6:18", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5189, - "indexed": false, - "mutability": "mutable", - "name": "amount", - "nameLocation": "755:6:18", - "nodeType": "VariableDeclaration", - "scope": 5197, - "src": "747:14:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5188, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "747:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5191, - "indexed": false, - "mutability": "mutable", - "name": "gasToken", - "nameLocation": "779:8:18", - "nodeType": "VariableDeclaration", - "scope": 5197, - "src": "771:16:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5190, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "771:7:18", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5193, - "indexed": false, - "mutability": "mutable", - "name": "gasFeeAmount", - "nameLocation": "805:12:18", - "nodeType": "VariableDeclaration", - "scope": 5197, - "src": "797:20:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5192, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "797:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5195, - "indexed": false, - "mutability": "mutable", - "name": "refundAddress", - "nameLocation": "835:13:18", - "nodeType": "VariableDeclaration", - "scope": 5197, - "src": "827:21:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5194, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "827:7:18", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "570:284:18" - }, - "src": "533:322:18" - }, - { - "anonymous": false, - "id": 5211, - "name": "NativeGasPaidForContractCall", - "nameLocation": "867:28:18", - "nodeType": "EventDefinition", - "parameters": { - "id": 5210, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5199, - "indexed": true, - "mutability": "mutable", - "name": "sourceAddress", - "nameLocation": "921:13:18", - "nodeType": "VariableDeclaration", - "scope": 5211, - "src": "905:29:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5198, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "905:7:18", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5201, - "indexed": false, - "mutability": "mutable", - "name": "destinationChain", - "nameLocation": "951:16:18", - "nodeType": "VariableDeclaration", - "scope": 5211, - "src": "944:23:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 5200, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "944:6:18", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5203, - "indexed": false, - "mutability": "mutable", - "name": "destinationAddress", - "nameLocation": "984:18:18", - "nodeType": "VariableDeclaration", - "scope": 5211, - "src": "977:25:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 5202, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "977:6:18", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5205, - "indexed": true, - "mutability": "mutable", - "name": "payloadHash", - "nameLocation": "1028:11:18", - "nodeType": "VariableDeclaration", - "scope": 5211, - "src": "1012:27:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5204, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1012:7:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5207, - "indexed": false, - "mutability": "mutable", - "name": "gasFeeAmount", - "nameLocation": "1057:12:18", - "nodeType": "VariableDeclaration", - "scope": 5211, - "src": "1049:20:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5206, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1049:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5209, - "indexed": false, - "mutability": "mutable", - "name": "refundAddress", - "nameLocation": "1087:13:18", - "nodeType": "VariableDeclaration", - "scope": 5211, - "src": "1079:21:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5208, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1079:7:18", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "895:211:18" - }, - "src": "861:246:18" - }, - { - "anonymous": false, - "id": 5229, - "name": "NativeGasPaidForContractCallWithToken", - "nameLocation": "1119:37:18", - "nodeType": "EventDefinition", - "parameters": { - "id": 5228, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5213, - "indexed": true, - "mutability": "mutable", - "name": "sourceAddress", - "nameLocation": "1182:13:18", - "nodeType": "VariableDeclaration", - "scope": 5229, - "src": "1166:29:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5212, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1166:7:18", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5215, - "indexed": false, - "mutability": "mutable", - "name": "destinationChain", - "nameLocation": "1212:16:18", - "nodeType": "VariableDeclaration", - "scope": 5229, - "src": "1205:23:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 5214, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1205:6:18", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5217, - "indexed": false, - "mutability": "mutable", - "name": "destinationAddress", - "nameLocation": "1245:18:18", - "nodeType": "VariableDeclaration", - "scope": 5229, - "src": "1238:25:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 5216, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1238:6:18", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5219, - "indexed": true, - "mutability": "mutable", - "name": "payloadHash", - "nameLocation": "1289:11:18", - "nodeType": "VariableDeclaration", - "scope": 5229, - "src": "1273:27:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5218, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1273:7:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5221, - "indexed": false, - "mutability": "mutable", - "name": "symbol", - "nameLocation": "1317:6:18", - "nodeType": "VariableDeclaration", - "scope": 5229, - "src": "1310:13:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 5220, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1310:6:18", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5223, - "indexed": false, - "mutability": "mutable", - "name": "amount", - "nameLocation": "1341:6:18", - "nodeType": "VariableDeclaration", - "scope": 5229, - "src": "1333:14:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5222, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1333:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5225, - "indexed": false, - "mutability": "mutable", - "name": "gasFeeAmount", - "nameLocation": "1365:12:18", - "nodeType": "VariableDeclaration", - "scope": 5229, - "src": "1357:20:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5224, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1357:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5227, - "indexed": false, - "mutability": "mutable", - "name": "refundAddress", - "nameLocation": "1395:13:18", - "nodeType": "VariableDeclaration", - "scope": 5229, - "src": "1387:21:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5226, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1387:7:18", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "1156:258:18" - }, - "src": "1113:302:18" - }, - { - "anonymous": false, - "id": 5241, - "name": "GasAdded", - "nameLocation": "1427:8:18", - "nodeType": "EventDefinition", - "parameters": { - "id": 5240, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5231, - "indexed": true, - "mutability": "mutable", - "name": "txHash", - "nameLocation": "1452:6:18", - "nodeType": "VariableDeclaration", - "scope": 5241, - "src": "1436:22:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5230, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1436:7:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5233, - "indexed": true, - "mutability": "mutable", - "name": "logIndex", - "nameLocation": "1476:8:18", - "nodeType": "VariableDeclaration", - "scope": 5241, - "src": "1460:24:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5232, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1460:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5235, - "indexed": false, - "mutability": "mutable", - "name": "gasToken", - "nameLocation": "1494:8:18", - "nodeType": "VariableDeclaration", - "scope": 5241, - "src": "1486:16:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5234, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1486:7:18", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5237, - "indexed": false, - "mutability": "mutable", - "name": "gasFeeAmount", - "nameLocation": "1512:12:18", - "nodeType": "VariableDeclaration", - "scope": 5241, - "src": "1504:20:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5236, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1504:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5239, - "indexed": false, - "mutability": "mutable", - "name": "refundAddress", - "nameLocation": "1534:13:18", - "nodeType": "VariableDeclaration", - "scope": 5241, - "src": "1526:21:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5238, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1526:7:18", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "1435:113:18" - }, - "src": "1421:128:18" - }, - { - "anonymous": false, - "id": 5251, - "name": "NativeGasAdded", - "nameLocation": "1561:14:18", - "nodeType": "EventDefinition", - "parameters": { - "id": 5250, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5243, - "indexed": true, - "mutability": "mutable", - "name": "txHash", - "nameLocation": "1592:6:18", - "nodeType": "VariableDeclaration", - "scope": 5251, - "src": "1576:22:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5242, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1576:7:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5245, - "indexed": true, - "mutability": "mutable", - "name": "logIndex", - "nameLocation": "1616:8:18", - "nodeType": "VariableDeclaration", - "scope": 5251, - "src": "1600:24:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5244, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1600:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5247, - "indexed": false, - "mutability": "mutable", - "name": "gasFeeAmount", - "nameLocation": "1634:12:18", - "nodeType": "VariableDeclaration", - "scope": 5251, - "src": "1626:20:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5246, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1626:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5249, - "indexed": false, - "mutability": "mutable", - "name": "refundAddress", - "nameLocation": "1656:13:18", - "nodeType": "VariableDeclaration", - "scope": 5251, - "src": "1648:21:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5248, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1648:7:18", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "1575:95:18" - }, - "src": "1555:116:18" - }, - { - "functionSelector": "fd09e3bd", - "id": 5268, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "payGasForContractCall", - "nameLocation": "1785:21:18", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5266, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5253, - "mutability": "mutable", - "name": "sender", - "nameLocation": "1824:6:18", - "nodeType": "VariableDeclaration", - "scope": 5268, - "src": "1816:14:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5252, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1816:7:18", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5255, - "mutability": "mutable", - "name": "destinationChain", - "nameLocation": "1856:16:18", - "nodeType": "VariableDeclaration", - "scope": 5268, - "src": "1840:32:18", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string" - }, - "typeName": { - "id": 5254, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1840:6:18", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5257, - "mutability": "mutable", - "name": "destinationAddress", - "nameLocation": "1898:18:18", - "nodeType": "VariableDeclaration", - "scope": 5268, - "src": "1882:34:18", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string" - }, - "typeName": { - "id": 5256, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1882:6:18", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5259, - "mutability": "mutable", - "name": "payload", - "nameLocation": "1941:7:18", - "nodeType": "VariableDeclaration", - "scope": 5268, - "src": "1926:22:18", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 5258, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "1926:5:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5261, - "mutability": "mutable", - "name": "gasToken", - "nameLocation": "1966:8:18", - "nodeType": "VariableDeclaration", - "scope": 5268, - "src": "1958:16:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5260, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1958:7:18", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5263, - "mutability": "mutable", - "name": "gasFeeAmount", - "nameLocation": "1992:12:18", - "nodeType": "VariableDeclaration", - "scope": 5268, - "src": "1984:20:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5262, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1984:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5265, - "mutability": "mutable", - "name": "refundAddress", - "nameLocation": "2022:13:18", - "nodeType": "VariableDeclaration", - "scope": 5268, - "src": "2014:21:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5264, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2014:7:18", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "1806:235:18" - }, - "returnParameters": { - "id": 5267, - "nodeType": "ParameterList", - "parameters": [], - "src": "2050:0:18" - }, - "scope": 5359, - "src": "1776:275:18", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "functionSelector": "edb6b3a5", - "id": 5289, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "payGasForContractCallWithToken", - "nameLocation": "2165:30:18", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5287, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5270, - "mutability": "mutable", - "name": "sender", - "nameLocation": "2213:6:18", - "nodeType": "VariableDeclaration", - "scope": 5289, - "src": "2205:14:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5269, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2205:7:18", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5272, - "mutability": "mutable", - "name": "destinationChain", - "nameLocation": "2245:16:18", - "nodeType": "VariableDeclaration", - "scope": 5289, - "src": "2229:32:18", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string" - }, - "typeName": { - "id": 5271, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2229:6:18", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5274, - "mutability": "mutable", - "name": "destinationAddress", - "nameLocation": "2287:18:18", - "nodeType": "VariableDeclaration", - "scope": 5289, - "src": "2271:34:18", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string" - }, - "typeName": { - "id": 5273, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2271:6:18", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5276, - "mutability": "mutable", - "name": "payload", - "nameLocation": "2330:7:18", - "nodeType": "VariableDeclaration", - "scope": 5289, - "src": "2315:22:18", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 5275, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "2315:5:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5278, - "mutability": "mutable", - "name": "symbol", - "nameLocation": "2363:6:18", - "nodeType": "VariableDeclaration", - "scope": 5289, - "src": "2347:22:18", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string" - }, - "typeName": { - "id": 5277, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2347:6:18", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5280, - "mutability": "mutable", - "name": "amount", - "nameLocation": "2387:6:18", - "nodeType": "VariableDeclaration", - "scope": 5289, - "src": "2379:14:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5279, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2379:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5282, - "mutability": "mutable", - "name": "gasToken", - "nameLocation": "2411:8:18", - "nodeType": "VariableDeclaration", - "scope": 5289, - "src": "2403:16:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5281, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2403:7:18", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5284, - "mutability": "mutable", - "name": "gasFeeAmount", - "nameLocation": "2437:12:18", - "nodeType": "VariableDeclaration", - "scope": 5289, - "src": "2429:20:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5283, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2429:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5286, - "mutability": "mutable", - "name": "refundAddress", - "nameLocation": "2467:13:18", - "nodeType": "VariableDeclaration", - "scope": 5289, - "src": "2459:21:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5285, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2459:7:18", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "2195:291:18" - }, - "returnParameters": { - "id": 5288, - "nodeType": "ParameterList", - "parameters": [], - "src": "2495:0:18" - }, - "scope": 5359, - "src": "2156:340:18", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "functionSelector": "0c93e3bb", - "id": 5302, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "payNativeGasForContractCall", - "nameLocation": "2610:27:18", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5300, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5291, - "mutability": "mutable", - "name": "sender", - "nameLocation": "2655:6:18", - "nodeType": "VariableDeclaration", - "scope": 5302, - "src": "2647:14:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5290, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2647:7:18", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5293, - "mutability": "mutable", - "name": "destinationChain", - "nameLocation": "2687:16:18", - "nodeType": "VariableDeclaration", - "scope": 5302, - "src": "2671:32:18", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string" - }, - "typeName": { - "id": 5292, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2671:6:18", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5295, - "mutability": "mutable", - "name": "destinationAddress", - "nameLocation": "2729:18:18", - "nodeType": "VariableDeclaration", - "scope": 5302, - "src": "2713:34:18", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string" - }, - "typeName": { - "id": 5294, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2713:6:18", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5297, - "mutability": "mutable", - "name": "payload", - "nameLocation": "2772:7:18", - "nodeType": "VariableDeclaration", - "scope": 5302, - "src": "2757:22:18", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 5296, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "2757:5:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5299, - "mutability": "mutable", - "name": "refundAddress", - "nameLocation": "2797:13:18", - "nodeType": "VariableDeclaration", - "scope": 5302, - "src": "2789:21:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5298, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2789:7:18", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "2637:179:18" - }, - "returnParameters": { - "id": 5301, - "nodeType": "ParameterList", - "parameters": [], - "src": "2833:0:18" - }, - "scope": 5359, - "src": "2601:233:18", - "stateMutability": "payable", - "virtual": false, - "visibility": "external" - }, - { - "functionSelector": "c62c2002", - "id": 5319, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "payNativeGasForContractCallWithToken", - "nameLocation": "2948:36:18", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5317, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5304, - "mutability": "mutable", - "name": "sender", - "nameLocation": "3002:6:18", - "nodeType": "VariableDeclaration", - "scope": 5319, - "src": "2994:14:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5303, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2994:7:18", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5306, - "mutability": "mutable", - "name": "destinationChain", - "nameLocation": "3034:16:18", - "nodeType": "VariableDeclaration", - "scope": 5319, - "src": "3018:32:18", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string" - }, - "typeName": { - "id": 5305, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3018:6:18", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5308, - "mutability": "mutable", - "name": "destinationAddress", - "nameLocation": "3076:18:18", - "nodeType": "VariableDeclaration", - "scope": 5319, - "src": "3060:34:18", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string" - }, - "typeName": { - "id": 5307, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3060:6:18", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5310, - "mutability": "mutable", - "name": "payload", - "nameLocation": "3119:7:18", - "nodeType": "VariableDeclaration", - "scope": 5319, - "src": "3104:22:18", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 5309, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "3104:5:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5312, - "mutability": "mutable", - "name": "symbol", - "nameLocation": "3152:6:18", - "nodeType": "VariableDeclaration", - "scope": 5319, - "src": "3136:22:18", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string" - }, - "typeName": { - "id": 5311, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3136:6:18", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5314, - "mutability": "mutable", - "name": "amount", - "nameLocation": "3176:6:18", - "nodeType": "VariableDeclaration", - "scope": 5319, - "src": "3168:14:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5313, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3168:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5316, - "mutability": "mutable", - "name": "refundAddress", - "nameLocation": "3200:13:18", - "nodeType": "VariableDeclaration", - "scope": 5319, - "src": "3192:21:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5315, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3192:7:18", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "2984:235:18" - }, - "returnParameters": { - "id": 5318, - "nodeType": "ParameterList", - "parameters": [], - "src": "3236:0:18" - }, - "scope": 5359, - "src": "2939:298:18", - "stateMutability": "payable", - "virtual": false, - "visibility": "external" - }, - { - "functionSelector": "ab1999ba", - "id": 5332, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "addGas", - "nameLocation": "3252:6:18", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5330, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5321, - "mutability": "mutable", - "name": "txHash", - "nameLocation": "3276:6:18", - "nodeType": "VariableDeclaration", - "scope": 5332, - "src": "3268:14:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5320, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "3268:7:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5323, - "mutability": "mutable", - "name": "txIndex", - "nameLocation": "3300:7:18", - "nodeType": "VariableDeclaration", - "scope": 5332, - "src": "3292:15:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5322, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3292:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5325, - "mutability": "mutable", - "name": "gasToken", - "nameLocation": "3325:8:18", - "nodeType": "VariableDeclaration", - "scope": 5332, - "src": "3317:16:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5324, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3317:7:18", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5327, - "mutability": "mutable", - "name": "gasFeeAmount", - "nameLocation": "3351:12:18", - "nodeType": "VariableDeclaration", - "scope": 5332, - "src": "3343:20:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5326, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3343:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5329, - "mutability": "mutable", - "name": "refundAddress", - "nameLocation": "3381:13:18", - "nodeType": "VariableDeclaration", - "scope": 5332, - "src": "3373:21:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5328, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3373:7:18", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "3258:142:18" - }, - "returnParameters": { - "id": 5331, - "nodeType": "ParameterList", - "parameters": [], - "src": "3409:0:18" - }, - "scope": 5359, - "src": "3243:167:18", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "functionSelector": "cd433ada", - "id": 5341, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "addNativeGas", - "nameLocation": "3425:12:18", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5339, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5334, - "mutability": "mutable", - "name": "txHash", - "nameLocation": "3455:6:18", - "nodeType": "VariableDeclaration", - "scope": 5341, - "src": "3447:14:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5333, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "3447:7:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5336, - "mutability": "mutable", - "name": "logIndex", - "nameLocation": "3479:8:18", - "nodeType": "VariableDeclaration", - "scope": 5341, - "src": "3471:16:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5335, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3471:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5338, - "mutability": "mutable", - "name": "refundAddress", - "nameLocation": "3505:13:18", - "nodeType": "VariableDeclaration", - "scope": 5341, - "src": "3497:21:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5337, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3497:7:18", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "3437:87:18" - }, - "returnParameters": { - "id": 5340, - "nodeType": "ParameterList", - "parameters": [], - "src": "3541:0:18" - }, - "scope": 5359, - "src": "3416:126:18", - "stateMutability": "payable", - "virtual": false, - "visibility": "external" - }, - { - "functionSelector": "da854d75", - "id": 5349, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "collectFees", - "nameLocation": "3557:11:18", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5347, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5343, - "mutability": "mutable", - "name": "receiver", - "nameLocation": "3585:8:18", - "nodeType": "VariableDeclaration", - "scope": 5349, - "src": "3569:24:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - "typeName": { - "id": 5342, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3569:15:18", - "stateMutability": "payable", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5346, - "mutability": "mutable", - "name": "tokens", - "nameLocation": "3614:6:18", - "nodeType": "VariableDeclaration", - "scope": 5349, - "src": "3595:25:18", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 5344, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3595:7:18", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 5345, - "nodeType": "ArrayTypeName", - "src": "3595:9:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "visibility": "internal" - } - ], - "src": "3568:53:18" - }, - "returnParameters": { - "id": 5348, - "nodeType": "ParameterList", - "parameters": [], - "src": "3630:0:18" - }, - "scope": 5359, - "src": "3548:83:18", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "functionSelector": "82ad6f35", - "id": 5358, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "refund", - "nameLocation": "3646:6:18", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5356, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5351, - "mutability": "mutable", - "name": "receiver", - "nameLocation": "3678:8:18", - "nodeType": "VariableDeclaration", - "scope": 5358, - "src": "3662:24:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - "typeName": { - "id": 5350, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3662:15:18", - "stateMutability": "payable", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5353, - "mutability": "mutable", - "name": "token", - "nameLocation": "3704:5:18", - "nodeType": "VariableDeclaration", - "scope": 5358, - "src": "3696:13:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5352, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3696:7:18", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5355, - "mutability": "mutable", - "name": "amount", - "nameLocation": "3727:6:18", - "nodeType": "VariableDeclaration", - "scope": 5358, - "src": "3719:14:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5354, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3719:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3652:87:18" - }, - "returnParameters": { - "id": 5357, - "nodeType": "ParameterList", - "parameters": [], - "src": "3748:0:18" - }, - "scope": 5359, - "src": "3637:112:18", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 5360, - "src": "154:3597:18", - "usedErrors": [ - 5159, - 5161, - 5938, - 5940, - 5942, - 5944, - 5946, - 5948 - ] - } - ], - "src": "33:3719:18" - }, - "id": 18 - }, - "@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarGateway.sol": { - "ast": { - "absolutePath": "@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarGateway.sol", - "exportedSymbols": { - "IAxelarGateway": [ - 5700 - ] - }, - "id": 5701, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 5361, - "literals": [ - "solidity", - "0.8", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "33:22:19" - }, - { - "abstract": false, - "baseContracts": [], - "canonicalName": "IAxelarGateway", - "contractDependencies": [], - "contractKind": "interface", - "fullyImplemented": false, - "id": 5700, - "linearizedBaseContracts": [ - 5700 - ], - "name": "IAxelarGateway", - "nameLocation": "67:14:19", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 5363, - "name": "NotSelf", - "nameLocation": "146:7:19", - "nodeType": "ErrorDefinition", - "parameters": { - "id": 5362, - "nodeType": "ParameterList", - "parameters": [], - "src": "153:2:19" - }, - "src": "140:16:19" - }, - { - "id": 5365, - "name": "NotProxy", - "nameLocation": "167:8:19", - "nodeType": "ErrorDefinition", - "parameters": { - "id": 5364, - "nodeType": "ParameterList", - "parameters": [], - "src": "175:2:19" - }, - "src": "161:17:19" - }, - { - "id": 5367, - "name": "InvalidCodeHash", - "nameLocation": "189:15:19", - "nodeType": "ErrorDefinition", - "parameters": { - "id": 5366, - "nodeType": "ParameterList", - "parameters": [], - "src": "204:2:19" - }, - "src": "183:24:19" - }, - { - "id": 5369, - "name": "SetupFailed", - "nameLocation": "218:11:19", - "nodeType": "ErrorDefinition", - "parameters": { - "id": 5368, - "nodeType": "ParameterList", - "parameters": [], - "src": "229:2:19" - }, - "src": "212:20:19" - }, - { - "id": 5371, - "name": "InvalidAuthModule", - "nameLocation": "243:17:19", - "nodeType": "ErrorDefinition", - "parameters": { - "id": 5370, - "nodeType": "ParameterList", - "parameters": [], - "src": "260:2:19" - }, - "src": "237:26:19" - }, - { - "id": 5373, - "name": "InvalidTokenDeployer", - "nameLocation": "274:20:19", - "nodeType": "ErrorDefinition", - "parameters": { - "id": 5372, - "nodeType": "ParameterList", - "parameters": [], - "src": "294:2:19" - }, - "src": "268:29:19" - }, - { - "id": 5375, - "name": "InvalidAmount", - "nameLocation": "308:13:19", - "nodeType": "ErrorDefinition", - "parameters": { - "id": 5374, - "nodeType": "ParameterList", - "parameters": [], - "src": "321:2:19" - }, - "src": "302:22:19" - }, - { - "id": 5377, - "name": "InvalidChainId", - "nameLocation": "335:14:19", - "nodeType": "ErrorDefinition", - "parameters": { - "id": 5376, - "nodeType": "ParameterList", - "parameters": [], - "src": "349:2:19" - }, - "src": "329:23:19" - }, - { - "id": 5379, - "name": "InvalidCommands", - "nameLocation": "363:15:19", - "nodeType": "ErrorDefinition", - "parameters": { - "id": 5378, - "nodeType": "ParameterList", - "parameters": [], - "src": "378:2:19" - }, - "src": "357:24:19" - }, - { - "id": 5383, - "name": "TokenDoesNotExist", - "nameLocation": "392:17:19", - "nodeType": "ErrorDefinition", - "parameters": { - "id": 5382, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5381, - "mutability": "mutable", - "name": "symbol", - "nameLocation": "417:6:19", - "nodeType": "VariableDeclaration", - "scope": 5383, - "src": "410:13:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 5380, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "410:6:19", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "409:15:19" - }, - "src": "386:39:19" - }, - { - "id": 5387, - "name": "TokenAlreadyExists", - "nameLocation": "436:18:19", - "nodeType": "ErrorDefinition", - "parameters": { - "id": 5386, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5385, - "mutability": "mutable", - "name": "symbol", - "nameLocation": "462:6:19", - "nodeType": "VariableDeclaration", - "scope": 5387, - "src": "455:13:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 5384, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "455:6:19", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "454:15:19" - }, - "src": "430:40:19" - }, - { - "id": 5391, - "name": "TokenDeployFailed", - "nameLocation": "481:17:19", - "nodeType": "ErrorDefinition", - "parameters": { - "id": 5390, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5389, - "mutability": "mutable", - "name": "symbol", - "nameLocation": "506:6:19", - "nodeType": "VariableDeclaration", - "scope": 5391, - "src": "499:13:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 5388, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "499:6:19", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "498:15:19" - }, - "src": "475:39:19" - }, - { - "id": 5395, - "name": "TokenContractDoesNotExist", - "nameLocation": "525:25:19", - "nodeType": "ErrorDefinition", - "parameters": { - "id": 5394, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5393, - "mutability": "mutable", - "name": "token", - "nameLocation": "559:5:19", - "nodeType": "VariableDeclaration", - "scope": 5395, - "src": "551:13:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5392, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "551:7:19", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "550:15:19" - }, - "src": "519:47:19" - }, - { - "id": 5399, - "name": "BurnFailed", - "nameLocation": "577:10:19", - "nodeType": "ErrorDefinition", - "parameters": { - "id": 5398, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5397, - "mutability": "mutable", - "name": "symbol", - "nameLocation": "595:6:19", - "nodeType": "VariableDeclaration", - "scope": 5399, - "src": "588:13:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 5396, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "588:6:19", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "587:15:19" - }, - "src": "571:32:19" - }, - { - "id": 5403, - "name": "MintFailed", - "nameLocation": "614:10:19", - "nodeType": "ErrorDefinition", - "parameters": { - "id": 5402, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5401, - "mutability": "mutable", - "name": "symbol", - "nameLocation": "632:6:19", - "nodeType": "VariableDeclaration", - "scope": 5403, - "src": "625:13:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 5400, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "625:6:19", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "624:15:19" - }, - "src": "608:32:19" - }, - { - "id": 5405, - "name": "InvalidSetDailyMintLimitsParams", - "nameLocation": "651:31:19", - "nodeType": "ErrorDefinition", - "parameters": { - "id": 5404, - "nodeType": "ParameterList", - "parameters": [], - "src": "682:2:19" - }, - "src": "645:40:19" - }, - { - "id": 5409, - "name": "ExceedDailyMintLimit", - "nameLocation": "696:20:19", - "nodeType": "ErrorDefinition", - "parameters": { - "id": 5408, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5407, - "mutability": "mutable", - "name": "symbol", - "nameLocation": "724:6:19", - "nodeType": "VariableDeclaration", - "scope": 5409, - "src": "717:13:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 5406, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "717:6:19", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "716:15:19" - }, - "src": "690:42:19" - }, - { - "anonymous": false, - "id": 5421, - "name": "TokenSent", - "nameLocation": "796:9:19", - "nodeType": "EventDefinition", - "parameters": { - "id": 5420, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5411, - "indexed": true, - "mutability": "mutable", - "name": "sender", - "nameLocation": "822:6:19", - "nodeType": "VariableDeclaration", - "scope": 5421, - "src": "806:22:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5410, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "806:7:19", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5413, - "indexed": false, - "mutability": "mutable", - "name": "destinationChain", - "nameLocation": "837:16:19", - "nodeType": "VariableDeclaration", - "scope": 5421, - "src": "830:23:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 5412, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "830:6:19", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5415, - "indexed": false, - "mutability": "mutable", - "name": "destinationAddress", - "nameLocation": "862:18:19", - "nodeType": "VariableDeclaration", - "scope": 5421, - "src": "855:25:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 5414, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "855:6:19", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5417, - "indexed": false, - "mutability": "mutable", - "name": "symbol", - "nameLocation": "889:6:19", - "nodeType": "VariableDeclaration", - "scope": 5421, - "src": "882:13:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 5416, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "882:6:19", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5419, - "indexed": false, - "mutability": "mutable", - "name": "amount", - "nameLocation": "905:6:19", - "nodeType": "VariableDeclaration", - "scope": 5421, - "src": "897:14:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5418, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "897:7:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "805:107:19" - }, - "src": "790:123:19" - }, - { - "anonymous": false, - "id": 5433, - "name": "ContractCall", - "nameLocation": "925:12:19", - "nodeType": "EventDefinition", - "parameters": { - "id": 5432, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5423, - "indexed": true, - "mutability": "mutable", - "name": "sender", - "nameLocation": "963:6:19", - "nodeType": "VariableDeclaration", - "scope": 5433, - "src": "947:22:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5422, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "947:7:19", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5425, - "indexed": false, - "mutability": "mutable", - "name": "destinationChain", - "nameLocation": "986:16:19", - "nodeType": "VariableDeclaration", - "scope": 5433, - "src": "979:23:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 5424, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "979:6:19", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5427, - "indexed": false, - "mutability": "mutable", - "name": "destinationContractAddress", - "nameLocation": "1019:26:19", - "nodeType": "VariableDeclaration", - "scope": 5433, - "src": "1012:33:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 5426, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1012:6:19", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5429, - "indexed": true, - "mutability": "mutable", - "name": "payloadHash", - "nameLocation": "1071:11:19", - "nodeType": "VariableDeclaration", - "scope": 5433, - "src": "1055:27:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5428, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1055:7:19", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5431, - "indexed": false, - "mutability": "mutable", - "name": "payload", - "nameLocation": "1098:7:19", - "nodeType": "VariableDeclaration", - "scope": 5433, - "src": "1092:13:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 5430, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "1092:5:19", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "937:174:19" - }, - "src": "919:193:19" - }, - { - "anonymous": false, - "id": 5449, - "name": "ContractCallWithToken", - "nameLocation": "1124:21:19", - "nodeType": "EventDefinition", - "parameters": { - "id": 5448, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5435, - "indexed": true, - "mutability": "mutable", - "name": "sender", - "nameLocation": "1171:6:19", - "nodeType": "VariableDeclaration", - "scope": 5449, - "src": "1155:22:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5434, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1155:7:19", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5437, - "indexed": false, - "mutability": "mutable", - "name": "destinationChain", - "nameLocation": "1194:16:19", - "nodeType": "VariableDeclaration", - "scope": 5449, - "src": "1187:23:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 5436, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1187:6:19", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5439, - "indexed": false, - "mutability": "mutable", - "name": "destinationContractAddress", - "nameLocation": "1227:26:19", - "nodeType": "VariableDeclaration", - "scope": 5449, - "src": "1220:33:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 5438, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1220:6:19", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5441, - "indexed": true, - "mutability": "mutable", - "name": "payloadHash", - "nameLocation": "1279:11:19", - "nodeType": "VariableDeclaration", - "scope": 5449, - "src": "1263:27:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5440, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1263:7:19", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5443, - "indexed": false, - "mutability": "mutable", - "name": "payload", - "nameLocation": "1306:7:19", - "nodeType": "VariableDeclaration", - "scope": 5449, - "src": "1300:13:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 5442, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "1300:5:19", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5445, - "indexed": false, - "mutability": "mutable", - "name": "symbol", - "nameLocation": "1330:6:19", - "nodeType": "VariableDeclaration", - "scope": 5449, - "src": "1323:13:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 5444, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1323:6:19", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5447, - "indexed": false, - "mutability": "mutable", - "name": "amount", - "nameLocation": "1354:6:19", - "nodeType": "VariableDeclaration", - "scope": 5449, - "src": "1346:14:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5446, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1346:7:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1145:221:19" - }, - "src": "1118:249:19" - }, - { - "anonymous": false, - "id": 5453, - "name": "Executed", - "nameLocation": "1379:8:19", - "nodeType": "EventDefinition", - "parameters": { - "id": 5452, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5451, - "indexed": true, - "mutability": "mutable", - "name": "commandId", - "nameLocation": "1404:9:19", - "nodeType": "VariableDeclaration", - "scope": 5453, - "src": "1388:25:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5450, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1388:7:19", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "1387:27:19" - }, - "src": "1373:42:19" - }, - { - "anonymous": false, - "id": 5459, - "name": "TokenDeployed", - "nameLocation": "1427:13:19", - "nodeType": "EventDefinition", - "parameters": { - "id": 5458, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5455, - "indexed": false, - "mutability": "mutable", - "name": "symbol", - "nameLocation": "1448:6:19", - "nodeType": "VariableDeclaration", - "scope": 5459, - "src": "1441:13:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 5454, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1441:6:19", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5457, - "indexed": false, - "mutability": "mutable", - "name": "tokenAddresses", - "nameLocation": "1464:14:19", - "nodeType": "VariableDeclaration", - "scope": 5459, - "src": "1456:22:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5456, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1456:7:19", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "1440:39:19" - }, - "src": "1421:59:19" - }, - { - "anonymous": false, - "id": 5475, - "name": "ContractCallApproved", - "nameLocation": "1492:20:19", - "nodeType": "EventDefinition", - "parameters": { - "id": 5474, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5461, - "indexed": true, - "mutability": "mutable", - "name": "commandId", - "nameLocation": "1538:9:19", - "nodeType": "VariableDeclaration", - "scope": 5475, - "src": "1522:25:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5460, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1522:7:19", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5463, - "indexed": false, - "mutability": "mutable", - "name": "sourceChain", - "nameLocation": "1564:11:19", - "nodeType": "VariableDeclaration", - "scope": 5475, - "src": "1557:18:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 5462, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1557:6:19", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5465, - "indexed": false, - "mutability": "mutable", - "name": "sourceAddress", - "nameLocation": "1592:13:19", - "nodeType": "VariableDeclaration", - "scope": 5475, - "src": "1585:20:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 5464, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1585:6:19", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5467, - "indexed": true, - "mutability": "mutable", - "name": "contractAddress", - "nameLocation": "1631:15:19", - "nodeType": "VariableDeclaration", - "scope": 5475, - "src": "1615:31:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5466, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1615:7:19", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5469, - "indexed": true, - "mutability": "mutable", - "name": "payloadHash", - "nameLocation": "1672:11:19", - "nodeType": "VariableDeclaration", - "scope": 5475, - "src": "1656:27:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5468, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1656:7:19", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5471, - "indexed": false, - "mutability": "mutable", - "name": "sourceTxHash", - "nameLocation": "1701:12:19", - "nodeType": "VariableDeclaration", - "scope": 5475, - "src": "1693:20:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5470, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1693:7:19", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5473, - "indexed": false, - "mutability": "mutable", - "name": "sourceEventIndex", - "nameLocation": "1731:16:19", - "nodeType": "VariableDeclaration", - "scope": 5475, - "src": "1723:24:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5472, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1723:7:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1512:241:19" - }, - "src": "1486:268:19" - }, - { - "anonymous": false, - "id": 5495, - "name": "ContractCallApprovedWithMint", - "nameLocation": "1766:28:19", - "nodeType": "EventDefinition", - "parameters": { - "id": 5494, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5477, - "indexed": true, - "mutability": "mutable", - "name": "commandId", - "nameLocation": "1820:9:19", - "nodeType": "VariableDeclaration", - "scope": 5495, - "src": "1804:25:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5476, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1804:7:19", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5479, - "indexed": false, - "mutability": "mutable", - "name": "sourceChain", - "nameLocation": "1846:11:19", - "nodeType": "VariableDeclaration", - "scope": 5495, - "src": "1839:18:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 5478, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1839:6:19", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5481, - "indexed": false, - "mutability": "mutable", - "name": "sourceAddress", - "nameLocation": "1874:13:19", - "nodeType": "VariableDeclaration", - "scope": 5495, - "src": "1867:20:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 5480, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1867:6:19", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5483, - "indexed": true, - "mutability": "mutable", - "name": "contractAddress", - "nameLocation": "1913:15:19", - "nodeType": "VariableDeclaration", - "scope": 5495, - "src": "1897:31:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5482, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1897:7:19", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5485, - "indexed": true, - "mutability": "mutable", - "name": "payloadHash", - "nameLocation": "1954:11:19", - "nodeType": "VariableDeclaration", - "scope": 5495, - "src": "1938:27:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5484, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1938:7:19", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5487, - "indexed": false, - "mutability": "mutable", - "name": "symbol", - "nameLocation": "1982:6:19", - "nodeType": "VariableDeclaration", - "scope": 5495, - "src": "1975:13:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 5486, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1975:6:19", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5489, - "indexed": false, - "mutability": "mutable", - "name": "amount", - "nameLocation": "2006:6:19", - "nodeType": "VariableDeclaration", - "scope": 5495, - "src": "1998:14:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5488, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1998:7:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5491, - "indexed": false, - "mutability": "mutable", - "name": "sourceTxHash", - "nameLocation": "2030:12:19", - "nodeType": "VariableDeclaration", - "scope": 5495, - "src": "2022:20:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5490, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2022:7:19", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5493, - "indexed": false, - "mutability": "mutable", - "name": "sourceEventIndex", - "nameLocation": "2060:16:19", - "nodeType": "VariableDeclaration", - "scope": 5495, - "src": "2052:24:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5492, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2052:7:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1794:288:19" - }, - "src": "1760:323:19" - }, - { - "anonymous": false, - "id": 5501, - "name": "TokenDailyMintLimitUpdated", - "nameLocation": "2095:26:19", - "nodeType": "EventDefinition", - "parameters": { - "id": 5500, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5497, - "indexed": false, - "mutability": "mutable", - "name": "symbol", - "nameLocation": "2129:6:19", - "nodeType": "VariableDeclaration", - "scope": 5501, - "src": "2122:13:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 5496, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2122:6:19", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5499, - "indexed": false, - "mutability": "mutable", - "name": "limit", - "nameLocation": "2145:5:19", - "nodeType": "VariableDeclaration", - "scope": 5501, - "src": "2137:13:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5498, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2137:7:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2121:30:19" - }, - "src": "2089:63:19" - }, - { - "anonymous": false, - "id": 5505, - "name": "OperatorshipTransferred", - "nameLocation": "2164:23:19", - "nodeType": "EventDefinition", - "parameters": { - "id": 5504, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5503, - "indexed": false, - "mutability": "mutable", - "name": "newOperatorsData", - "nameLocation": "2194:16:19", - "nodeType": "VariableDeclaration", - "scope": 5505, - "src": "2188:22:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 5502, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "2188:5:19", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "2187:24:19" - }, - "src": "2158:54:19" - }, - { - "anonymous": false, - "id": 5509, - "name": "Upgraded", - "nameLocation": "2224:8:19", - "nodeType": "EventDefinition", - "parameters": { - "id": 5508, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5507, - "indexed": true, - "mutability": "mutable", - "name": "implementation", - "nameLocation": "2249:14:19", - "nodeType": "VariableDeclaration", - "scope": 5509, - "src": "2233:30:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5506, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2233:7:19", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "2232:32:19" - }, - "src": "2218:47:19" - }, - { - "functionSelector": "26ef699d", - "id": 5520, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "sendToken", - "nameLocation": "2362:9:19", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5518, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5511, - "mutability": "mutable", - "name": "destinationChain", - "nameLocation": "2397:16:19", - "nodeType": "VariableDeclaration", - "scope": 5520, - "src": "2381:32:19", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string" - }, - "typeName": { - "id": 5510, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2381:6:19", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5513, - "mutability": "mutable", - "name": "destinationAddress", - "nameLocation": "2439:18:19", - "nodeType": "VariableDeclaration", - "scope": 5520, - "src": "2423:34:19", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string" - }, - "typeName": { - "id": 5512, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2423:6:19", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5515, - "mutability": "mutable", - "name": "symbol", - "nameLocation": "2483:6:19", - "nodeType": "VariableDeclaration", - "scope": 5520, - "src": "2467:22:19", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string" - }, - "typeName": { - "id": 5514, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2467:6:19", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5517, - "mutability": "mutable", - "name": "amount", - "nameLocation": "2507:6:19", - "nodeType": "VariableDeclaration", - "scope": 5520, - "src": "2499:14:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5516, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2499:7:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2371:148:19" - }, - "returnParameters": { - "id": 5519, - "nodeType": "ParameterList", - "parameters": [], - "src": "2528:0:19" - }, - "scope": 5700, - "src": "2353:176:19", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "functionSelector": "1c92115f", - "id": 5529, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "callContract", - "nameLocation": "2544:12:19", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5527, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5522, - "mutability": "mutable", - "name": "destinationChain", - "nameLocation": "2582:16:19", - "nodeType": "VariableDeclaration", - "scope": 5529, - "src": "2566:32:19", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string" - }, - "typeName": { - "id": 5521, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2566:6:19", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5524, - "mutability": "mutable", - "name": "contractAddress", - "nameLocation": "2624:15:19", - "nodeType": "VariableDeclaration", - "scope": 5529, - "src": "2608:31:19", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string" - }, - "typeName": { - "id": 5523, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2608:6:19", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5526, - "mutability": "mutable", - "name": "payload", - "nameLocation": "2664:7:19", - "nodeType": "VariableDeclaration", - "scope": 5529, - "src": "2649:22:19", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 5525, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "2649:5:19", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "2556:121:19" - }, - "returnParameters": { - "id": 5528, - "nodeType": "ParameterList", - "parameters": [], - "src": "2686:0:19" - }, - "scope": 5700, - "src": "2535:152:19", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "functionSelector": "b5417084", - "id": 5542, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "callContractWithToken", - "nameLocation": "2702:21:19", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5540, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5531, - "mutability": "mutable", - "name": "destinationChain", - "nameLocation": "2749:16:19", - "nodeType": "VariableDeclaration", - "scope": 5542, - "src": "2733:32:19", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string" - }, - "typeName": { - "id": 5530, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2733:6:19", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5533, - "mutability": "mutable", - "name": "contractAddress", - "nameLocation": "2791:15:19", - "nodeType": "VariableDeclaration", - "scope": 5542, - "src": "2775:31:19", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string" - }, - "typeName": { - "id": 5532, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2775:6:19", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5535, - "mutability": "mutable", - "name": "payload", - "nameLocation": "2831:7:19", - "nodeType": "VariableDeclaration", - "scope": 5542, - "src": "2816:22:19", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 5534, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "2816:5:19", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5537, - "mutability": "mutable", - "name": "symbol", - "nameLocation": "2864:6:19", - "nodeType": "VariableDeclaration", - "scope": 5542, - "src": "2848:22:19", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string" - }, - "typeName": { - "id": 5536, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2848:6:19", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5539, - "mutability": "mutable", - "name": "amount", - "nameLocation": "2888:6:19", - "nodeType": "VariableDeclaration", - "scope": 5542, - "src": "2880:14:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5538, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2880:7:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2723:177:19" - }, - "returnParameters": { - "id": 5541, - "nodeType": "ParameterList", - "parameters": [], - "src": "2909:0:19" - }, - "scope": 5700, - "src": "2693:217:19", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "functionSelector": "f6a5f9f5", - "id": 5557, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "isContractCallApproved", - "nameLocation": "2925:22:19", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5553, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5544, - "mutability": "mutable", - "name": "commandId", - "nameLocation": "2965:9:19", - "nodeType": "VariableDeclaration", - "scope": 5557, - "src": "2957:17:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5543, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2957:7:19", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5546, - "mutability": "mutable", - "name": "sourceChain", - "nameLocation": "3000:11:19", - "nodeType": "VariableDeclaration", - "scope": 5557, - "src": "2984:27:19", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string" - }, - "typeName": { - "id": 5545, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2984:6:19", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5548, - "mutability": "mutable", - "name": "sourceAddress", - "nameLocation": "3037:13:19", - "nodeType": "VariableDeclaration", - "scope": 5557, - "src": "3021:29:19", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string" - }, - "typeName": { - "id": 5547, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3021:6:19", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5550, - "mutability": "mutable", - "name": "contractAddress", - "nameLocation": "3068:15:19", - "nodeType": "VariableDeclaration", - "scope": 5557, - "src": "3060:23:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5549, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3060:7:19", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5552, - "mutability": "mutable", - "name": "payloadHash", - "nameLocation": "3101:11:19", - "nodeType": "VariableDeclaration", - "scope": 5557, - "src": "3093:19:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5551, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "3093:7:19", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "2947:171:19" - }, - "returnParameters": { - "id": 5556, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5555, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 5557, - "src": "3142:4:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5554, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3142:4:19", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "3141:6:19" - }, - "scope": 5700, - "src": "2916:232:19", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "functionSelector": "bc00c216", - "id": 5576, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "isContractCallAndMintApproved", - "nameLocation": "3163:29:19", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5572, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5559, - "mutability": "mutable", - "name": "commandId", - "nameLocation": "3210:9:19", - "nodeType": "VariableDeclaration", - "scope": 5576, - "src": "3202:17:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5558, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "3202:7:19", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5561, - "mutability": "mutable", - "name": "sourceChain", - "nameLocation": "3245:11:19", - "nodeType": "VariableDeclaration", - "scope": 5576, - "src": "3229:27:19", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string" - }, - "typeName": { - "id": 5560, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3229:6:19", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5563, - "mutability": "mutable", - "name": "sourceAddress", - "nameLocation": "3282:13:19", - "nodeType": "VariableDeclaration", - "scope": 5576, - "src": "3266:29:19", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string" - }, - "typeName": { - "id": 5562, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3266:6:19", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5565, - "mutability": "mutable", - "name": "contractAddress", - "nameLocation": "3313:15:19", - "nodeType": "VariableDeclaration", - "scope": 5576, - "src": "3305:23:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5564, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3305:7:19", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5567, - "mutability": "mutable", - "name": "payloadHash", - "nameLocation": "3346:11:19", - "nodeType": "VariableDeclaration", - "scope": 5576, - "src": "3338:19:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5566, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "3338:7:19", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5569, - "mutability": "mutable", - "name": "symbol", - "nameLocation": "3383:6:19", - "nodeType": "VariableDeclaration", - "scope": 5576, - "src": "3367:22:19", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string" - }, - "typeName": { - "id": 5568, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3367:6:19", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5571, - "mutability": "mutable", - "name": "amount", - "nameLocation": "3407:6:19", - "nodeType": "VariableDeclaration", - "scope": 5576, - "src": "3399:14:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5570, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3399:7:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3192:227:19" - }, - "returnParameters": { - "id": 5575, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5574, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 5576, - "src": "3443:4:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5573, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3443:4:19", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "3442:6:19" - }, - "scope": 5700, - "src": "3154:295:19", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "functionSelector": "5f6970c3", - "id": 5589, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "validateContractCall", - "nameLocation": "3464:20:19", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5585, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5578, - "mutability": "mutable", - "name": "commandId", - "nameLocation": "3502:9:19", - "nodeType": "VariableDeclaration", - "scope": 5589, - "src": "3494:17:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5577, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "3494:7:19", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5580, - "mutability": "mutable", - "name": "sourceChain", - "nameLocation": "3537:11:19", - "nodeType": "VariableDeclaration", - "scope": 5589, - "src": "3521:27:19", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string" - }, - "typeName": { - "id": 5579, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3521:6:19", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5582, - "mutability": "mutable", - "name": "sourceAddress", - "nameLocation": "3574:13:19", - "nodeType": "VariableDeclaration", - "scope": 5589, - "src": "3558:29:19", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string" - }, - "typeName": { - "id": 5581, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3558:6:19", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5584, - "mutability": "mutable", - "name": "payloadHash", - "nameLocation": "3605:11:19", - "nodeType": "VariableDeclaration", - "scope": 5589, - "src": "3597:19:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5583, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "3597:7:19", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "3484:138:19" - }, - "returnParameters": { - "id": 5588, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5587, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 5589, - "src": "3641:4:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5586, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3641:4:19", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "3640:6:19" - }, - "scope": 5700, - "src": "3455:192:19", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "functionSelector": "1876eed9", - "id": 5606, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "validateContractCallAndMint", - "nameLocation": "3662:27:19", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5602, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5591, - "mutability": "mutable", - "name": "commandId", - "nameLocation": "3707:9:19", - "nodeType": "VariableDeclaration", - "scope": 5606, - "src": "3699:17:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5590, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "3699:7:19", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5593, - "mutability": "mutable", - "name": "sourceChain", - "nameLocation": "3742:11:19", - "nodeType": "VariableDeclaration", - "scope": 5606, - "src": "3726:27:19", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string" - }, - "typeName": { - "id": 5592, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3726:6:19", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5595, - "mutability": "mutable", - "name": "sourceAddress", - "nameLocation": "3779:13:19", - "nodeType": "VariableDeclaration", - "scope": 5606, - "src": "3763:29:19", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string" - }, - "typeName": { - "id": 5594, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3763:6:19", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5597, - "mutability": "mutable", - "name": "payloadHash", - "nameLocation": "3810:11:19", - "nodeType": "VariableDeclaration", - "scope": 5606, - "src": "3802:19:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5596, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "3802:7:19", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5599, - "mutability": "mutable", - "name": "symbol", - "nameLocation": "3847:6:19", - "nodeType": "VariableDeclaration", - "scope": 5606, - "src": "3831:22:19", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string" - }, - "typeName": { - "id": 5598, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3831:6:19", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5601, - "mutability": "mutable", - "name": "amount", - "nameLocation": "3871:6:19", - "nodeType": "VariableDeclaration", - "scope": 5606, - "src": "3863:14:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5600, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3863:7:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3689:194:19" - }, - "returnParameters": { - "id": 5605, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5604, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 5606, - "src": "3902:4:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5603, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3902:4:19", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "3901:6:19" - }, - "scope": 5700, - "src": "3653:255:19", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "functionSelector": "5dde8117", - "id": 5613, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "tokenDailyMintLimit", - "nameLocation": "3978:19:19", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5609, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5608, - "mutability": "mutable", - "name": "symbol", - "nameLocation": "4012:6:19", - "nodeType": "VariableDeclaration", - "scope": 5613, - "src": "3998:20:19", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 5607, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3998:6:19", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "3997:22:19" - }, - "returnParameters": { - "id": 5612, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5611, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 5613, - "src": "4043:7:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5610, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4043:7:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "4042:9:19" - }, - "scope": 5700, - "src": "3969:83:19", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "functionSelector": "23275548", - "id": 5620, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "tokenDailyMintAmount", - "nameLocation": "4067:20:19", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5616, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5615, - "mutability": "mutable", - "name": "symbol", - "nameLocation": "4102:6:19", - "nodeType": "VariableDeclaration", - "scope": 5620, - "src": "4088:20:19", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 5614, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4088:6:19", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "4087:22:19" - }, - "returnParameters": { - "id": 5619, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5618, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 5620, - "src": "4133:7:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5617, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4133:7:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "4132:9:19" - }, - "scope": 5700, - "src": "4058:84:19", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "functionSelector": "aa1e1f0a", - "id": 5625, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "allTokensFrozen", - "nameLocation": "4157:15:19", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5621, - "nodeType": "ParameterList", - "parameters": [], - "src": "4172:2:19" - }, - "returnParameters": { - "id": 5624, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5623, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 5625, - "src": "4198:4:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5622, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "4198:4:19", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "4197:6:19" - }, - "scope": 5700, - "src": "4148:56:19", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "functionSelector": "5c60da1b", - "id": 5630, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "implementation", - "nameLocation": "4219:14:19", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5626, - "nodeType": "ParameterList", - "parameters": [], - "src": "4233:2:19" - }, - "returnParameters": { - "id": 5629, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5628, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 5630, - "src": "4259:7:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5627, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4259:7:19", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "4258:9:19" - }, - "scope": 5700, - "src": "4210:58:19", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "functionSelector": "935b13f6", - "id": 5637, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "tokenAddresses", - "nameLocation": "4283:14:19", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5633, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5632, - "mutability": "mutable", - "name": "symbol", - "nameLocation": "4312:6:19", - "nodeType": "VariableDeclaration", - "scope": 5637, - "src": "4298:20:19", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 5631, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4298:6:19", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "4297:22:19" - }, - "returnParameters": { - "id": 5636, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5635, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 5637, - "src": "4343:7:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5634, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4343:7:19", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "4342:9:19" - }, - "scope": 5700, - "src": "4274:78:19", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "functionSelector": "7b1b769e", - "id": 5644, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "tokenFrozen", - "nameLocation": "4367:11:19", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5640, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5639, - "mutability": "mutable", - "name": "symbol", - "nameLocation": "4393:6:19", - "nodeType": "VariableDeclaration", - "scope": 5644, - "src": "4379:20:19", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 5638, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4379:6:19", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "4378:22:19" - }, - "returnParameters": { - "id": 5643, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5642, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 5644, - "src": "4424:4:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5641, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "4424:4:19", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "4423:6:19" - }, - "scope": 5700, - "src": "4358:72:19", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "functionSelector": "d26ff210", - "id": 5651, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "isCommandExecuted", - "nameLocation": "4445:17:19", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5647, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5646, - "mutability": "mutable", - "name": "commandId", - "nameLocation": "4471:9:19", - "nodeType": "VariableDeclaration", - "scope": 5651, - "src": "4463:17:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5645, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "4463:7:19", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "4462:19:19" - }, - "returnParameters": { - "id": 5650, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5649, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 5651, - "src": "4505:4:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5648, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "4505:4:19", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "4504:6:19" - }, - "scope": 5700, - "src": "4436:75:19", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "functionSelector": "364940d8", - "id": 5656, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "adminEpoch", - "nameLocation": "4526:10:19", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5652, - "nodeType": "ParameterList", - "parameters": [], - "src": "4536:2:19" - }, - "returnParameters": { - "id": 5655, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5654, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 5656, - "src": "4562:7:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5653, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4562:7:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "4561:9:19" - }, - "scope": 5700, - "src": "4517:54:19", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "functionSelector": "88b30587", - "id": 5663, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "adminThreshold", - "nameLocation": "4586:14:19", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5659, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5658, - "mutability": "mutable", - "name": "epoch", - "nameLocation": "4609:5:19", - "nodeType": "VariableDeclaration", - "scope": 5663, - "src": "4601:13:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5657, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4601:7:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "4600:15:19" - }, - "returnParameters": { - "id": 5662, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5661, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 5663, - "src": "4639:7:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5660, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4639:7:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "4638:9:19" - }, - "scope": 5700, - "src": "4577:71:19", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "functionSelector": "14bfd6d0", - "id": 5671, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "admins", - "nameLocation": "4663:6:19", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5666, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5665, - "mutability": "mutable", - "name": "epoch", - "nameLocation": "4678:5:19", - "nodeType": "VariableDeclaration", - "scope": 5671, - "src": "4670:13:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5664, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4670:7:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "4669:15:19" - }, - "returnParameters": { - "id": 5670, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5669, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 5671, - "src": "4708:16:19", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 5667, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4708:7:19", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 5668, - "nodeType": "ArrayTypeName", - "src": "4708:9:19", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "visibility": "internal" - } - ], - "src": "4707:18:19" - }, - "scope": 5700, - "src": "4654:72:19", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "functionSelector": "f6789c8c", - "id": 5680, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "setTokenDailyMintLimits", - "nameLocation": "4820:23:19", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5678, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5674, - "mutability": "mutable", - "name": "symbols", - "nameLocation": "4862:7:19", - "nodeType": "VariableDeclaration", - "scope": 5680, - "src": "4844:25:19", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_string_calldata_ptr_$dyn_calldata_ptr", - "typeString": "string[]" - }, - "typeName": { - "baseType": { - "id": 5672, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4844:6:19", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "id": 5673, - "nodeType": "ArrayTypeName", - "src": "4844:8:19", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_string_storage_$dyn_storage_ptr", - "typeString": "string[]" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5677, - "mutability": "mutable", - "name": "limits", - "nameLocation": "4890:6:19", - "nodeType": "VariableDeclaration", - "scope": 5680, - "src": "4871:25:19", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 5675, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4871:7:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5676, - "nodeType": "ArrayTypeName", - "src": "4871:9:19", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "visibility": "internal" - } - ], - "src": "4843:54:19" - }, - "returnParameters": { - "id": 5679, - "nodeType": "ParameterList", - "parameters": [], - "src": "4906:0:19" - }, - "scope": 5700, - "src": "4811:96:19", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "functionSelector": "a3499c73", - "id": 5689, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "upgrade", - "nameLocation": "4922:7:19", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5687, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5682, - "mutability": "mutable", - "name": "newImplementation", - "nameLocation": "4947:17:19", - "nodeType": "VariableDeclaration", - "scope": 5689, - "src": "4939:25:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5681, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4939:7:19", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5684, - "mutability": "mutable", - "name": "newImplementationCodeHash", - "nameLocation": "4982:25:19", - "nodeType": "VariableDeclaration", - "scope": 5689, - "src": "4974:33:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5683, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "4974:7:19", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5686, - "mutability": "mutable", - "name": "setupParams", - "nameLocation": "5032:11:19", - "nodeType": "VariableDeclaration", - "scope": 5689, - "src": "5017:26:19", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 5685, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "5017:5:19", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "4929:120:19" - }, - "returnParameters": { - "id": 5688, - "nodeType": "ParameterList", - "parameters": [], - "src": "5058:0:19" - }, - "scope": 5700, - "src": "4913:146:19", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "functionSelector": "9ded06df", - "id": 5694, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "setup", - "nameLocation": "5162:5:19", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5692, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5691, - "mutability": "mutable", - "name": "params", - "nameLocation": "5183:6:19", - "nodeType": "VariableDeclaration", - "scope": 5694, - "src": "5168:21:19", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 5690, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "5168:5:19", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "5167:23:19" - }, - "returnParameters": { - "id": 5693, - "nodeType": "ParameterList", - "parameters": [], - "src": "5199:0:19" - }, - "scope": 5700, - "src": "5153:47:19", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "functionSelector": "09c5eabe", - "id": 5699, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "execute", - "nameLocation": "5215:7:19", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5697, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5696, - "mutability": "mutable", - "name": "input", - "nameLocation": "5238:5:19", - "nodeType": "VariableDeclaration", - "scope": 5699, - "src": "5223:20:19", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 5695, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "5223:5:19", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "5222:22:19" - }, - "returnParameters": { - "id": 5698, - "nodeType": "ParameterList", - "parameters": [], - "src": "5253:0:19" - }, - "scope": 5700, - "src": "5206:48:19", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 5701, - "src": "57:5199:19", - "usedErrors": [ - 5363, - 5365, - 5367, - 5369, - 5371, - 5373, - 5375, - 5377, - 5379, - 5383, - 5387, - 5391, - 5395, - 5399, - 5403, - 5405, - 5409 - ] - } - ], - "src": "33:5224:19" - }, - "id": 19 - }, - "@axelar-network/axelar-cgp-solidity/contracts/interfaces/IBurnableMintableCappedERC20.sol": { - "ast": { - "absolutePath": "@axelar-network/axelar-cgp-solidity/contracts/interfaces/IBurnableMintableCappedERC20.sol", - "exportedSymbols": { - "IBurnableMintableCappedERC20": [ - 5734 - ], - "IERC20Burn": [ - 5822 - ], - "IERC20BurnFrom": [ - 5832 - ], - "IMintableCappedERC20": [ - 5893 - ] - }, - "id": 5735, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 5702, - "literals": [ - "solidity", - "0.8", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "33:22:20" - }, - { - "absolutePath": "@axelar-network/axelar-cgp-solidity/contracts/interfaces/IERC20Burn.sol", - "file": "./IERC20Burn.sol", - "id": 5704, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 5735, - "sourceUnit": 5823, - "src": "57:46:20", - "symbolAliases": [ - { - "foreign": { - "id": 5703, - "name": "IERC20Burn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "src": "66:10:20", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "absolutePath": "@axelar-network/axelar-cgp-solidity/contracts/interfaces/IERC20BurnFrom.sol", - "file": "./IERC20BurnFrom.sol", - "id": 5706, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 5735, - "sourceUnit": 5833, - "src": "104:54:20", - "symbolAliases": [ - { - "foreign": { - "id": 5705, - "name": "IERC20BurnFrom", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "src": "113:14:20", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "absolutePath": "@axelar-network/axelar-cgp-solidity/contracts/interfaces/IMintableCappedERC20.sol", - "file": "./IMintableCappedERC20.sol", - "id": 5708, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 5735, - "sourceUnit": 5894, - "src": "159:66:20", - "symbolAliases": [ - { - "foreign": { - "id": 5707, - "name": "IMintableCappedERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "src": "168:20:20", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "baseName": { - "id": 5709, - "name": "IERC20Burn", - "nodeType": "IdentifierPath", - "referencedDeclaration": 5822, - "src": "269:10:20" - }, - "id": 5710, - "nodeType": "InheritanceSpecifier", - "src": "269:10:20" - }, - { - "baseName": { - "id": 5711, - "name": "IERC20BurnFrom", - "nodeType": "IdentifierPath", - "referencedDeclaration": 5832, - "src": "281:14:20" - }, - "id": 5712, - "nodeType": "InheritanceSpecifier", - "src": "281:14:20" - }, - { - "baseName": { - "id": 5713, - "name": "IMintableCappedERC20", - "nodeType": "IdentifierPath", - "referencedDeclaration": 5893, - "src": "297:20:20" - }, - "id": 5714, - "nodeType": "InheritanceSpecifier", - "src": "297:20:20" - } - ], - "canonicalName": "IBurnableMintableCappedERC20", - "contractDependencies": [], - "contractKind": "interface", - "fullyImplemented": false, - "id": 5734, - "linearizedBaseContracts": [ - 5734, - 5893, - 5916, - 5864, - 5814, - 5832, - 5822 - ], - "name": "IBurnableMintableCappedERC20", - "nameLocation": "237:28:20", - "nodeType": "ContractDefinition", - "nodes": [ - { - "functionSelector": "31eecaf4", - "id": 5721, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "depositAddress", - "nameLocation": "333:14:20", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5717, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5716, - "mutability": "mutable", - "name": "salt", - "nameLocation": "356:4:20", - "nodeType": "VariableDeclaration", - "scope": 5721, - "src": "348:12:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5715, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "348:7:20", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "347:14:20" - }, - "returnParameters": { - "id": 5720, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5719, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 5721, - "src": "385:7:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5718, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "385:7:20", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "384:9:20" - }, - "scope": 5734, - "src": "324:70:20", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "baseFunctions": [ - 5821 - ], - "functionSelector": "08a1eee1", - "id": 5726, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "burn", - "nameLocation": "409:4:20", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5724, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5723, - "mutability": "mutable", - "name": "salt", - "nameLocation": "422:4:20", - "nodeType": "VariableDeclaration", - "scope": 5726, - "src": "414:12:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5722, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "414:7:20", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "413:14:20" - }, - "returnParameters": { - "id": 5725, - "nodeType": "ParameterList", - "parameters": [], - "src": "436:0:20" - }, - "scope": 5734, - "src": "400:37:20", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "baseFunctions": [ - 5831 - ], - "functionSelector": "79cc6790", - "id": 5733, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "burnFrom", - "nameLocation": "452:8:20", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5731, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5728, - "mutability": "mutable", - "name": "account", - "nameLocation": "469:7:20", - "nodeType": "VariableDeclaration", - "scope": 5733, - "src": "461:15:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5727, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "461:7:20", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5730, - "mutability": "mutable", - "name": "amount", - "nameLocation": "486:6:20", - "nodeType": "VariableDeclaration", - "scope": 5733, - "src": "478:14:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5729, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "478:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "460:33:20" - }, - "returnParameters": { - "id": 5732, - "nodeType": "ParameterList", - "parameters": [], - "src": "502:0:20" - }, - "scope": 5734, - "src": "443:60:20", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 5735, - "src": "227:278:20", - "usedErrors": [ - 5739, - 5880, - 5897, - 5899 - ] - } - ], - "src": "33:473:20" - }, - "id": 20 - }, - "@axelar-network/axelar-cgp-solidity/contracts/interfaces/IERC20.sol": { - "ast": { - "absolutePath": "@axelar-network/axelar-cgp-solidity/contracts/interfaces/IERC20.sol", - "exportedSymbols": { - "IERC20": [ - 5814 - ] - }, - "id": 5815, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 5736, - "literals": [ - "solidity", - "0.8", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "33:22:21" - }, - { - "abstract": false, - "baseContracts": [], - "canonicalName": "IERC20", - "contractDependencies": [], - "contractKind": "interface", - "documentation": { - "id": 5737, - "nodeType": "StructuredDocumentation", - "src": "57:70:21", - "text": " @dev Interface of the ERC20 standard as defined in the EIP." - }, - "fullyImplemented": false, - "id": 5814, - "linearizedBaseContracts": [ - 5814 - ], - "name": "IERC20", - "nameLocation": "138:6:21", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 5739, - "name": "InvalidAccount", - "nameLocation": "157:14:21", - "nodeType": "ErrorDefinition", - "parameters": { - "id": 5738, - "nodeType": "ParameterList", - "parameters": [], - "src": "171:2:21" - }, - "src": "151:23:21" - }, - { - "documentation": { - "id": 5740, - "nodeType": "StructuredDocumentation", - "src": "180:66:21", - "text": " @dev Returns the amount of tokens in existence." - }, - "functionSelector": "18160ddd", - "id": 5745, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "totalSupply", - "nameLocation": "260:11:21", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5741, - "nodeType": "ParameterList", - "parameters": [], - "src": "271:2:21" - }, - "returnParameters": { - "id": 5744, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5743, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 5745, - "src": "297:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5742, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "297:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "296:9:21" - }, - "scope": 5814, - "src": "251:55:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "documentation": { - "id": 5746, - "nodeType": "StructuredDocumentation", - "src": "312:72:21", - "text": " @dev Returns the amount of tokens owned by `account`." - }, - "functionSelector": "70a08231", - "id": 5753, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "balanceOf", - "nameLocation": "398:9:21", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5749, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5748, - "mutability": "mutable", - "name": "account", - "nameLocation": "416:7:21", - "nodeType": "VariableDeclaration", - "scope": 5753, - "src": "408:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5747, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "408:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "407:17:21" - }, - "returnParameters": { - "id": 5752, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5751, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 5753, - "src": "448:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5750, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "448:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "447:9:21" - }, - "scope": 5814, - "src": "389:68:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "documentation": { - "id": 5754, - "nodeType": "StructuredDocumentation", - "src": "463:209:21", - "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": 5763, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transfer", - "nameLocation": "686:8:21", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5759, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5756, - "mutability": "mutable", - "name": "recipient", - "nameLocation": "703:9:21", - "nodeType": "VariableDeclaration", - "scope": 5763, - "src": "695:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5755, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "695:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5758, - "mutability": "mutable", - "name": "amount", - "nameLocation": "722:6:21", - "nodeType": "VariableDeclaration", - "scope": 5763, - "src": "714:14:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5757, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "714:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "694:35:21" - }, - "returnParameters": { - "id": 5762, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5761, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 5763, - "src": "748:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5760, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "748:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "747:6:21" - }, - "scope": 5814, - "src": "677:77:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "documentation": { - "id": 5764, - "nodeType": "StructuredDocumentation", - "src": "760:264:21", - "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": 5773, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "allowance", - "nameLocation": "1038:9:21", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5769, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5766, - "mutability": "mutable", - "name": "owner", - "nameLocation": "1056:5:21", - "nodeType": "VariableDeclaration", - "scope": 5773, - "src": "1048:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5765, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1048:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5768, - "mutability": "mutable", - "name": "spender", - "nameLocation": "1071:7:21", - "nodeType": "VariableDeclaration", - "scope": 5773, - "src": "1063:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5767, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1063:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "1047:32:21" - }, - "returnParameters": { - "id": 5772, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5771, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 5773, - "src": "1103:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5770, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1103:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1102:9:21" - }, - "scope": 5814, - "src": "1029:83:21", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "documentation": { - "id": 5774, - "nodeType": "StructuredDocumentation", - "src": "1118:642:21", - "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": 5783, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "approve", - "nameLocation": "1774:7:21", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5779, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5776, - "mutability": "mutable", - "name": "spender", - "nameLocation": "1790:7:21", - "nodeType": "VariableDeclaration", - "scope": 5783, - "src": "1782:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5775, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1782:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5778, - "mutability": "mutable", - "name": "amount", - "nameLocation": "1807:6:21", - "nodeType": "VariableDeclaration", - "scope": 5783, - "src": "1799:14:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5777, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1799:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1781:33:21" - }, - "returnParameters": { - "id": 5782, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5781, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 5783, - "src": "1833:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5780, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1833:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "1832:6:21" - }, - "scope": 5814, - "src": "1765:74:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "documentation": { - "id": 5784, - "nodeType": "StructuredDocumentation", - "src": "1845:296:21", - "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": 5795, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transferFrom", - "nameLocation": "2155:12:21", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5791, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5786, - "mutability": "mutable", - "name": "sender", - "nameLocation": "2185:6:21", - "nodeType": "VariableDeclaration", - "scope": 5795, - "src": "2177:14:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5785, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2177:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5788, - "mutability": "mutable", - "name": "recipient", - "nameLocation": "2209:9:21", - "nodeType": "VariableDeclaration", - "scope": 5795, - "src": "2201:17:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5787, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2201:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5790, - "mutability": "mutable", - "name": "amount", - "nameLocation": "2236:6:21", - "nodeType": "VariableDeclaration", - "scope": 5795, - "src": "2228:14:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5789, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2228:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2167:81:21" - }, - "returnParameters": { - "id": 5794, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5793, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 5795, - "src": "2267:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5792, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2267:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "2266:6:21" - }, - "scope": 5814, - "src": "2146:127:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "anonymous": false, - "documentation": { - "id": 5796, - "nodeType": "StructuredDocumentation", - "src": "2279:158:21", - "text": " @dev Emitted when `value` tokens are moved from one account (`from`) to\n another (`to`).\n Note that `value` may be zero." - }, - "id": 5804, - "name": "Transfer", - "nameLocation": "2448:8:21", - "nodeType": "EventDefinition", - "parameters": { - "id": 5803, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5798, - "indexed": true, - "mutability": "mutable", - "name": "from", - "nameLocation": "2473:4:21", - "nodeType": "VariableDeclaration", - "scope": 5804, - "src": "2457:20:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5797, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2457:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5800, - "indexed": true, - "mutability": "mutable", - "name": "to", - "nameLocation": "2495:2:21", - "nodeType": "VariableDeclaration", - "scope": 5804, - "src": "2479:18:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5799, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2479:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5802, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nameLocation": "2507:5:21", - "nodeType": "VariableDeclaration", - "scope": 5804, - "src": "2499:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5801, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2499:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2456:57:21" - }, - "src": "2442:72:21" - }, - { - "anonymous": false, - "documentation": { - "id": 5805, - "nodeType": "StructuredDocumentation", - "src": "2520:148:21", - "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": 5813, - "name": "Approval", - "nameLocation": "2679:8:21", - "nodeType": "EventDefinition", - "parameters": { - "id": 5812, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5807, - "indexed": true, - "mutability": "mutable", - "name": "owner", - "nameLocation": "2704:5:21", - "nodeType": "VariableDeclaration", - "scope": 5813, - "src": "2688:21:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5806, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2688:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5809, - "indexed": true, - "mutability": "mutable", - "name": "spender", - "nameLocation": "2727:7:21", - "nodeType": "VariableDeclaration", - "scope": 5813, - "src": "2711:23:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5808, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2711:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5811, - "indexed": false, - "mutability": "mutable", - "name": "value", - "nameLocation": "2744:5:21", - "nodeType": "VariableDeclaration", - "scope": 5813, - "src": "2736:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5810, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2736:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2687:63:21" - }, - "src": "2673:78:21" - } - ], - "scope": 5815, - "src": "128:2625:21", - "usedErrors": [ - 5739 - ] - } - ], - "src": "33:2721:21" - }, - "id": 21 - }, - "@axelar-network/axelar-cgp-solidity/contracts/interfaces/IERC20Burn.sol": { - "ast": { - "absolutePath": "@axelar-network/axelar-cgp-solidity/contracts/interfaces/IERC20Burn.sol", - "exportedSymbols": { - "IERC20Burn": [ - 5822 - ] - }, - "id": 5823, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 5816, - "literals": [ - "solidity", - "0.8", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "33:22:22" - }, - { - "abstract": false, - "baseContracts": [], - "canonicalName": "IERC20Burn", - "contractDependencies": [], - "contractKind": "interface", - "fullyImplemented": false, - "id": 5822, - "linearizedBaseContracts": [ - 5822 - ], - "name": "IERC20Burn", - "nameLocation": "67:10:22", - "nodeType": "ContractDefinition", - "nodes": [ - { - "functionSelector": "08a1eee1", - "id": 5821, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "burn", - "nameLocation": "93:4:22", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5819, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5818, - "mutability": "mutable", - "name": "salt", - "nameLocation": "106:4:22", - "nodeType": "VariableDeclaration", - "scope": 5821, - "src": "98:12:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5817, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "98:7:22", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "97:14:22" - }, - "returnParameters": { - "id": 5820, - "nodeType": "ParameterList", - "parameters": [], - "src": "120:0:22" - }, - "scope": 5822, - "src": "84:37:22", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 5823, - "src": "57:66:22", - "usedErrors": [] - } - ], - "src": "33:91:22" - }, - "id": 22 - }, - "@axelar-network/axelar-cgp-solidity/contracts/interfaces/IERC20BurnFrom.sol": { - "ast": { - "absolutePath": "@axelar-network/axelar-cgp-solidity/contracts/interfaces/IERC20BurnFrom.sol", - "exportedSymbols": { - "IERC20BurnFrom": [ - 5832 - ] - }, - "id": 5833, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 5824, - "literals": [ - "solidity", - "0.8", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "33:22:23" - }, - { - "abstract": false, - "baseContracts": [], - "canonicalName": "IERC20BurnFrom", - "contractDependencies": [], - "contractKind": "interface", - "fullyImplemented": false, - "id": 5832, - "linearizedBaseContracts": [ - 5832 - ], - "name": "IERC20BurnFrom", - "nameLocation": "67:14:23", - "nodeType": "ContractDefinition", - "nodes": [ - { - "functionSelector": "79cc6790", - "id": 5831, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "burnFrom", - "nameLocation": "97:8:23", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5829, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5826, - "mutability": "mutable", - "name": "account", - "nameLocation": "114:7:23", - "nodeType": "VariableDeclaration", - "scope": 5831, - "src": "106:15:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5825, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "106:7:23", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5828, - "mutability": "mutable", - "name": "amount", - "nameLocation": "131:6:23", - "nodeType": "VariableDeclaration", - "scope": 5831, - "src": "123:14:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5827, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "123:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "105:33:23" - }, - "returnParameters": { - "id": 5830, - "nodeType": "ParameterList", - "parameters": [], - "src": "147:0:23" - }, - "scope": 5832, - "src": "88:60:23", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 5833, - "src": "57:93:23", - "usedErrors": [] - } - ], - "src": "33:118:23" - }, - "id": 23 - }, - "@axelar-network/axelar-cgp-solidity/contracts/interfaces/IERC20Permit.sol": { - "ast": { - "absolutePath": "@axelar-network/axelar-cgp-solidity/contracts/interfaces/IERC20Permit.sol", - "exportedSymbols": { - "IERC20Permit": [ - 5864 - ] - }, - "id": 5865, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 5834, - "literals": [ - "solidity", - "0.8", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "33:22:24" - }, - { - "abstract": false, - "baseContracts": [], - "canonicalName": "IERC20Permit", - "contractDependencies": [], - "contractKind": "interface", - "fullyImplemented": false, - "id": 5864, - "linearizedBaseContracts": [ - 5864 - ], - "name": "IERC20Permit", - "nameLocation": "67:12:24", - "nodeType": "ContractDefinition", - "nodes": [ - { - "functionSelector": "3644e515", - "id": 5839, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "DOMAIN_SEPARATOR", - "nameLocation": "95:16:24", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5835, - "nodeType": "ParameterList", - "parameters": [], - "src": "111:2:24" - }, - "returnParameters": { - "id": 5838, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5837, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 5839, - "src": "137:7:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5836, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "137:7:24", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "136:9:24" - }, - "scope": 5864, - "src": "86:60:24", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "functionSelector": "7ecebe00", - "id": 5846, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "nonces", - "nameLocation": "161:6:24", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5842, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5841, - "mutability": "mutable", - "name": "account", - "nameLocation": "176:7:24", - "nodeType": "VariableDeclaration", - "scope": 5846, - "src": "168:15:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5840, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "168:7:24", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "167:17:24" - }, - "returnParameters": { - "id": 5845, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5844, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 5846, - "src": "208:7:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5843, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "208:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "207:9:24" - }, - "scope": 5864, - "src": "152:65:24", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "functionSelector": "d505accf", - "id": 5863, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "permit", - "nameLocation": "232:6:24", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5861, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5848, - "mutability": "mutable", - "name": "issuer", - "nameLocation": "256:6:24", - "nodeType": "VariableDeclaration", - "scope": 5863, - "src": "248:14:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5847, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "248:7:24", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5850, - "mutability": "mutable", - "name": "spender", - "nameLocation": "280:7:24", - "nodeType": "VariableDeclaration", - "scope": 5863, - "src": "272:15:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5849, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "272:7:24", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5852, - "mutability": "mutable", - "name": "value", - "nameLocation": "305:5:24", - "nodeType": "VariableDeclaration", - "scope": 5863, - "src": "297:13:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5851, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "297:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5854, - "mutability": "mutable", - "name": "deadline", - "nameLocation": "328:8:24", - "nodeType": "VariableDeclaration", - "scope": 5863, - "src": "320:16:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5853, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "320:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5856, - "mutability": "mutable", - "name": "v", - "nameLocation": "352:1:24", - "nodeType": "VariableDeclaration", - "scope": 5863, - "src": "346:7:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 5855, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "346:5:24", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5858, - "mutability": "mutable", - "name": "r", - "nameLocation": "371:1:24", - "nodeType": "VariableDeclaration", - "scope": 5863, - "src": "363:9:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5857, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "363:7:24", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5860, - "mutability": "mutable", - "name": "s", - "nameLocation": "390:1:24", - "nodeType": "VariableDeclaration", - "scope": 5863, - "src": "382:9:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5859, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "382:7:24", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "238:159:24" - }, - "returnParameters": { - "id": 5862, - "nodeType": "ParameterList", - "parameters": [], - "src": "406:0:24" - }, - "scope": 5864, - "src": "223:184:24", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 5865, - "src": "57:352:24", - "usedErrors": [] - } - ], - "src": "33:377:24" - }, - "id": 24 - }, - "@axelar-network/axelar-cgp-solidity/contracts/interfaces/IMintableCappedERC20.sol": { - "ast": { - "absolutePath": "@axelar-network/axelar-cgp-solidity/contracts/interfaces/IMintableCappedERC20.sol", - "exportedSymbols": { - "IERC20": [ - 5814 - ], - "IERC20Permit": [ - 5864 - ], - "IMintableCappedERC20": [ - 5893 - ], - "IOwnable": [ - 5916 - ] - }, - "id": 5894, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 5866, - "literals": [ - "solidity", - "0.8", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "33:22:25" - }, - { - "absolutePath": "@axelar-network/axelar-cgp-solidity/contracts/interfaces/IERC20.sol", - "file": "./IERC20.sol", - "id": 5868, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 5894, - "sourceUnit": 5815, - "src": "57:38:25", - "symbolAliases": [ - { - "foreign": { - "id": 5867, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "src": "66:6:25", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "absolutePath": "@axelar-network/axelar-cgp-solidity/contracts/interfaces/IERC20Permit.sol", - "file": "./IERC20Permit.sol", - "id": 5870, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 5894, - "sourceUnit": 5865, - "src": "96:50:25", - "symbolAliases": [ - { - "foreign": { - "id": 5869, - "name": "IERC20Permit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "src": "105:12:25", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "absolutePath": "@axelar-network/axelar-cgp-solidity/contracts/interfaces/IOwnable.sol", - "file": "./IOwnable.sol", - "id": 5872, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 5894, - "sourceUnit": 5917, - "src": "147:42:25", - "symbolAliases": [ - { - "foreign": { - "id": 5871, - "name": "IOwnable", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "src": "156:8:25", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "baseName": { - "id": 5873, - "name": "IERC20", - "nodeType": "IdentifierPath", - "referencedDeclaration": 5814, - "src": "225:6:25" - }, - "id": 5874, - "nodeType": "InheritanceSpecifier", - "src": "225:6:25" - }, - { - "baseName": { - "id": 5875, - "name": "IERC20Permit", - "nodeType": "IdentifierPath", - "referencedDeclaration": 5864, - "src": "233:12:25" - }, - "id": 5876, - "nodeType": "InheritanceSpecifier", - "src": "233:12:25" - }, - { - "baseName": { - "id": 5877, - "name": "IOwnable", - "nodeType": "IdentifierPath", - "referencedDeclaration": 5916, - "src": "247:8:25" - }, - "id": 5878, - "nodeType": "InheritanceSpecifier", - "src": "247:8:25" - } - ], - "canonicalName": "IMintableCappedERC20", - "contractDependencies": [], - "contractKind": "interface", - "fullyImplemented": false, - "id": 5893, - "linearizedBaseContracts": [ - 5893, - 5916, - 5864, - 5814 - ], - "name": "IMintableCappedERC20", - "nameLocation": "201:20:25", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 5880, - "name": "CapExceeded", - "nameLocation": "268:11:25", - "nodeType": "ErrorDefinition", - "parameters": { - "id": 5879, - "nodeType": "ParameterList", - "parameters": [], - "src": "279:2:25" - }, - "src": "262:20:25" - }, - { - "functionSelector": "355274ea", - "id": 5885, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "cap", - "nameLocation": "297:3:25", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5881, - "nodeType": "ParameterList", - "parameters": [], - "src": "300:2:25" - }, - "returnParameters": { - "id": 5884, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5883, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 5885, - "src": "326:7:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5882, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "326:7:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "325:9:25" - }, - "scope": 5893, - "src": "288:47:25", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "functionSelector": "40c10f19", - "id": 5892, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "mint", - "nameLocation": "350:4:25", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5890, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5887, - "mutability": "mutable", - "name": "account", - "nameLocation": "363:7:25", - "nodeType": "VariableDeclaration", - "scope": 5892, - "src": "355:15:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5886, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "355:7:25", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5889, - "mutability": "mutable", - "name": "amount", - "nameLocation": "380:6:25", - "nodeType": "VariableDeclaration", - "scope": 5892, - "src": "372:14:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5888, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "372:7:25", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "354:33:25" - }, - "returnParameters": { - "id": 5891, - "nodeType": "ParameterList", - "parameters": [], - "src": "396:0:25" - }, - "scope": 5893, - "src": "341:56:25", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 5894, - "src": "191:208:25", - "usedErrors": [ - 5739, - 5880, - 5897, - 5899 - ] - } - ], - "src": "33:367:25" - }, - "id": 25 - }, - "@axelar-network/axelar-cgp-solidity/contracts/interfaces/IOwnable.sol": { - "ast": { - "absolutePath": "@axelar-network/axelar-cgp-solidity/contracts/interfaces/IOwnable.sol", - "exportedSymbols": { - "IOwnable": [ - 5916 - ] - }, - "id": 5917, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 5895, - "literals": [ - "solidity", - "0.8", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "33:22:26" - }, - { - "abstract": false, - "baseContracts": [], - "canonicalName": "IOwnable", - "contractDependencies": [], - "contractKind": "interface", - "fullyImplemented": false, - "id": 5916, - "linearizedBaseContracts": [ - 5916 - ], - "name": "IOwnable", - "nameLocation": "67:8:26", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 5897, - "name": "NotOwner", - "nameLocation": "88:8:26", - "nodeType": "ErrorDefinition", - "parameters": { - "id": 5896, - "nodeType": "ParameterList", - "parameters": [], - "src": "96:2:26" - }, - "src": "82:17:26" - }, - { - "id": 5899, - "name": "InvalidOwner", - "nameLocation": "110:12:26", - "nodeType": "ErrorDefinition", - "parameters": { - "id": 5898, - "nodeType": "ParameterList", - "parameters": [], - "src": "122:2:26" - }, - "src": "104:21:26" - }, - { - "anonymous": false, - "id": 5905, - "name": "OwnershipTransferred", - "nameLocation": "137:20:26", - "nodeType": "EventDefinition", - "parameters": { - "id": 5904, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5901, - "indexed": true, - "mutability": "mutable", - "name": "previousOwner", - "nameLocation": "174:13:26", - "nodeType": "VariableDeclaration", - "scope": 5905, - "src": "158:29:26", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5900, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "158:7:26", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5903, - "indexed": true, - "mutability": "mutable", - "name": "newOwner", - "nameLocation": "205:8:26", - "nodeType": "VariableDeclaration", - "scope": 5905, - "src": "189:24:26", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5902, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "189:7:26", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "157:57:26" - }, - "src": "131:84:26" - }, - { - "functionSelector": "8da5cb5b", - "id": 5910, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "owner", - "nameLocation": "230:5:26", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5906, - "nodeType": "ParameterList", - "parameters": [], - "src": "235:2:26" - }, - "returnParameters": { - "id": 5909, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5908, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 5910, - "src": "261:7:26", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5907, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "261:7:26", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "260:9:26" - }, - "scope": 5916, - "src": "221:49:26", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "functionSelector": "f2fde38b", - "id": 5915, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transferOwnership", - "nameLocation": "285:17:26", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5913, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5912, - "mutability": "mutable", - "name": "newOwner", - "nameLocation": "311:8:26", - "nodeType": "VariableDeclaration", - "scope": 5915, - "src": "303:16:26", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5911, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "303:7:26", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "302:18:26" - }, - "returnParameters": { - "id": 5914, - "nodeType": "ParameterList", - "parameters": [], - "src": "329:0:26" - }, - "scope": 5916, - "src": "276:54:26", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 5917, - "src": "57:275:26", - "usedErrors": [ - 5897, - 5899 - ] - } - ], - "src": "33:300:26" - }, - "id": 26 - }, - "@axelar-network/axelar-cgp-solidity/contracts/interfaces/ITokenDeployer.sol": { - "ast": { - "absolutePath": "@axelar-network/axelar-cgp-solidity/contracts/interfaces/ITokenDeployer.sol", - "exportedSymbols": { - "ITokenDeployer": [ - 5934 - ] - }, - "id": 5935, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 5918, - "literals": [ - "solidity", - "0.8", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "33:22:27" - }, - { - "abstract": false, - "baseContracts": [], - "canonicalName": "ITokenDeployer", - "contractDependencies": [], - "contractKind": "interface", - "fullyImplemented": false, - "id": 5934, - "linearizedBaseContracts": [ - 5934 - ], - "name": "ITokenDeployer", - "nameLocation": "67:14:27", - "nodeType": "ContractDefinition", - "nodes": [ - { - "functionSelector": "6fc95b34", - "id": 5933, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "deployToken", - "nameLocation": "97:11:27", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5929, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5920, - "mutability": "mutable", - "name": "name", - "nameLocation": "134:4:27", - "nodeType": "VariableDeclaration", - "scope": 5933, - "src": "118:20:27", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string" - }, - "typeName": { - "id": 5919, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "118:6:27", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5922, - "mutability": "mutable", - "name": "symbol", - "nameLocation": "164:6:27", - "nodeType": "VariableDeclaration", - "scope": 5933, - "src": "148:22:27", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string" - }, - "typeName": { - "id": 5921, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "148:6:27", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5924, - "mutability": "mutable", - "name": "decimals", - "nameLocation": "186:8:27", - "nodeType": "VariableDeclaration", - "scope": 5933, - "src": "180:14:27", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 5923, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "180:5:27", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5926, - "mutability": "mutable", - "name": "cap", - "nameLocation": "212:3:27", - "nodeType": "VariableDeclaration", - "scope": 5933, - "src": "204:11:27", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5925, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "204:7:27", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5928, - "mutability": "mutable", - "name": "salt", - "nameLocation": "233:4:27", - "nodeType": "VariableDeclaration", - "scope": 5933, - "src": "225:12:27", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5927, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "225:7:27", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "108:135:27" - }, - "returnParameters": { - "id": 5932, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5931, - "mutability": "mutable", - "name": "tokenAddress", - "nameLocation": "270:12:27", - "nodeType": "VariableDeclaration", - "scope": 5933, - "src": "262:20:27", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5930, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "262:7:27", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "261:22:27" - }, - "scope": 5934, - "src": "88:196:27", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 5935, - "src": "57:229:27", - "usedErrors": [] - } - ], - "src": "33:254:27" - }, - "id": 27 - }, - "@axelar-network/axelar-cgp-solidity/contracts/interfaces/IUpgradable.sol": { - "ast": { - "absolutePath": "@axelar-network/axelar-cgp-solidity/contracts/interfaces/IUpgradable.sol", - "exportedSymbols": { - "IUpgradable": [ - 5981 - ] - }, - "id": 5982, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 5936, - "literals": [ - "solidity", - "0.8", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "33:22:28" - }, - { - "abstract": false, - "baseContracts": [], - "canonicalName": "IUpgradable", - "contractDependencies": [], - "contractKind": "interface", - "fullyImplemented": false, - "id": 5981, - "linearizedBaseContracts": [ - 5981 - ], - "name": "IUpgradable", - "nameLocation": "113:11:28", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 5938, - "name": "NotOwner", - "nameLocation": "137:8:28", - "nodeType": "ErrorDefinition", - "parameters": { - "id": 5937, - "nodeType": "ParameterList", - "parameters": [], - "src": "145:2:28" - }, - "src": "131:17:28" - }, - { - "id": 5940, - "name": "InvalidOwner", - "nameLocation": "159:12:28", - "nodeType": "ErrorDefinition", - "parameters": { - "id": 5939, - "nodeType": "ParameterList", - "parameters": [], - "src": "171:2:28" - }, - "src": "153:21:28" - }, - { - "id": 5942, - "name": "InvalidCodeHash", - "nameLocation": "185:15:28", - "nodeType": "ErrorDefinition", - "parameters": { - "id": 5941, - "nodeType": "ParameterList", - "parameters": [], - "src": "200:2:28" - }, - "src": "179:24:28" - }, - { - "id": 5944, - "name": "InvalidImplementation", - "nameLocation": "214:21:28", - "nodeType": "ErrorDefinition", - "parameters": { - "id": 5943, - "nodeType": "ParameterList", - "parameters": [], - "src": "235:2:28" - }, - "src": "208:30:28" - }, - { - "id": 5946, - "name": "SetupFailed", - "nameLocation": "249:11:28", - "nodeType": "ErrorDefinition", - "parameters": { - "id": 5945, - "nodeType": "ParameterList", - "parameters": [], - "src": "260:2:28" - }, - "src": "243:20:28" - }, - { - "id": 5948, - "name": "NotProxy", - "nameLocation": "274:8:28", - "nodeType": "ErrorDefinition", - "parameters": { - "id": 5947, - "nodeType": "ParameterList", - "parameters": [], - "src": "282:2:28" - }, - "src": "268:17:28" - }, - { - "anonymous": false, - "id": 5952, - "name": "Upgraded", - "nameLocation": "297:8:28", - "nodeType": "EventDefinition", - "parameters": { - "id": 5951, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5950, - "indexed": true, - "mutability": "mutable", - "name": "newImplementation", - "nameLocation": "322:17:28", - "nodeType": "VariableDeclaration", - "scope": 5952, - "src": "306:33:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5949, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "306:7:28", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "305:35:28" - }, - "src": "291:50:28" - }, - { - "anonymous": false, - "id": 5956, - "name": "OwnershipTransferred", - "nameLocation": "352:20:28", - "nodeType": "EventDefinition", - "parameters": { - "id": 5955, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5954, - "indexed": true, - "mutability": "mutable", - "name": "newOwner", - "nameLocation": "389:8:28", - "nodeType": "VariableDeclaration", - "scope": 5956, - "src": "373:24:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5953, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "373:7:28", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "372:26:28" - }, - "src": "346:53:28" - }, - { - "functionSelector": "8da5cb5b", - "id": 5961, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "owner", - "nameLocation": "439:5:28", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5957, - "nodeType": "ParameterList", - "parameters": [], - "src": "444:2:28" - }, - "returnParameters": { - "id": 5960, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5959, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 5961, - "src": "470:7:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5958, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "470:7:28", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "469:9:28" - }, - "scope": 5981, - "src": "430:49:28", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "functionSelector": "8291286c", - "id": 5966, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "contractId", - "nameLocation": "494:10:28", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5962, - "nodeType": "ParameterList", - "parameters": [], - "src": "504:2:28" - }, - "returnParameters": { - "id": 5965, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5964, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 5966, - "src": "530:7:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5963, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "530:7:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "529:9:28" - }, - "scope": 5981, - "src": "485:54:28", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "functionSelector": "a3499c73", - "id": 5975, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "upgrade", - "nameLocation": "554:7:28", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5973, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5968, - "mutability": "mutable", - "name": "newImplementation", - "nameLocation": "579:17:28", - "nodeType": "VariableDeclaration", - "scope": 5975, - "src": "571:25:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5967, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "571:7:28", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5970, - "mutability": "mutable", - "name": "newImplementationCodeHash", - "nameLocation": "614:25:28", - "nodeType": "VariableDeclaration", - "scope": 5975, - "src": "606:33:28", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5969, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "606:7:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5972, - "mutability": "mutable", - "name": "params", - "nameLocation": "664:6:28", - "nodeType": "VariableDeclaration", - "scope": 5975, - "src": "649:21:28", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 5971, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "649:5:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "561:115:28" - }, - "returnParameters": { - "id": 5974, - "nodeType": "ParameterList", - "parameters": [], - "src": "685:0:28" - }, - "scope": 5981, - "src": "545:141:28", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "functionSelector": "9ded06df", - "id": 5980, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "setup", - "nameLocation": "701:5:28", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5978, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5977, - "mutability": "mutable", - "name": "data", - "nameLocation": "722:4:28", - "nodeType": "VariableDeclaration", - "scope": 5980, - "src": "707:19:28", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 5976, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "707:5:28", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "706:21:28" - }, - "returnParameters": { - "id": 5979, - "nodeType": "ParameterList", - "parameters": [], - "src": "736:0:28" - }, - "scope": 5981, - "src": "692:45:28", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 5982, - "src": "103:636:28", - "usedErrors": [ - 5938, - 5940, - 5942, - 5944, - 5946, - 5948 - ] - } - ], - "src": "33:707:28" - }, - "id": 28 - }, - "@axelar-network/axelar-cgp-solidity/contracts/util/Proxy.sol": { - "ast": { - "absolutePath": "@axelar-network/axelar-cgp-solidity/contracts/util/Proxy.sol", - "exportedSymbols": { - "Proxy": [ - 6052 - ] - }, - "id": 6053, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 5983, - "literals": [ - "solidity", - "0.8", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "33:22:29" - }, - { - "abstract": false, - "baseContracts": [], - "canonicalName": "Proxy", - "contractDependencies": [], - "contractKind": "contract", - "fullyImplemented": true, - "id": 6052, - "linearizedBaseContracts": [ - 6052 - ], - "name": "Proxy", - "nameLocation": "66:5:29", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 5985, - "name": "InvalidImplementation", - "nameLocation": "84:21:29", - "nodeType": "ErrorDefinition", - "parameters": { - "id": 5984, - "nodeType": "ParameterList", - "parameters": [], - "src": "105:2:29" - }, - "src": "78:30:29" - }, - { - "id": 5987, - "name": "SetupFailed", - "nameLocation": "119:11:29", - "nodeType": "ErrorDefinition", - "parameters": { - "id": 5986, - "nodeType": "ParameterList", - "parameters": [], - "src": "130:2:29" - }, - "src": "113:20:29" - }, - { - "id": 5989, - "name": "EtherNotAccepted", - "nameLocation": "144:16:29", - "nodeType": "ErrorDefinition", - "parameters": { - "id": 5988, - "nodeType": "ParameterList", - "parameters": [], - "src": "160:2:29" - }, - "src": "138:25:29" - }, - { - "constant": true, - "id": 5992, - "mutability": "constant", - "name": "_IMPLEMENTATION_SLOT", - "nameLocation": "266:20:29", - "nodeType": "VariableDeclaration", - "scope": 6052, - "src": "240:115:29", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5990, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "240:7:29", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "hexValue": "307833363038393461313362613161333231303636376338323834393264623938646361336532303736636333373335613932306133636135303564333832626263", - "id": 5991, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "289:66:29", - "typeDescriptions": { - "typeIdentifier": "t_rational_24440054405305269366569402256811496959409073762505157381672968839269610695612_by_1", - "typeString": "int_const 2444...(69 digits omitted)...5612" - }, - "value": "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc" - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 5995, - "mutability": "constant", - "name": "_OWNER_SLOT", - "nameLocation": "414:11:29", - "nodeType": "VariableDeclaration", - "scope": 6052, - "src": "388:106:29", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 5993, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "388:7:29", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "hexValue": "307830323031363833366135366237316630643032363839653639653332366634663463316239303537313634656635393236373163663064333763383034306330", - "id": 5994, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "428:66:29", - "typeDescriptions": { - "typeIdentifier": "t_rational_907111799109225873672206001743429201758838553092777504370151546632448000192_by_1", - "typeString": "int_const 9071...(67 digits omitted)...0192" - }, - "value": "0x02016836a56b71f0d02689e69e326f4f4c1b9057164ef592671cf0d37c8040c0" - }, - "visibility": "internal" - }, - { - "body": { - "id": 6020, - "nodeType": "Block", - "src": "565:479:29", - "statements": [ - { - "AST": { - "nodeType": "YulBlock", - "src": "640:117:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "_IMPLEMENTATION_SLOT", - "nodeType": "YulIdentifier", - "src": "661:20:29" - }, - { - "name": "implementationAddress", - "nodeType": "YulIdentifier", - "src": "683:21:29" - } - ], - "functionName": { - "name": "sstore", - "nodeType": "YulIdentifier", - "src": "654:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "654:51:29" - }, - "nodeType": "YulExpressionStatement", - "src": "654:51:29" - }, - { - "expression": { - "arguments": [ - { - "name": "_OWNER_SLOT", - "nodeType": "YulIdentifier", - "src": "725:11:29" - }, - { - "arguments": [], - "functionName": { - "name": "caller", - "nodeType": "YulIdentifier", - "src": "738:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "738:8:29" - } - ], - "functionName": { - "name": "sstore", - "nodeType": "YulIdentifier", - "src": "718:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "718:29:29" - }, - "nodeType": "YulExpressionStatement", - "src": "718:29:29" - } - ] - }, - "evmVersion": "london", - "externalReferences": [ - { - "declaration": 5992, - "isOffset": false, - "isSlot": false, - "src": "661:20:29", - "valueSize": 1 - }, - { - "declaration": 5995, - "isOffset": false, - "isSlot": false, - "src": "725:11:29", - "valueSize": 1 - }, - { - "declaration": 5997, - "isOffset": false, - "isSlot": false, - "src": "683:21:29", - "valueSize": 1 - } - ], - "id": 6002, - "nodeType": "InlineAssembly", - "src": "631:126:29" - }, - { - "assignments": [ - 6004, - null - ], - "declarations": [ - { - "constant": false, - "id": 6004, - "mutability": "mutable", - "name": "success", - "nameLocation": "831:7:29", - "nodeType": "VariableDeclaration", - "scope": 6020, - "src": "826:12:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 6003, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "826:4:29", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - }, - null - ], - "id": 6013, - "initialValue": { - "arguments": [ - { - "arguments": [ - { - "hexValue": "30783964656430366466", - "id": 6009, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "963:10:29", - "typeDescriptions": { - "typeIdentifier": "t_rational_2649556703_by_1", - "typeString": "int_const 2649556703" - }, - "value": "0x9ded06df" - }, - { - "id": 6010, - "name": "params", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5999, - "src": "975:6:29", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_2649556703_by_1", - "typeString": "int_const 2649556703" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "expression": { - "id": 6007, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "940:3:29", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 6008, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodeWithSelector", - "nodeType": "MemberAccess", - "src": "940:22:29", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (bytes4) pure returns (bytes memory)" - } - }, - "id": 6011, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "940:42:29", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "expression": { - "id": 6005, - "name": "implementationAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5997, - "src": "844:21:29", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 6006, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "delegatecall", - "nodeType": "MemberAccess", - "src": "844:34:29", - "typeDescriptions": { - "typeIdentifier": "t_function_baredelegatecall_nonpayable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "function (bytes memory) returns (bool,bytes memory)" - } - }, - "id": 6012, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "844:148:29", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "tuple(bool,bytes memory)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "825:167:29" - }, - { - "condition": { - "id": 6015, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "1007:8:29", - "subExpression": { - "id": 6014, - "name": "success", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6004, - "src": "1008:7:29", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 6019, - "nodeType": "IfStatement", - "src": "1003:34:29", - "trueBody": { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 6016, - "name": "SetupFailed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5987, - "src": "1024:11:29", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 6017, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1024:13:29", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6018, - "nodeType": "RevertStatement", - "src": "1017:20:29" - } - } - ] - }, - "id": 6021, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6000, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5997, - "mutability": "mutable", - "name": "implementationAddress", - "nameLocation": "521:21:29", - "nodeType": "VariableDeclaration", - "scope": 6021, - "src": "513:29:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5996, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "513:7:29", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5999, - "mutability": "mutable", - "name": "params", - "nameLocation": "557:6:29", - "nodeType": "VariableDeclaration", - "scope": 6021, - "src": "544:19:29", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 5998, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "544:5:29", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "512:52:29" - }, - "returnParameters": { - "id": 6001, - "nodeType": "ParameterList", - "parameters": [], - "src": "565:0:29" - }, - "scope": 6052, - "src": "501:543:29", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 6027, - "nodeType": "Block", - "src": "1122:151:29", - "statements": [ - { - "AST": { - "nodeType": "YulBlock", - "src": "1197:70:29", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "1211:46:29", - "value": { - "arguments": [ - { - "name": "_IMPLEMENTATION_SLOT", - "nodeType": "YulIdentifier", - "src": "1236:20:29" - } - ], - "functionName": { - "name": "sload", - "nodeType": "YulIdentifier", - "src": "1230:5:29" - }, - "nodeType": "YulFunctionCall", - "src": "1230:27:29" - }, - "variableNames": [ - { - "name": "implementation_", - "nodeType": "YulIdentifier", - "src": "1211:15:29" - } - ] - } - ] - }, - "evmVersion": "london", - "externalReferences": [ - { - "declaration": 5992, - "isOffset": false, - "isSlot": false, - "src": "1236:20:29", - "valueSize": 1 - }, - { - "declaration": 6024, - "isOffset": false, - "isSlot": false, - "src": "1211:15:29", - "valueSize": 1 - } - ], - "id": 6026, - "nodeType": "InlineAssembly", - "src": "1188:79:29" - } - ] - }, - "functionSelector": "5c60da1b", - "id": 6028, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "implementation", - "nameLocation": "1059:14:29", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6022, - "nodeType": "ParameterList", - "parameters": [], - "src": "1073:2:29" - }, - "returnParameters": { - "id": 6025, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6024, - "mutability": "mutable", - "name": "implementation_", - "nameLocation": "1105:15:29", - "nodeType": "VariableDeclaration", - "scope": 6028, - "src": "1097:23:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6023, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1097:7:29", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "1096:25:29" - }, - "scope": 6052, - "src": "1050:223:29", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 6033, - "nodeType": "Block", - "src": "1371:2:29", - "statements": [] - }, - "functionSelector": "9ded06df", - "id": 6034, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "setup", - "nameLocation": "1337:5:29", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6031, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6030, - "mutability": "mutable", - "name": "data", - "nameLocation": "1358:4:29", - "nodeType": "VariableDeclaration", - "scope": 6034, - "src": "1343:19:29", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 6029, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "1343:5:29", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "1342:21:29" - }, - "returnParameters": { - "id": 6032, - "nodeType": "ParameterList", - "parameters": [], - "src": "1371:0:29" - }, - "scope": 6052, - "src": "1328:45:29", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 6043, - "nodeType": "Block", - "src": "1460:515:29", - "statements": [ - { - "assignments": [ - 6038 - ], - "declarations": [ - { - "constant": false, - "id": 6038, - "mutability": "mutable", - "name": "implementaion_", - "nameLocation": "1478:14:29", - "nodeType": "VariableDeclaration", - "scope": 6043, - "src": "1470:22:29", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6037, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1470:7:29", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "id": 6041, - "initialValue": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 6039, - "name": "implementation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6028, - "src": "1495:14:29", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", - "typeString": "function () view returns (address)" - } - }, - "id": 6040, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1495:16:29", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1470:41:29" - }, - { - "AST": { - "nodeType": "YulBlock", - "src": "1586:383:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1613:1:29", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1616:1:29", - "type": "", - "value": "0" - }, - { - "arguments": [], - "functionName": { - "name": "calldatasize", - "nodeType": "YulIdentifier", - "src": "1619:12:29" - }, - "nodeType": "YulFunctionCall", - "src": "1619:14:29" - } - ], - "functionName": { - "name": "calldatacopy", - "nodeType": "YulIdentifier", - "src": "1600:12:29" - }, - "nodeType": "YulFunctionCall", - "src": "1600:34:29" - }, - "nodeType": "YulExpressionStatement", - "src": "1600:34:29" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "1648:74:29", - "value": { - "arguments": [ - { - "arguments": [], - "functionName": { - "name": "gas", - "nodeType": "YulIdentifier", - "src": "1675:3:29" - }, - "nodeType": "YulFunctionCall", - "src": "1675:5:29" - }, - { - "name": "implementaion_", - "nodeType": "YulIdentifier", - "src": "1682:14:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1698:1:29", - "type": "", - "value": "0" - }, - { - "arguments": [], - "functionName": { - "name": "calldatasize", - "nodeType": "YulIdentifier", - "src": "1701:12:29" - }, - "nodeType": "YulFunctionCall", - "src": "1701:14:29" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1717:1:29", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1720:1:29", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "delegatecall", - "nodeType": "YulIdentifier", - "src": "1662:12:29" - }, - "nodeType": "YulFunctionCall", - "src": "1662:60:29" - }, - "variables": [ - { - "name": "result", - "nodeType": "YulTypedName", - "src": "1652:6:29", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1750:1:29", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1753:1:29", - "type": "", - "value": "0" - }, - { - "arguments": [], - "functionName": { - "name": "returndatasize", - "nodeType": "YulIdentifier", - "src": "1756:14:29" - }, - "nodeType": "YulFunctionCall", - "src": "1756:16:29" - } - ], - "functionName": { - "name": "returndatacopy", - "nodeType": "YulIdentifier", - "src": "1735:14:29" - }, - "nodeType": "YulFunctionCall", - "src": "1735:38:29" - }, - "nodeType": "YulExpressionStatement", - "src": "1735:38:29" - }, - { - "cases": [ - { - "body": { - "nodeType": "YulBlock", - "src": "1820:59:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1845:1:29", - "type": "", - "value": "0" - }, - { - "arguments": [], - "functionName": { - "name": "returndatasize", - "nodeType": "YulIdentifier", - "src": "1848:14:29" - }, - "nodeType": "YulFunctionCall", - "src": "1848:16:29" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "1838:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "1838:27:29" - }, - "nodeType": "YulExpressionStatement", - "src": "1838:27:29" - } - ] - }, - "nodeType": "YulCase", - "src": "1813:66:29", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1818:1:29", - "type": "", - "value": "0" - } - }, - { - "body": { - "nodeType": "YulBlock", - "src": "1900:59:29", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "1925:1:29", - "type": "", - "value": "0" - }, - { - "arguments": [], - "functionName": { - "name": "returndatasize", - "nodeType": "YulIdentifier", - "src": "1928:14:29" - }, - "nodeType": "YulFunctionCall", - "src": "1928:16:29" - } - ], - "functionName": { - "name": "return", - "nodeType": "YulIdentifier", - "src": "1918:6:29" - }, - "nodeType": "YulFunctionCall", - "src": "1918:27:29" - }, - "nodeType": "YulExpressionStatement", - "src": "1918:27:29" - } - ] - }, - "nodeType": "YulCase", - "src": "1892:67:29", - "value": "default" - } - ], - "expression": { - "name": "result", - "nodeType": "YulIdentifier", - "src": "1794:6:29" - }, - "nodeType": "YulSwitch", - "src": "1787:172:29" - } - ] - }, - "evmVersion": "london", - "externalReferences": [ - { - "declaration": 6038, - "isOffset": false, - "isSlot": false, - "src": "1682:14:29", - "valueSize": 1 - } - ], - "id": 6042, - "nodeType": "InlineAssembly", - "src": "1577:392:29" - } - ] - }, - "id": 6044, - "implemented": true, - "kind": "fallback", - "modifiers": [], - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6035, - "nodeType": "ParameterList", - "parameters": [], - "src": "1440:2:29" - }, - "returnParameters": { - "id": 6036, - "nodeType": "ParameterList", - "parameters": [], - "src": "1460:0:29" - }, - "scope": 6052, - "src": "1432:543:29", - "stateMutability": "payable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 6050, - "nodeType": "Block", - "src": "2016:42:29", - "statements": [ - { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 6047, - "name": "EtherNotAccepted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5989, - "src": "2033:16:29", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 6048, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2033:18:29", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6049, - "nodeType": "RevertStatement", - "src": "2026:25:29" - } - ] - }, - "id": 6051, - "implemented": true, - "kind": "receive", - "modifiers": [], - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6045, - "nodeType": "ParameterList", - "parameters": [], - "src": "1988:2:29" - }, - "returnParameters": { - "id": 6046, - "nodeType": "ParameterList", - "parameters": [], - "src": "2016:0:29" - }, - "scope": 6052, - "src": "1981:77:29", - "stateMutability": "payable", - "virtual": true, - "visibility": "external" - } - ], - "scope": 6053, - "src": "57:2003:29", - "usedErrors": [ - 5985, - 5987, - 5989 - ] - } - ], - "src": "33:2028:29" - }, - "id": 29 - }, - "@axelar-network/axelar-cgp-solidity/contracts/util/Upgradable.sol": { - "ast": { - "absolutePath": "@axelar-network/axelar-cgp-solidity/contracts/util/Upgradable.sol", - "exportedSymbols": { - "IUpgradable": [ - 5981 - ], - "Upgradable": [ - 6202 - ] - }, - "id": 6203, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 6054, - "literals": [ - "solidity", - "0.8", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "33:22:30" - }, - { - "absolutePath": "@axelar-network/axelar-cgp-solidity/contracts/interfaces/IUpgradable.sol", - "file": "../interfaces/IUpgradable.sol", - "id": 6055, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 6203, - "sourceUnit": 5982, - "src": "57:39:30", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": true, - "baseContracts": [ - { - "baseName": { - "id": 6056, - "name": "IUpgradable", - "nodeType": "IdentifierPath", - "referencedDeclaration": 5981, - "src": "130:11:30" - }, - "id": 6057, - "nodeType": "InheritanceSpecifier", - "src": "130:11:30" - } - ], - "canonicalName": "Upgradable", - "contractDependencies": [], - "contractKind": "contract", - "fullyImplemented": false, - "id": 6202, - "linearizedBaseContracts": [ - 6202, - 5981 - ], - "name": "Upgradable", - "nameLocation": "116:10:30", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": true, - "id": 6060, - "mutability": "constant", - "name": "_IMPLEMENTATION_SLOT", - "nameLocation": "245:20:30", - "nodeType": "VariableDeclaration", - "scope": 6202, - "src": "219:115:30", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 6058, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "219:7:30", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "hexValue": "307833363038393461313362613161333231303636376338323834393264623938646361336532303736636333373335613932306133636135303564333832626263", - "id": 6059, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "268:66:30", - "typeDescriptions": { - "typeIdentifier": "t_rational_24440054405305269366569402256811496959409073762505157381672968839269610695612_by_1", - "typeString": "int_const 2444...(69 digits omitted)...5612" - }, - "value": "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc" - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 6063, - "mutability": "constant", - "name": "_OWNER_SLOT", - "nameLocation": "392:11:30", - "nodeType": "VariableDeclaration", - "scope": 6202, - "src": "366:106:30", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 6061, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "366:7:30", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "hexValue": "307830323031363833366135366237316630643032363839653639653332366634663463316239303537313634656635393236373163663064333763383034306330", - "id": 6062, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "406:66:30", - "typeDescriptions": { - "typeIdentifier": "t_rational_907111799109225873672206001743429201758838553092777504370151546632448000192_by_1", - "typeString": "int_const 9071...(67 digits omitted)...0192" - }, - "value": "0x02016836a56b71f0d02689e69e326f4f4c1b9057164ef592671cf0d37c8040c0" - }, - "visibility": "internal" - }, - { - "body": { - "id": 6075, - "nodeType": "Block", - "src": "500:72:30", - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 6069, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 6065, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6083, - "src": "514:5:30", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", - "typeString": "function () view returns (address)" - } - }, - "id": 6066, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "514:7:30", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "expression": { - "id": 6067, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "525:3:30", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6068, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "525:10:30", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "514:21:30", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 6073, - "nodeType": "IfStatement", - "src": "510:44:30", - "trueBody": { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 6070, - "name": "NotOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5938, - "src": "544:8:30", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 6071, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "544:10:30", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6072, - "nodeType": "RevertStatement", - "src": "537:17:30" - } - }, - { - "id": 6074, - "nodeType": "PlaceholderStatement", - "src": "564:1:30" - } - ] - }, - "id": 6076, - "name": "onlyOwner", - "nameLocation": "488:9:30", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 6064, - "nodeType": "ParameterList", - "parameters": [], - "src": "497:2:30" - }, - "src": "479:93:30", - "virtual": false, - "visibility": "internal" - }, - { - "baseFunctions": [ - 5961 - ], - "body": { - "id": 6082, - "nodeType": "Block", - "src": "632:133:30", - "statements": [ - { - "AST": { - "nodeType": "YulBlock", - "src": "707:52:30", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "721:28:30", - "value": { - "arguments": [ - { - "name": "_OWNER_SLOT", - "nodeType": "YulIdentifier", - "src": "737:11:30" - } - ], - "functionName": { - "name": "sload", - "nodeType": "YulIdentifier", - "src": "731:5:30" - }, - "nodeType": "YulFunctionCall", - "src": "731:18:30" - }, - "variableNames": [ - { - "name": "owner_", - "nodeType": "YulIdentifier", - "src": "721:6:30" - } - ] - } - ] - }, - "evmVersion": "london", - "externalReferences": [ - { - "declaration": 6063, - "isOffset": false, - "isSlot": false, - "src": "737:11:30", - "valueSize": 1 - }, - { - "declaration": 6079, - "isOffset": false, - "isSlot": false, - "src": "721:6:30", - "valueSize": 1 - } - ], - "id": 6081, - "nodeType": "InlineAssembly", - "src": "698:61:30" - } - ] - }, - "functionSelector": "8da5cb5b", - "id": 6083, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "owner", - "nameLocation": "587:5:30", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6077, - "nodeType": "ParameterList", - "parameters": [], - "src": "592:2:30" - }, - "returnParameters": { - "id": 6080, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6079, - "mutability": "mutable", - "name": "owner_", - "nameLocation": "624:6:30", - "nodeType": "VariableDeclaration", - "scope": 6083, - "src": "616:14:30", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6078, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "616:7:30", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "615:16:30" - }, - "scope": 6202, - "src": "578:187:30", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 6105, - "nodeType": "Block", - "src": "843:183:30", - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 6095, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 6090, - "name": "newOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6085, - "src": "857:8:30", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 6093, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "877:1:30", - "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": 6092, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "869:7:30", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6091, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "869:7:30", - "typeDescriptions": {} - } - }, - "id": 6094, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "869:10:30", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "857:22:30", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 6099, - "nodeType": "IfStatement", - "src": "853:49:30", - "trueBody": { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 6096, - "name": "InvalidOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5940, - "src": "888:12:30", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 6097, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "888:14:30", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6098, - "nodeType": "RevertStatement", - "src": "881:21:30" - } - }, - { - "eventCall": { - "arguments": [ - { - "id": 6101, - "name": "newOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6085, - "src": "939:8:30", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6100, - "name": "OwnershipTransferred", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5956, - "src": "918:20:30", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 6102, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "918:30:30", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6103, - "nodeType": "EmitStatement", - "src": "913:35:30" - }, - { - "AST": { - "nodeType": "YulBlock", - "src": "967:53:30", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "_OWNER_SLOT", - "nodeType": "YulIdentifier", - "src": "988:11:30" - }, - { - "name": "newOwner", - "nodeType": "YulIdentifier", - "src": "1001:8:30" - } - ], - "functionName": { - "name": "sstore", - "nodeType": "YulIdentifier", - "src": "981:6:30" - }, - "nodeType": "YulFunctionCall", - "src": "981:29:30" - }, - "nodeType": "YulExpressionStatement", - "src": "981:29:30" - } - ] - }, - "evmVersion": "london", - "externalReferences": [ - { - "declaration": 6063, - "isOffset": false, - "isSlot": false, - "src": "988:11:30", - "valueSize": 1 - }, - { - "declaration": 6085, - "isOffset": false, - "isSlot": false, - "src": "1001:8:30", - "valueSize": 1 - } - ], - "id": 6104, - "nodeType": "InlineAssembly", - "src": "958:62:30" - } - ] - }, - "functionSelector": "f2fde38b", - "id": 6106, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 6088, - "kind": "modifierInvocation", - "modifierName": { - "id": 6087, - "name": "onlyOwner", - "nodeType": "IdentifierPath", - "referencedDeclaration": 6076, - "src": "833:9:30" - }, - "nodeType": "ModifierInvocation", - "src": "833:9:30" - } - ], - "name": "transferOwnership", - "nameLocation": "780:17:30", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6086, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6085, - "mutability": "mutable", - "name": "newOwner", - "nameLocation": "806:8:30", - "nodeType": "VariableDeclaration", - "scope": 6106, - "src": "798:16:30", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6084, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "798:7:30", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "797:18:30" - }, - "returnParameters": { - "id": 6089, - "nodeType": "ParameterList", - "parameters": [], - "src": "843:0:30" - }, - "scope": 6202, - "src": "771:255:30", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "external" - }, - { - "body": { - "id": 6112, - "nodeType": "Block", - "src": "1104:151:30", - "statements": [ - { - "AST": { - "nodeType": "YulBlock", - "src": "1179:70:30", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "1193:46:30", - "value": { - "arguments": [ - { - "name": "_IMPLEMENTATION_SLOT", - "nodeType": "YulIdentifier", - "src": "1218:20:30" - } - ], - "functionName": { - "name": "sload", - "nodeType": "YulIdentifier", - "src": "1212:5:30" - }, - "nodeType": "YulFunctionCall", - "src": "1212:27:30" - }, - "variableNames": [ - { - "name": "implementation_", - "nodeType": "YulIdentifier", - "src": "1193:15:30" - } - ] - } - ] - }, - "evmVersion": "london", - "externalReferences": [ - { - "declaration": 6060, - "isOffset": false, - "isSlot": false, - "src": "1218:20:30", - "valueSize": 1 - }, - { - "declaration": 6109, - "isOffset": false, - "isSlot": false, - "src": "1193:15:30", - "valueSize": 1 - } - ], - "id": 6111, - "nodeType": "InlineAssembly", - "src": "1170:79:30" - } - ] - }, - "functionSelector": "5c60da1b", - "id": 6113, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "implementation", - "nameLocation": "1041:14:30", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6107, - "nodeType": "ParameterList", - "parameters": [], - "src": "1055:2:30" - }, - "returnParameters": { - "id": 6110, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6109, - "mutability": "mutable", - "name": "implementation_", - "nameLocation": "1087:15:30", - "nodeType": "VariableDeclaration", - "scope": 6113, - "src": "1079:23:30", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6108, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1079:7:30", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "1078:25:30" - }, - "scope": 6202, - "src": "1032:223:30", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "baseFunctions": [ - 5975 - ], - "body": { - "id": 6172, - "nodeType": "Block", - "src": "1421:630:30", - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "id": 6135, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "arguments": [ - { - "id": 6126, - "name": "newImplementation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6115, - "src": "1447:17:30", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6125, - "name": "IUpgradable", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5981, - "src": "1435:11:30", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IUpgradable_$5981_$", - "typeString": "type(contract IUpgradable)" - } - }, - "id": 6127, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1435:30:30", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IUpgradable_$5981", - "typeString": "contract IUpgradable" - } - }, - "id": 6128, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "contractId", - "nodeType": "MemberAccess", - "referencedDeclaration": 5966, - "src": "1435:41:30", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 6129, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1435:43:30", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "arguments": [ - { - "id": 6131, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "1494:4:30", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Upgradable_$6202", - "typeString": "contract Upgradable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Upgradable_$6202", - "typeString": "contract Upgradable" - } - ], - "id": 6130, - "name": "IUpgradable", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5981, - "src": "1482:11:30", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IUpgradable_$5981_$", - "typeString": "type(contract IUpgradable)" - } - }, - "id": 6132, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1482:17:30", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IUpgradable_$5981", - "typeString": "contract IUpgradable" - } - }, - "id": 6133, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "contractId", - "nodeType": "MemberAccess", - "referencedDeclaration": 5966, - "src": "1482:28:30", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", - "typeString": "function () view external returns (bytes32)" - } - }, - "id": 6134, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1482:30:30", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "src": "1435:77:30", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 6139, - "nodeType": "IfStatement", - "src": "1431:113:30", - "trueBody": { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 6136, - "name": "InvalidImplementation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5944, - "src": "1521:21:30", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 6137, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1521:23:30", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6138, - "nodeType": "RevertStatement", - "src": "1514:30:30" - } - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "id": 6143, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 6140, - "name": "newImplementationCodeHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6117, - "src": "1558:25:30", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "expression": { - "id": 6141, - "name": "newImplementation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6115, - "src": "1587:17:30", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 6142, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "codehash", - "nodeType": "MemberAccess", - "src": "1587:26:30", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "src": "1558:55:30", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 6147, - "nodeType": "IfStatement", - "src": "1554:85:30", - "trueBody": { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 6144, - "name": "InvalidCodeHash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5942, - "src": "1622:15:30", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 6145, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1622:17:30", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6146, - "nodeType": "RevertStatement", - "src": "1615:24:30" - } - }, - { - "assignments": [ - 6149, - null - ], - "declarations": [ - { - "constant": false, - "id": 6149, - "mutability": "mutable", - "name": "success", - "nameLocation": "1715:7:30", - "nodeType": "VariableDeclaration", - "scope": 6172, - "src": "1710:12:30", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 6148, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1710:4:30", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - }, - null - ], - "id": 6160, - "initialValue": { - "arguments": [ - { - "arguments": [ - { - "expression": { - "expression": { - "id": 6154, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "1782:4:30", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Upgradable_$6202", - "typeString": "contract Upgradable" - } - }, - "id": 6155, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "setup", - "nodeType": "MemberAccess", - "referencedDeclaration": 6195, - "src": "1782:10:30", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (bytes memory) external" - } - }, - "id": 6156, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "selector", - "nodeType": "MemberAccess", - "src": "1782:19:30", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - { - "id": 6157, - "name": "params", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6119, - "src": "1803:6:30", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - ], - "expression": { - "id": 6152, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "1759:3:30", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 6153, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodeWithSelector", - "nodeType": "MemberAccess", - "src": "1759:22:30", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (bytes4) pure returns (bytes memory)" - } - }, - "id": 6158, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1759:51:30", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "expression": { - "id": 6150, - "name": "newImplementation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6115, - "src": "1728:17:30", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 6151, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "delegatecall", - "nodeType": "MemberAccess", - "src": "1728:30:30", - "typeDescriptions": { - "typeIdentifier": "t_function_baredelegatecall_nonpayable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "function (bytes memory) returns (bool,bytes memory)" - } - }, - "id": 6159, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1728:83:30", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "tuple(bool,bytes memory)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1709:102:30" - }, - { - "condition": { - "id": 6162, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "1826:8:30", - "subExpression": { - "id": 6161, - "name": "success", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6149, - "src": "1827:7:30", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 6166, - "nodeType": "IfStatement", - "src": "1822:34:30", - "trueBody": { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 6163, - "name": "SetupFailed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5946, - "src": "1843:11:30", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 6164, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1843:13:30", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6165, - "nodeType": "RevertStatement", - "src": "1836:20:30" - } - }, - { - "eventCall": { - "arguments": [ - { - "id": 6168, - "name": "newImplementation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6115, - "src": "1881:17:30", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6167, - "name": "Upgraded", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5952, - "src": "1872:8:30", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 6169, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1872:27:30", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6170, - "nodeType": "EmitStatement", - "src": "1867:32:30" - }, - { - "AST": { - "nodeType": "YulBlock", - "src": "1974:71:30", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "_IMPLEMENTATION_SLOT", - "nodeType": "YulIdentifier", - "src": "1995:20:30" - }, - { - "name": "newImplementation", - "nodeType": "YulIdentifier", - "src": "2017:17:30" - } - ], - "functionName": { - "name": "sstore", - "nodeType": "YulIdentifier", - "src": "1988:6:30" - }, - "nodeType": "YulFunctionCall", - "src": "1988:47:30" - }, - "nodeType": "YulExpressionStatement", - "src": "1988:47:30" - } - ] - }, - "evmVersion": "london", - "externalReferences": [ - { - "declaration": 6060, - "isOffset": false, - "isSlot": false, - "src": "1995:20:30", - "valueSize": 1 - }, - { - "declaration": 6115, - "isOffset": false, - "isSlot": false, - "src": "2017:17:30", - "valueSize": 1 - } - ], - "id": 6171, - "nodeType": "InlineAssembly", - "src": "1965:80:30" - } - ] - }, - "functionSelector": "a3499c73", - "id": 6173, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 6123, - "kind": "modifierInvocation", - "modifierName": { - "id": 6122, - "name": "onlyOwner", - "nodeType": "IdentifierPath", - "referencedDeclaration": 6076, - "src": "1411:9:30" - }, - "nodeType": "ModifierInvocation", - "src": "1411:9:30" - } - ], - "name": "upgrade", - "nameLocation": "1270:7:30", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 6121, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "1402:8:30" - }, - "parameters": { - "id": 6120, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6115, - "mutability": "mutable", - "name": "newImplementation", - "nameLocation": "1295:17:30", - "nodeType": "VariableDeclaration", - "scope": 6173, - "src": "1287:25:30", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6114, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1287:7:30", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 6117, - "mutability": "mutable", - "name": "newImplementationCodeHash", - "nameLocation": "1330:25:30", - "nodeType": "VariableDeclaration", - "scope": 6173, - "src": "1322:33:30", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 6116, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1322:7:30", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 6119, - "mutability": "mutable", - "name": "params", - "nameLocation": "1380:6:30", - "nodeType": "VariableDeclaration", - "scope": 6173, - "src": "1365:21:30", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 6118, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "1365:5:30", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "1277:115:30" - }, - "returnParameters": { - "id": 6124, - "nodeType": "ParameterList", - "parameters": [], - "src": "1421:0:30" - }, - "scope": 6202, - "src": "1261:790:30", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "baseFunctions": [ - 5980 - ], - "body": { - "id": 6194, - "nodeType": "Block", - "src": "2111:158:30", - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 6185, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 6179, - "name": "implementation", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6113, - "src": "2190:14:30", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", - "typeString": "function () view returns (address)" - } - }, - "id": 6180, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2190:16:30", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 6183, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2218:1:30", - "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": 6182, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2210:7:30", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6181, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2210:7:30", - "typeDescriptions": {} - } - }, - "id": 6184, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2210:10:30", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "2190:30:30", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 6189, - "nodeType": "IfStatement", - "src": "2186:53:30", - "trueBody": { - "errorCall": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 6186, - "name": "NotProxy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5948, - "src": "2229:8:30", - "typeDescriptions": { - "typeIdentifier": "t_function_error_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 6187, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2229:10:30", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6188, - "nodeType": "RevertStatement", - "src": "2222:17:30" - } - }, - { - "expression": { - "arguments": [ - { - "id": 6191, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6175, - "src": "2257:4:30", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - ], - "id": 6190, - "name": "_setup", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6201, - "src": "2250:6:30", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes_calldata_ptr_$returns$__$", - "typeString": "function (bytes calldata)" - } - }, - "id": 6192, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2250:12:30", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6193, - "nodeType": "ExpressionStatement", - "src": "2250:12:30" - } - ] - }, - "functionSelector": "9ded06df", - "id": 6195, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "setup", - "nameLocation": "2066:5:30", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 6177, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "2102:8:30" - }, - "parameters": { - "id": 6176, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6175, - "mutability": "mutable", - "name": "data", - "nameLocation": "2087:4:30", - "nodeType": "VariableDeclaration", - "scope": 6195, - "src": "2072:19:30", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 6174, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "2072:5:30", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "2071:21:30" - }, - "returnParameters": { - "id": 6178, - "nodeType": "ParameterList", - "parameters": [], - "src": "2111:0:30" - }, - "scope": 6202, - "src": "2057:212:30", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 6200, - "nodeType": "Block", - "src": "2329:2:30", - "statements": [] - }, - "id": 6201, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_setup", - "nameLocation": "2284:6:30", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6198, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6197, - "mutability": "mutable", - "name": "data", - "nameLocation": "2306:4:30", - "nodeType": "VariableDeclaration", - "scope": 6201, - "src": "2291:19:30", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 6196, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "2291:5:30", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "2290:21:30" - }, - "returnParameters": { - "id": 6199, - "nodeType": "ParameterList", - "parameters": [], - "src": "2329:0:30" - }, - "scope": 6202, - "src": "2275:56:30", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - } - ], - "scope": 6203, - "src": "98:2235:30", - "usedErrors": [ - 5938, - 5940, - 5942, - 5944, - 5946, - 5948 - ] - } - ], - "src": "33:2301:30" - }, - "id": 30 - }, - "src/contracts/Gateway.sol": { - "ast": { - "absolutePath": "src/contracts/Gateway.sol", - "exportedSymbols": { - "AxelarAuthMultisig": [ - 947 - ], - "AxelarGasService": [ - 4938 - ], - "AxelarGasServiceProxy": [ - 4972 - ], - "AxelarGateway": [ - 3073 - ], - "AxelarGatewayProxy": [ - 3159 - ], - "IAxelarExecutable": [ - 5152 - ], - "TokenDeployer": [ - 4479 - ] - }, - "id": 6219, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 6204, - "literals": [ - "solidity", - "0.8", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "33:22:31" - }, - { - "absolutePath": "@axelar-network/axelar-cgp-solidity/contracts/TokenDeployer.sol", - "file": "@axelar-network/axelar-cgp-solidity/contracts/TokenDeployer.sol", - "id": 6206, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 6219, - "sourceUnit": 4480, - "src": "57:96:31", - "symbolAliases": [ - { - "foreign": { - "id": 6205, - "name": "TokenDeployer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "src": "66:13:31", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "absolutePath": "@axelar-network/axelar-cgp-solidity/contracts/AxelarGateway.sol", - "file": "@axelar-network/axelar-cgp-solidity/contracts/AxelarGateway.sol", - "id": 6208, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 6219, - "sourceUnit": 3074, - "src": "154:96:31", - "symbolAliases": [ - { - "foreign": { - "id": 6207, - "name": "AxelarGateway", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "src": "163:13:31", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "absolutePath": "@axelar-network/axelar-cgp-solidity/contracts/AxelarAuthMultisig.sol", - "file": "@axelar-network/axelar-cgp-solidity/contracts/AxelarAuthMultisig.sol", - "id": 6210, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 6219, - "sourceUnit": 948, - "src": "251:106:31", - "symbolAliases": [ - { - "foreign": { - "id": 6209, - "name": "AxelarAuthMultisig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "src": "260:18:31", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "absolutePath": "@axelar-network/axelar-cgp-solidity/contracts/AxelarGatewayProxy.sol", - "file": "@axelar-network/axelar-cgp-solidity/contracts/AxelarGatewayProxy.sol", - "id": 6212, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 6219, - "sourceUnit": 3160, - "src": "358:106:31", - "symbolAliases": [ - { - "foreign": { - "id": 6211, - "name": "AxelarGatewayProxy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "src": "367:18:31", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "absolutePath": "@axelar-network/axelar-cgp-solidity/contracts/gas-service/AxelarGasService.sol", - "file": "@axelar-network/axelar-cgp-solidity/contracts/gas-service/AxelarGasService.sol", - "id": 6214, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 6219, - "sourceUnit": 4939, - "src": "465:114:31", - "symbolAliases": [ - { - "foreign": { - "id": 6213, - "name": "AxelarGasService", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "src": "474:16:31", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "absolutePath": "@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarExecutable.sol", - "file": "@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarExecutable.sol", - "id": 6216, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 6219, - "sourceUnit": 5153, - "src": "580:115:31", - "symbolAliases": [ - { - "foreign": { - "id": 6215, - "name": "IAxelarExecutable", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "src": "589:17:31", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "absolutePath": "@axelar-network/axelar-cgp-solidity/contracts/gas-service/AxelarGasServiceProxy.sol", - "file": "@axelar-network/axelar-cgp-solidity/contracts/gas-service/AxelarGasServiceProxy.sol", - "id": 6218, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 6219, - "sourceUnit": 4973, - "src": "696:124:31", - "symbolAliases": [ - { - "foreign": { - "id": 6217, - "name": "AxelarGasServiceProxy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "src": "705:21:31", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - } - ], - "src": "33:788:31" - }, - "id": 31 - }, - "src/contracts/test/Executable.sol": { - "ast": { - "absolutePath": "src/contracts/test/Executable.sol", - "exportedSymbols": { - "Executable": [ - 6355 - ], - "IAxelarExecutable": [ - 5152 - ], - "IAxelarGasService": [ - 5359 - ] - }, - "id": 6356, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 6220, - "literals": [ - "solidity", - "0.8", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "33:22:32" - }, - { - "absolutePath": "@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarExecutable.sol", - "file": "@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarExecutable.sol", - "id": 6222, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 6356, - "sourceUnit": 5153, - "src": "57:115:32", - "symbolAliases": [ - { - "foreign": { - "id": 6221, - "name": "IAxelarExecutable", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "src": "66:17:32", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "absolutePath": "@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarGasService.sol", - "file": "@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarGasService.sol", - "id": 6224, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 6356, - "sourceUnit": 5360, - "src": "173:115:32", - "symbolAliases": [ - { - "foreign": { - "id": 6223, - "name": "IAxelarGasService", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "src": "182:17:32", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "baseName": { - "id": 6225, - "name": "IAxelarExecutable", - "nodeType": "IdentifierPath", - "referencedDeclaration": 5152, - "src": "313:17:32" - }, - "id": 6226, - "nodeType": "InheritanceSpecifier", - "src": "313:17:32" - } - ], - "canonicalName": "Executable", - "contractDependencies": [], - "contractKind": "contract", - "fullyImplemented": true, - "id": 6355, - "linearizedBaseContracts": [ - 6355, - 5152 - ], - "name": "Executable", - "nameLocation": "299:10:32", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "functionSelector": "3fa4f245", - "id": 6228, - "mutability": "mutable", - "name": "value", - "nameLocation": "351:5:32", - "nodeType": "VariableDeclaration", - "scope": 6355, - "src": "337:19:32", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string" - }, - "typeName": { - "id": 6227, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "337:6:32", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "1c6ffa46", - "id": 6230, - "mutability": "mutable", - "name": "sourceChain", - "nameLocation": "376:11:32", - "nodeType": "VariableDeclaration", - "scope": 6355, - "src": "362:25:32", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string" - }, - "typeName": { - "id": 6229, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "362:6:32", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "b0fa8444", - "id": 6232, - "mutability": "mutable", - "name": "sourceAddress", - "nameLocation": "407:13:32", - "nodeType": "VariableDeclaration", - "scope": 6355, - "src": "393:27:32", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string" - }, - "typeName": { - "id": 6231, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "393:6:32", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "80d14b4a", - "id": 6235, - "mutability": "mutable", - "name": "gasReceiver", - "nameLocation": "451:11:32", - "nodeType": "VariableDeclaration", - "scope": 6355, - "src": "426:36:32", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IAxelarGasService_$5359", - "typeString": "contract IAxelarGasService" - }, - "typeName": { - "id": 6234, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 6233, - "name": "IAxelarGasService", - "nodeType": "IdentifierPath", - "referencedDeclaration": 5359, - "src": "426:17:32" - }, - "referencedDeclaration": 5359, - "src": "426:17:32", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IAxelarGasService_$5359", - "typeString": "contract IAxelarGasService" - } - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "a7798b69", - "id": 6239, - "mutability": "mutable", - "name": "siblings", - "nameLocation": "501:8:32", - "nodeType": "VariableDeclaration", - "scope": 6355, - "src": "468:41:32", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_string_memory_ptr_$_t_string_storage_$", - "typeString": "mapping(string => string)" - }, - "typeName": { - "id": 6238, - "keyType": { - "id": 6236, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "476:6:32", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "nodeType": "Mapping", - "src": "468:25:32", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_string_memory_ptr_$_t_string_storage_$", - "typeString": "mapping(string => string)" - }, - "valueType": { - "id": 6237, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "486:6:32", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - } - }, - "visibility": "public" - }, - { - "body": { - "id": 6255, - "nodeType": "Block", - "src": "596:62:32", - "statements": [ - { - "expression": { - "id": 6253, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 6249, - "name": "gasReceiver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6235, - "src": "606:11:32", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IAxelarGasService_$5359", - "typeString": "contract IAxelarGasService" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 6251, - "name": "gasReceiver_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6243, - "src": "638:12:32", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6250, - "name": "IAxelarGasService", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5359, - "src": "620:17:32", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IAxelarGasService_$5359_$", - "typeString": "type(contract IAxelarGasService)" - } - }, - "id": 6252, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "620:31:32", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IAxelarGasService_$5359", - "typeString": "contract IAxelarGasService" - } - }, - "src": "606:45:32", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IAxelarGasService_$5359", - "typeString": "contract IAxelarGasService" - } - }, - "id": 6254, - "nodeType": "ExpressionStatement", - "src": "606:45:32" - } - ] - }, - "id": 6256, - "implemented": true, - "kind": "constructor", - "modifiers": [ - { - "arguments": [ - { - "id": 6246, - "name": "gateway_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6241, - "src": "586:8:32", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "id": 6247, - "kind": "baseConstructorSpecifier", - "modifierName": { - "id": 6245, - "name": "IAxelarExecutable", - "nodeType": "IdentifierPath", - "referencedDeclaration": 5152, - "src": "568:17:32" - }, - "nodeType": "ModifierInvocation", - "src": "568:27:32" - } - ], - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6244, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6241, - "mutability": "mutable", - "name": "gateway_", - "nameLocation": "536:8:32", - "nodeType": "VariableDeclaration", - "scope": 6256, - "src": "528:16:32", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6240, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "528:7:32", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 6243, - "mutability": "mutable", - "name": "gasReceiver_", - "nameLocation": "554:12:32", - "nodeType": "VariableDeclaration", - "scope": 6256, - "src": "546:20:32", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6242, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "546:7:32", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "527:40:32" - }, - "returnParameters": { - "id": 6248, - "nodeType": "ParameterList", - "parameters": [], - "src": "596:0:32" - }, - "scope": 6355, - "src": "516:142:32", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 6269, - "nodeType": "Block", - "src": "831:44:32", - "statements": [ - { - "expression": { - "id": 6267, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 6263, - "name": "siblings", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6239, - "src": "841:8:32", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_string_memory_ptr_$_t_string_storage_$", - "typeString": "mapping(string memory => string storage ref)" - } - }, - "id": 6265, - "indexExpression": { - "id": 6264, - "name": "chain_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6258, - "src": "850:6:32", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "841:16:32", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 6266, - "name": "address_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6260, - "src": "860:8:32", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - } - }, - "src": "841:27:32", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 6268, - "nodeType": "ExpressionStatement", - "src": "841:27:32" - } - ] - }, - "functionSelector": "45b48eb9", - "id": 6270, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "addSibling", - "nameLocation": "761:10:32", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6261, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6258, - "mutability": "mutable", - "name": "chain_", - "nameLocation": "788:6:32", - "nodeType": "VariableDeclaration", - "scope": 6270, - "src": "772:22:32", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string" - }, - "typeName": { - "id": 6257, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "772:6:32", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 6260, - "mutability": "mutable", - "name": "address_", - "nameLocation": "812:8:32", - "nodeType": "VariableDeclaration", - "scope": 6270, - "src": "796:24:32", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string" - }, - "typeName": { - "id": 6259, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "796:6:32", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "771:50:32" - }, - "returnParameters": { - "id": 6262, - "nodeType": "ParameterList", - "parameters": [], - "src": "831:0:32" - }, - "scope": 6355, - "src": "752:123:32", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 6323, - "nodeType": "Block", - "src": "1048:317:32", - "statements": [ - { - "expression": { - "id": 6279, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 6277, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6228, - "src": "1058:5:32", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 6278, - "name": "value_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6274, - "src": "1066:6:32", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - } - }, - "src": "1058:14:32", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 6280, - "nodeType": "ExpressionStatement", - "src": "1058:14:32" - }, - { - "assignments": [ - 6282 - ], - "declarations": [ - { - "constant": false, - "id": 6282, - "mutability": "mutable", - "name": "payload", - "nameLocation": "1095:7:32", - "nodeType": "VariableDeclaration", - "scope": 6323, - "src": "1082:20:32", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 6281, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "1082:5:32", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "id": 6287, - "initialValue": { - "arguments": [ - { - "id": 6285, - "name": "value_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6274, - "src": "1116:6:32", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - } - ], - "expression": { - "id": 6283, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "1105:3:32", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 6284, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encode", - "nodeType": "MemberAccess", - "src": "1105:10:32", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 6286, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1105:18:32", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1082:41:32" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6291, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 6288, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1137:3:32", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6289, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "src": "1137:9:32", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 6290, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1149:1:32", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "1137:13:32", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 6312, - "nodeType": "IfStatement", - "src": "1133:163:32", - "trueBody": { - "id": 6311, - "nodeType": "Block", - "src": "1152:144:32", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "id": 6300, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "1234:4:32", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Executable_$6355", - "typeString": "contract Executable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Executable_$6355", - "typeString": "contract Executable" - } - ], - "id": 6299, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1226:7:32", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6298, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1226:7:32", - "typeDescriptions": {} - } - }, - "id": 6301, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1226:13:32", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 6302, - "name": "chain", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6272, - "src": "1241:5:32", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "baseExpression": { - "id": 6303, - "name": "siblings", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6239, - "src": "1248:8:32", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_string_memory_ptr_$_t_string_storage_$", - "typeString": "mapping(string memory => string storage ref)" - } - }, - "id": 6305, - "indexExpression": { - "id": 6304, - "name": "chain", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6272, - "src": "1257:5:32", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1248:15:32", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - { - "id": 6306, - "name": "payload", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6282, - "src": "1265:7:32", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "expression": { - "id": 6307, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1274:3:32", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6308, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "1274:10:32", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "id": 6292, - "name": "gasReceiver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6235, - "src": "1166:11:32", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IAxelarGasService_$5359", - "typeString": "contract IAxelarGasService" - } - }, - "id": 6294, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "payNativeGasForContractCall", - "nodeType": "MemberAccess", - "referencedDeclaration": 5302, - "src": "1166:39:32", - "typeDescriptions": { - "typeIdentifier": "t_function_external_payable$_t_address_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_bytes_memory_ptr_$_t_address_$returns$__$", - "typeString": "function (address,string memory,string memory,bytes memory,address) payable external" - } - }, - "id": 6297, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "names": [ - "value" - ], - "nodeType": "FunctionCallOptions", - "options": [ - { - "expression": { - "id": 6295, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1214:3:32", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6296, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "src": "1214:9:32", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "src": "1166:59:32", - "typeDescriptions": { - "typeIdentifier": "t_function_external_payable$_t_address_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_bytes_memory_ptr_$_t_address_$returns$__$value", - "typeString": "function (address,string memory,string memory,bytes memory,address) payable external" - } - }, - "id": 6309, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1166:119:32", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6310, - "nodeType": "ExpressionStatement", - "src": "1166:119:32" - } - ] - } - }, - { - "expression": { - "arguments": [ - { - "id": 6316, - "name": "chain", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6272, - "src": "1326:5:32", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "baseExpression": { - "id": 6317, - "name": "siblings", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6239, - "src": "1333:8:32", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_string_memory_ptr_$_t_string_storage_$", - "typeString": "mapping(string memory => string storage ref)" - } - }, - "id": 6319, - "indexExpression": { - "id": 6318, - "name": "chain", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6272, - "src": "1342:5:32", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1333:15:32", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - { - "id": 6320, - "name": "payload", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6282, - "src": "1350:7:32", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "expression": { - "id": 6313, - "name": "gateway", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5035, - "src": "1305:7:32", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IAxelarGateway_$5700", - "typeString": "contract IAxelarGateway" - } - }, - "id": 6315, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "callContract", - "nodeType": "MemberAccess", - "referencedDeclaration": 5529, - "src": "1305:20:32", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (string memory,string memory,bytes memory) external" - } - }, - "id": 6321, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1305:53:32", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6322, - "nodeType": "ExpressionStatement", - "src": "1305:53:32" - } - ] - }, - "functionSelector": "e942b516", - "id": 6324, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "set", - "nameLocation": "982:3:32", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6275, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6272, - "mutability": "mutable", - "name": "chain", - "nameLocation": "1000:5:32", - "nodeType": "VariableDeclaration", - "scope": 6324, - "src": "986:19:32", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 6271, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "986:6:32", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 6274, - "mutability": "mutable", - "name": "value_", - "nameLocation": "1023:6:32", - "nodeType": "VariableDeclaration", - "scope": 6324, - "src": "1007:22:32", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string" - }, - "typeName": { - "id": 6273, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1007:6:32", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "985:45:32" - }, - "returnParameters": { - "id": 6276, - "nodeType": "ParameterList", - "parameters": [], - "src": "1048:0:32" - }, - "scope": 6355, - "src": "973:392:32", - "stateMutability": "payable", - "virtual": false, - "visibility": "external" - }, - { - "baseFunctions": [ - 5137 - ], - "body": { - "id": 6353, - "nodeType": "Block", - "src": "1680:133:32", - "statements": [ - { - "expression": { - "id": 6343, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "components": [ - { - "id": 6334, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6228, - "src": "1691:5:32", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - } - ], - "id": 6335, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "1690:7:32", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 6338, - "name": "payload_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6330, - "src": "1711:8:32", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - }, - { - "components": [ - { - "id": 6340, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1722:6:32", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_string_storage_ptr_$", - "typeString": "type(string storage pointer)" - }, - "typeName": { - "id": 6339, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1722:6:32", - "typeDescriptions": {} - } - } - ], - "id": 6341, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "1721:8:32", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_string_storage_ptr_$", - "typeString": "type(string storage pointer)" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - }, - { - "typeIdentifier": "t_type$_t_string_storage_ptr_$", - "typeString": "type(string storage pointer)" - } - ], - "expression": { - "id": 6336, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "1700:3:32", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 6337, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "decode", - "nodeType": "MemberAccess", - "src": "1700:10:32", - "typeDescriptions": { - "typeIdentifier": "t_function_abidecode_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 6342, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1700:30:32", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "1690:40:32", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 6344, - "nodeType": "ExpressionStatement", - "src": "1690:40:32" - }, - { - "expression": { - "id": 6347, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 6345, - "name": "sourceChain", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6230, - "src": "1740:11:32", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 6346, - "name": "sourceChain_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6326, - "src": "1754:12:32", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "1740:26:32", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 6348, - "nodeType": "ExpressionStatement", - "src": "1740:26:32" - }, - { - "expression": { - "id": 6351, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 6349, - "name": "sourceAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6232, - "src": "1776:13:32", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 6350, - "name": "sourceAddress_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6328, - "src": "1792:14:32", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "1776:30:32", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 6352, - "nodeType": "ExpressionStatement", - "src": "1776:30:32" - } - ] - }, - "id": 6354, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_execute", - "nameLocation": "1540:8:32", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 6332, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "1671:8:32" - }, - "parameters": { - "id": 6331, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6326, - "mutability": "mutable", - "name": "sourceChain_", - "nameLocation": "1572:12:32", - "nodeType": "VariableDeclaration", - "scope": 6354, - "src": "1558:26:32", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 6325, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1558:6:32", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 6328, - "mutability": "mutable", - "name": "sourceAddress_", - "nameLocation": "1608:14:32", - "nodeType": "VariableDeclaration", - "scope": 6354, - "src": "1594:28:32", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 6327, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1594:6:32", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 6330, - "mutability": "mutable", - "name": "payload_", - "nameLocation": "1647:8:32", - "nodeType": "VariableDeclaration", - "scope": 6354, - "src": "1632:23:32", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 6329, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "1632:5:32", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "src": "1548:113:32" - }, - "returnParameters": { - "id": 6333, - "nodeType": "ParameterList", - "parameters": [], - "src": "1680:0:32" - }, - "scope": 6355, - "src": "1531:282:32", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - } - ], - "scope": 6356, - "src": "290:1525:32", - "usedErrors": [ - 5032 - ] - } - ], - "src": "33:1783:32" - }, - "id": 32 - }, - "src/contracts/test/ExecutableWithToken.sol": { - "ast": { - "absolutePath": "src/contracts/test/ExecutableWithToken.sol", - "exportedSymbols": { - "ExecutableWithToken": [ - 6561 - ], - "IAxelarExecutable": [ - 5152 - ], - "IAxelarGasService": [ - 5359 - ], - "IERC20": [ - 5814 - ] - }, - "id": 6562, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 6357, - "literals": [ - "solidity", - "0.8", - ".9" - ], - "nodeType": "PragmaDirective", - "src": "33:22:33" - }, - { - "absolutePath": "@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarExecutable.sol", - "file": "@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarExecutable.sol", - "id": 6359, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 6562, - "sourceUnit": 5153, - "src": "57:115:33", - "symbolAliases": [ - { - "foreign": { - "id": 6358, - "name": "IAxelarExecutable", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "src": "66:17:33", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "absolutePath": "@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarGasService.sol", - "file": "@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarGasService.sol", - "id": 6361, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 6562, - "sourceUnit": 5360, - "src": "173:115:33", - "symbolAliases": [ - { - "foreign": { - "id": 6360, - "name": "IAxelarGasService", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "src": "182:17:33", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "absolutePath": "@axelar-network/axelar-cgp-solidity/contracts/interfaces/IERC20.sol", - "file": "@axelar-network/axelar-cgp-solidity/contracts/interfaces/IERC20.sol", - "id": 6363, - "nameLocation": "-1:-1:-1", - "nodeType": "ImportDirective", - "scope": 6562, - "sourceUnit": 5815, - "src": "289:93:33", - "symbolAliases": [ - { - "foreign": { - "id": 6362, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "src": "298:6:33", - "typeDescriptions": {} - }, - "nameLocation": "-1:-1:-1" - } - ], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "baseName": { - "id": 6364, - "name": "IAxelarExecutable", - "nodeType": "IdentifierPath", - "referencedDeclaration": 5152, - "src": "416:17:33" - }, - "id": 6365, - "nodeType": "InheritanceSpecifier", - "src": "416:17:33" - } - ], - "canonicalName": "ExecutableWithToken", - "contractDependencies": [], - "contractKind": "contract", - "fullyImplemented": true, - "id": 6561, - "linearizedBaseContracts": [ - 6561, - 5152 - ], - "name": "ExecutableWithToken", - "nameLocation": "393:19:33", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "functionSelector": "3fa4f245", - "id": 6367, - "mutability": "mutable", - "name": "value", - "nameLocation": "454:5:33", - "nodeType": "VariableDeclaration", - "scope": 6561, - "src": "440:19:33", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string" - }, - "typeName": { - "id": 6366, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "440:6:33", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "1c6ffa46", - "id": 6369, - "mutability": "mutable", - "name": "sourceChain", - "nameLocation": "479:11:33", - "nodeType": "VariableDeclaration", - "scope": 6561, - "src": "465:25:33", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string" - }, - "typeName": { - "id": 6368, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "465:6:33", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "b0fa8444", - "id": 6371, - "mutability": "mutable", - "name": "sourceAddress", - "nameLocation": "510:13:33", - "nodeType": "VariableDeclaration", - "scope": 6561, - "src": "496:27:33", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string" - }, - "typeName": { - "id": 6370, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "496:6:33", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "80d14b4a", - "id": 6374, - "mutability": "mutable", - "name": "gasReceiver", - "nameLocation": "554:11:33", - "nodeType": "VariableDeclaration", - "scope": 6561, - "src": "529:36:33", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IAxelarGasService_$5359", - "typeString": "contract IAxelarGasService" - }, - "typeName": { - "id": 6373, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 6372, - "name": "IAxelarGasService", - "nodeType": "IdentifierPath", - "referencedDeclaration": 5359, - "src": "529:17:33" - }, - "referencedDeclaration": 5359, - "src": "529:17:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IAxelarGasService_$5359", - "typeString": "contract IAxelarGasService" - } - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "a7798b69", - "id": 6378, - "mutability": "mutable", - "name": "siblings", - "nameLocation": "604:8:33", - "nodeType": "VariableDeclaration", - "scope": 6561, - "src": "571:41:33", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_string_memory_ptr_$_t_string_storage_$", - "typeString": "mapping(string => string)" - }, - "typeName": { - "id": 6377, - "keyType": { - "id": 6375, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "579:6:33", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "nodeType": "Mapping", - "src": "571:25:33", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_string_memory_ptr_$_t_string_storage_$", - "typeString": "mapping(string => string)" - }, - "valueType": { - "id": 6376, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "589:6:33", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - } - }, - "visibility": "public" - }, - { - "body": { - "id": 6394, - "nodeType": "Block", - "src": "699:62:33", - "statements": [ - { - "expression": { - "id": 6392, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 6388, - "name": "gasReceiver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6374, - "src": "709:11:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IAxelarGasService_$5359", - "typeString": "contract IAxelarGasService" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 6390, - "name": "gasReceiver_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6382, - "src": "741:12:33", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6389, - "name": "IAxelarGasService", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5359, - "src": "723:17:33", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IAxelarGasService_$5359_$", - "typeString": "type(contract IAxelarGasService)" - } - }, - "id": 6391, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "723:31:33", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IAxelarGasService_$5359", - "typeString": "contract IAxelarGasService" - } - }, - "src": "709:45:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IAxelarGasService_$5359", - "typeString": "contract IAxelarGasService" - } - }, - "id": 6393, - "nodeType": "ExpressionStatement", - "src": "709:45:33" - } - ] - }, - "id": 6395, - "implemented": true, - "kind": "constructor", - "modifiers": [ - { - "arguments": [ - { - "id": 6385, - "name": "gateway_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6380, - "src": "689:8:33", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "id": 6386, - "kind": "baseConstructorSpecifier", - "modifierName": { - "id": 6384, - "name": "IAxelarExecutable", - "nodeType": "IdentifierPath", - "referencedDeclaration": 5152, - "src": "671:17:33" - }, - "nodeType": "ModifierInvocation", - "src": "671:27:33" - } - ], - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6383, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6380, - "mutability": "mutable", - "name": "gateway_", - "nameLocation": "639:8:33", - "nodeType": "VariableDeclaration", - "scope": 6395, - "src": "631:16:33", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6379, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "631:7:33", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 6382, - "mutability": "mutable", - "name": "gasReceiver_", - "nameLocation": "657:12:33", - "nodeType": "VariableDeclaration", - "scope": 6395, - "src": "649:20:33", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6381, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "649:7:33", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "630:40:33" - }, - "returnParameters": { - "id": 6387, - "nodeType": "ParameterList", - "parameters": [], - "src": "699:0:33" - }, - "scope": 6561, - "src": "619:142:33", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 6408, - "nodeType": "Block", - "src": "934:44:33", - "statements": [ - { - "expression": { - "id": 6406, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 6402, - "name": "siblings", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6378, - "src": "944:8:33", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_string_memory_ptr_$_t_string_storage_$", - "typeString": "mapping(string memory => string storage ref)" - } - }, - "id": 6404, - "indexExpression": { - "id": 6403, - "name": "chain_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6397, - "src": "953:6:33", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "944:16:33", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 6405, - "name": "address_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6399, - "src": "963:8:33", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - } - }, - "src": "944:27:33", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 6407, - "nodeType": "ExpressionStatement", - "src": "944:27:33" - } - ] - }, - "functionSelector": "45b48eb9", - "id": 6409, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "addSibling", - "nameLocation": "864:10:33", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6400, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6397, - "mutability": "mutable", - "name": "chain_", - "nameLocation": "891:6:33", - "nodeType": "VariableDeclaration", - "scope": 6409, - "src": "875:22:33", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string" - }, - "typeName": { - "id": 6396, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "875:6:33", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 6399, - "mutability": "mutable", - "name": "address_", - "nameLocation": "915:8:33", - "nodeType": "VariableDeclaration", - "scope": 6409, - "src": "899:24:33", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string" - }, - "typeName": { - "id": 6398, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "899:6:33", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "874:50:33" - }, - "returnParameters": { - "id": 6401, - "nodeType": "ParameterList", - "parameters": [], - "src": "934:0:33" - }, - "scope": 6561, - "src": "855:123:33", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 6504, - "nodeType": "Block", - "src": "1270:697:33", - "statements": [ - { - "expression": { - "id": 6424, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 6422, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6367, - "src": "1280:5:33", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 6423, - "name": "value_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6413, - "src": "1288:6:33", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - } - }, - "src": "1280:14:33", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 6425, - "nodeType": "ExpressionStatement", - "src": "1280:14:33" - }, - { - "assignments": [ - 6427 - ], - "declarations": [ - { - "constant": false, - "id": 6427, - "mutability": "mutable", - "name": "payload", - "nameLocation": "1317:7:33", - "nodeType": "VariableDeclaration", - "scope": 6504, - "src": "1304:20:33", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 6426, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "1304:5:33", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - } - ], - "id": 6433, - "initialValue": { - "arguments": [ - { - "id": 6430, - "name": "value_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6413, - "src": "1338:6:33", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - } - }, - { - "id": 6431, - "name": "destinationAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6415, - "src": "1346:18:33", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "id": 6428, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "1327:3:33", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 6429, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encode", - "nodeType": "MemberAccess", - "src": "1327:10:33", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 6432, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1327:38:33", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1304:61:33" - }, - { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6437, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "expression": { - "id": 6434, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1379:3:33", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6435, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "src": "1379:9:33", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 6436, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1391:1:33", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "1379:13:33", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 6460, - "nodeType": "IfStatement", - "src": "1375:314:33", - "trueBody": { - "id": 6459, - "nodeType": "Block", - "src": "1394:295:33", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "id": 6446, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "1502:4:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ExecutableWithToken_$6561", - "typeString": "contract ExecutableWithToken" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ExecutableWithToken_$6561", - "typeString": "contract ExecutableWithToken" - } - ], - "id": 6445, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1494:7:33", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6444, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1494:7:33", - "typeDescriptions": {} - } - }, - "id": 6447, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1494:13:33", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 6448, - "name": "chain", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6411, - "src": "1525:5:33", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "baseExpression": { - "id": 6449, - "name": "siblings", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6378, - "src": "1548:8:33", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_string_memory_ptr_$_t_string_storage_$", - "typeString": "mapping(string memory => string storage ref)" - } - }, - "id": 6451, - "indexExpression": { - "id": 6450, - "name": "chain", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6411, - "src": "1557:5:33", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1548:15:33", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - { - "id": 6452, - "name": "payload", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6427, - "src": "1581:7:33", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "id": 6453, - "name": "symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6417, - "src": "1606:6:33", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "id": 6454, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6419, - "src": "1630:6:33", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "expression": { - "id": 6455, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1654:3:33", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6456, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "1654:10:33", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "id": 6438, - "name": "gasReceiver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6374, - "src": "1408:11:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IAxelarGasService_$5359", - "typeString": "contract IAxelarGasService" - } - }, - "id": 6440, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "payNativeGasForContractCallWithToken", - "nodeType": "MemberAccess", - "referencedDeclaration": 5319, - "src": "1408:48:33", - "typeDescriptions": { - "typeIdentifier": "t_function_external_payable$_t_address_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_bytes_memory_ptr_$_t_string_memory_ptr_$_t_uint256_$_t_address_$returns$__$", - "typeString": "function (address,string memory,string memory,bytes memory,string memory,uint256,address) payable external" - } - }, - "id": 6443, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "names": [ - "value" - ], - "nodeType": "FunctionCallOptions", - "options": [ - { - "expression": { - "id": 6441, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1465:3:33", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6442, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "src": "1465:9:33", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "src": "1408:68:33", - "typeDescriptions": { - "typeIdentifier": "t_function_external_payable$_t_address_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_bytes_memory_ptr_$_t_string_memory_ptr_$_t_uint256_$_t_address_$returns$__$value", - "typeString": "function (address,string memory,string memory,bytes memory,string memory,uint256,address) payable external" - } - }, - "id": 6457, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1408:270:33", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6458, - "nodeType": "ExpressionStatement", - "src": "1408:270:33" - } - ] - } - }, - { - "assignments": [ - 6462 - ], - "declarations": [ - { - "constant": false, - "id": 6462, - "mutability": "mutable", - "name": "token", - "nameLocation": "1706:5:33", - "nodeType": "VariableDeclaration", - "scope": 6504, - "src": "1698:13:33", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6461, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1698:7:33", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "id": 6467, - "initialValue": { - "arguments": [ - { - "id": 6465, - "name": "symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6417, - "src": "1737:6:33", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "expression": { - "id": 6463, - "name": "gateway", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5035, - "src": "1714:7:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IAxelarGateway_$5700", - "typeString": "contract IAxelarGateway" - } - }, - "id": 6464, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "tokenAddresses", - "nodeType": "MemberAccess", - "referencedDeclaration": 5637, - "src": "1714:22:33", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_string_memory_ptr_$returns$_t_address_$", - "typeString": "function (string memory) view external returns (address)" - } - }, - "id": 6466, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1714:30:33", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1698:46:33" - }, - { - "expression": { - "arguments": [ - { - "expression": { - "id": 6472, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1781:3:33", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6473, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "src": "1781:10:33", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "arguments": [ - { - "id": 6476, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "1801:4:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ExecutableWithToken_$6561", - "typeString": "contract ExecutableWithToken" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ExecutableWithToken_$6561", - "typeString": "contract ExecutableWithToken" - } - ], - "id": 6475, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1793:7:33", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6474, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1793:7:33", - "typeDescriptions": {} - } - }, - "id": 6477, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1793:13:33", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 6478, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6419, - "src": "1808:6:33", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "arguments": [ - { - "id": 6469, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6462, - "src": "1761:5:33", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6468, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5814, - "src": "1754:6:33", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5814_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6470, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1754:13:33", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5814", - "typeString": "contract IERC20" - } - }, - "id": 6471, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 5795, - "src": "1754:26:33", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,address,uint256) external returns (bool)" - } - }, - "id": 6479, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1754:61:33", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 6480, - "nodeType": "ExpressionStatement", - "src": "1754:61:33" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "id": 6487, - "name": "gateway", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5035, - "src": "1855:7:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IAxelarGateway_$5700", - "typeString": "contract IAxelarGateway" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IAxelarGateway_$5700", - "typeString": "contract IAxelarGateway" - } - ], - "id": 6486, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1847:7:33", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6485, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1847:7:33", - "typeDescriptions": {} - } - }, - "id": 6488, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1847:16:33", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 6489, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6419, - "src": "1865:6:33", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "arguments": [ - { - "id": 6482, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6462, - "src": "1832:5:33", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6481, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5814, - "src": "1825:6:33", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5814_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6483, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1825:13:33", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5814", - "typeString": "contract IERC20" - } - }, - "id": 6484, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "approve", - "nodeType": "MemberAccess", - "referencedDeclaration": 5783, - "src": "1825:21:33", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 6490, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1825:47:33", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 6491, - "nodeType": "ExpressionStatement", - "src": "1825:47:33" - }, - { - "expression": { - "arguments": [ - { - "id": 6495, - "name": "chain", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6411, - "src": "1912:5:33", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "baseExpression": { - "id": 6496, - "name": "siblings", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6378, - "src": "1919:8:33", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_string_memory_ptr_$_t_string_storage_$", - "typeString": "mapping(string memory => string storage ref)" - } - }, - "id": 6498, - "indexExpression": { - "id": 6497, - "name": "chain", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6411, - "src": "1928:5:33", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1919:15:33", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - { - "id": 6499, - "name": "payload", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6427, - "src": "1936:7:33", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "id": 6500, - "name": "symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6417, - "src": "1945:6:33", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "id": 6501, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6419, - "src": "1953:6:33", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 6492, - "name": "gateway", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5035, - "src": "1882:7:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IAxelarGateway_$5700", - "typeString": "contract IAxelarGateway" - } - }, - "id": 6494, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "callContractWithToken", - "nodeType": "MemberAccess", - "referencedDeclaration": 5542, - "src": "1882:29:33", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_bytes_memory_ptr_$_t_string_memory_ptr_$_t_uint256_$returns$__$", - "typeString": "function (string memory,string memory,bytes memory,string memory,uint256) external" - } - }, - "id": 6502, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1882:78:33", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6503, - "nodeType": "ExpressionStatement", - "src": "1882:78:33" - } - ] - }, - "functionSelector": "89471c94", - "id": 6505, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "setAndSend", - "nameLocation": "1085:10:33", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 6420, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6411, - "mutability": "mutable", - "name": "chain", - "nameLocation": "1119:5:33", - "nodeType": "VariableDeclaration", - "scope": 6505, - "src": "1105:19:33", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 6410, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1105:6:33", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 6413, - "mutability": "mutable", - "name": "value_", - "nameLocation": "1150:6:33", - "nodeType": "VariableDeclaration", - "scope": 6505, - "src": "1134:22:33", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string" - }, - "typeName": { - "id": 6412, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1134:6:33", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 6415, - "mutability": "mutable", - "name": "destinationAddress", - "nameLocation": "1174:18:33", - "nodeType": "VariableDeclaration", - "scope": 6505, - "src": "1166:26:33", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6414, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1166:7:33", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 6417, - "mutability": "mutable", - "name": "symbol", - "nameLocation": "1216:6:33", - "nodeType": "VariableDeclaration", - "scope": 6505, - "src": "1202:20:33", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 6416, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1202:6:33", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 6419, - "mutability": "mutable", - "name": "amount", - "nameLocation": "1240:6:33", - "nodeType": "VariableDeclaration", - "scope": 6505, - "src": "1232:14:33", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6418, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1232:7:33", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1095:157:33" - }, - "returnParameters": { - "id": 6421, - "nodeType": "ParameterList", - "parameters": [], - "src": "1270:0:33" - }, - "scope": 6561, - "src": "1076:891:33", - "stateMutability": "payable", - "virtual": false, - "visibility": "external" - }, - { - "baseFunctions": [ - 5151 - ], - "body": { - "id": 6559, - "nodeType": "Block", - "src": "2345:314:33", - "statements": [ - { - "assignments": [ - 6520 - ], - "declarations": [ - { - "constant": false, - "id": 6520, - "mutability": "mutable", - "name": "destinationAddress", - "nameLocation": "2363:18:33", - "nodeType": "VariableDeclaration", - "scope": 6559, - "src": "2355:26:33", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6519, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2355:7:33", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "id": 6521, - "nodeType": "VariableDeclarationStatement", - "src": "2355:26:33" - }, - { - "expression": { - "id": 6534, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "components": [ - { - "id": 6522, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6367, - "src": "2392:5:33", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - { - "id": 6523, - "name": "destinationAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6520, - "src": "2399:18:33", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "id": 6524, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "2391:27:33", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_string_storage_$_t_address_$", - "typeString": "tuple(string storage ref,address)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 6527, - "name": "payload_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6511, - "src": "2432:8:33", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - }, - { - "components": [ - { - "id": 6529, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2443:6:33", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_string_storage_ptr_$", - "typeString": "type(string storage pointer)" - }, - "typeName": { - "id": 6528, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2443:6:33", - "typeDescriptions": {} - } - }, - { - "id": 6531, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2451:7:33", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6530, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2451:7:33", - "typeDescriptions": {} - } - } - ], - "id": 6532, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "2442:17:33", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_type$_t_string_storage_ptr_$_$_t_type$_t_address_$_$", - "typeString": "tuple(type(string storage pointer),type(address))" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - }, - { - "typeIdentifier": "t_tuple$_t_type$_t_string_storage_ptr_$_$_t_type$_t_address_$_$", - "typeString": "tuple(type(string storage pointer),type(address))" - } - ], - "expression": { - "id": 6525, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "2421:3:33", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 6526, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "decode", - "nodeType": "MemberAccess", - "src": "2421:10:33", - "typeDescriptions": { - "typeIdentifier": "t_function_abidecode_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 6533, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2421:39:33", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_string_memory_ptr_$_t_address_payable_$", - "typeString": "tuple(string memory,address payable)" - } - }, - "src": "2391:69:33", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6535, - "nodeType": "ExpressionStatement", - "src": "2391:69:33" - }, - { - "expression": { - "id": 6538, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 6536, - "name": "sourceChain", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6369, - "src": "2470:11:33", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 6537, - "name": "sourceChain_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6507, - "src": "2484:12:33", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "2470:26:33", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 6539, - "nodeType": "ExpressionStatement", - "src": "2470:26:33" - }, - { - "expression": { - "id": 6542, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 6540, - "name": "sourceAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6371, - "src": "2506:13:33", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 6541, - "name": "sourceAddress_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6509, - "src": "2522:14:33", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "2506:30:33", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 6543, - "nodeType": "ExpressionStatement", - "src": "2506:30:33" - }, - { - "assignments": [ - 6545 - ], - "declarations": [ - { - "constant": false, - "id": 6545, - "mutability": "mutable", - "name": "token", - "nameLocation": "2554:5:33", - "nodeType": "VariableDeclaration", - "scope": 6559, - "src": "2546:13:33", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6544, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2546:7:33", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "id": 6550, - "initialValue": { - "arguments": [ - { - "id": 6548, - "name": "symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6513, - "src": "2585:6:33", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "expression": { - "id": 6546, - "name": "gateway", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5035, - "src": "2562:7:33", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IAxelarGateway_$5700", - "typeString": "contract IAxelarGateway" - } - }, - "id": 6547, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "tokenAddresses", - "nodeType": "MemberAccess", - "referencedDeclaration": 5637, - "src": "2562:22:33", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_string_memory_ptr_$returns$_t_address_$", - "typeString": "function (string memory) view external returns (address)" - } - }, - "id": 6549, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2562:30:33", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2546:46:33" - }, - { - "expression": { - "arguments": [ - { - "id": 6555, - "name": "destinationAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6520, - "src": "2625:18:33", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 6556, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6515, - "src": "2645:6:33", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "arguments": [ - { - "id": 6552, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6545, - "src": "2609:5:33", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6551, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5814, - "src": "2602:6:33", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$5814_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 6553, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2602:13:33", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$5814", - "typeString": "contract IERC20" - } - }, - "id": 6554, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 5763, - "src": "2602:22:33", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 6557, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2602:50:33", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 6558, - "nodeType": "ExpressionStatement", - "src": "2602:50:33" - } - ] - }, - "id": 6560, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_executeWithToken", - "nameLocation": "2142:17:33", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 6517, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "2336:8:33" - }, - "parameters": { - "id": 6516, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6507, - "mutability": "mutable", - "name": "sourceChain_", - "nameLocation": "2183:12:33", - "nodeType": "VariableDeclaration", - "scope": 6560, - "src": "2169:26:33", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 6506, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2169:6:33", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 6509, - "mutability": "mutable", - "name": "sourceAddress_", - "nameLocation": "2219:14:33", - "nodeType": "VariableDeclaration", - "scope": 6560, - "src": "2205:28:33", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 6508, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2205:6:33", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 6511, - "mutability": "mutable", - "name": "payload_", - "nameLocation": "2258:8:33", - "nodeType": "VariableDeclaration", - "scope": 6560, - "src": "2243:23:33", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 6510, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "2243:5:33", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 6513, - "mutability": "mutable", - "name": "symbol", - "nameLocation": "2290:6:33", - "nodeType": "VariableDeclaration", - "scope": 6560, - "src": "2276:20:33", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 6512, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2276:6:33", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 6515, - "mutability": "mutable", - "name": "amount", - "nameLocation": "2314:6:33", - "nodeType": "VariableDeclaration", - "scope": 6560, - "src": "2306:14:33", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6514, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2306:7:33", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2159:167:33" - }, - "returnParameters": { - "id": 6518, - "nodeType": "ParameterList", - "parameters": [], - "src": "2345:0:33" - }, - "scope": 6561, - "src": "2133:526:33", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - } - ], - "scope": 6562, - "src": "384:2277:33", - "usedErrors": [ - 5032 - ] - } - ], - "src": "33:2629:33" - }, - "id": 33 - } - } - } -} diff --git a/artifacts/src/contracts/test/Executable.sol/Executable.dbg.json b/artifacts/src/contracts/test/Executable.sol/Executable.dbg.json index d1763aed..2075d7cc 100644 --- a/artifacts/src/contracts/test/Executable.sol/Executable.dbg.json +++ b/artifacts/src/contracts/test/Executable.sol/Executable.dbg.json @@ -1,4 +1,4 @@ { "_format": "hh-sol-dbg-1", - "buildInfo": "../../../../build-info/12c9a8f7cfdae039186ba7f422bc265d.json" + "buildInfo": "../../../../build-info/30cb41fb6ca53138fe8c4fd676f92dd2.json" } diff --git a/artifacts/src/contracts/test/Executable.sol/Executable.json b/artifacts/src/contracts/test/Executable.sol/Executable.json index 246c8023..7b0956a1 100644 --- a/artifacts/src/contracts/test/Executable.sol/Executable.json +++ b/artifacts/src/contracts/test/Executable.sol/Executable.json @@ -19,6 +19,11 @@ "stateMutability": "nonpayable", "type": "constructor" }, + { + "inputs": [], + "name": "InvalidAddress", + "type": "error" + }, { "inputs": [], "name": "NotApprovedByGateway", @@ -211,8 +216,8 @@ "type": "function" } ], - "bytecode": "0x608060405234801561001057600080fd5b5060405161105738038061105783398101604081905261002f9161007c565b600080546001600160a01b039384166001600160a01b031991821617909155600480549290931691161790556100af565b80516001600160a01b038116811461007757600080fd5b919050565b6000806040838503121561008f57600080fd5b61009883610060565b91506100a660208401610060565b90509250929050565b610f99806100be6000396000f3fe6080604052600436106100b15760003560e01c80634916065811610069578063a7798b691161004e578063a7798b69146101ac578063b0fa8444146101cc578063e942b516146101e157600080fd5b8063491606581461016c57806380d14b4a1461018c57600080fd5b80631c6ffa461161009a5780631c6ffa46146101155780633fa4f2451461013757806345b48eb91461014c57600080fd5b8063116191b6146100b65780631a98b2e0146100f3575b600080fd5b3480156100c257600080fd5b506000546100d6906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156100ff57600080fd5b5061011361010e366004610912565b6101f4565b005b34801561012157600080fd5b5061012a61038f565b6040516100ea9190610a48565b34801561014357600080fd5b5061012a61041d565b34801561015857600080fd5b50610113610167366004610a62565b61042a565b34801561017857600080fd5b50610113610187366004610ace565b61045f565b34801561019857600080fd5b506004546100d6906001600160a01b031681565b3480156101b857600080fd5b5061012a6101c7366004610c15565b6105bb565b3480156101d857600080fd5b5061012a6105df565b6101136101ef366004610c52565b6105ec565b60008585604051610206929190610cbb565b6040519081900381206000547f1876eed90000000000000000000000000000000000000000000000000000000083529092506001600160a01b031690631876eed990610266908e908e908e908e908e9089908d908d908d90600401610cf4565b602060405180830381600087803b15801561028057600080fd5b505af1158015610294573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102b89190610d53565b6102d557604051631403112d60e21b815260040160405180910390fd5b6103828a8a8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8e018190048102820181019092528c815292508c91508b908190840183828082843760009201919091525050604080516020601f8b018190048102820181019092528981528c93508b9250908a908a90819084018382808284376000920191909152508a925061076c915050565b5050505050505050505050565b6002805461039c90610d75565b80601f01602080910402602001604051908101604052809291908181526020018280546103c890610d75565b80156104155780601f106103ea57610100808354040283529160200191610415565b820191906000526020600020905b8154815290600101906020018083116103f857829003601f168201915b505050505081565b6001805461039c90610d75565b81816005868660405161043e929190610cbb565b9081526040519081900360200190206104589290916107bc565b5050505050565b60008282604051610471929190610cbb565b6040519081900381206000547f5f6970c30000000000000000000000000000000000000000000000000000000083529092506001600160a01b031690635f6970c3906104cb908b908b908b908b908b908990600401610db0565b602060405180830381600087803b1580156104e557600080fd5b505af11580156104f9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061051d9190610d53565b61053a57604051631403112d60e21b815260040160405180910390fd5b6105b187878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8b0181900481028201810190925289815292508991508890819084018382808284376000920191909152508892508791506107749050565b5050505050505050565b80516020818301810180516005825292820191909301209152805461039c90610d75565b6003805461039c90610d75565b6105f8600183836107bc565b506000828260405160200161060e929190610df1565b60408051601f19818403018152919052905034156106cf576004546040516001600160a01b0390911690630c93e3bb90349030908890600590610652908390610e05565b9081526040519081900360200181207fffffffff0000000000000000000000000000000000000000000000000000000060e087901b16825261069c93929188903390600401610ec1565b6000604051808303818588803b1580156106b557600080fd5b505af11580156106c9573d6000803e3d6000fd5b50505050505b6000546040516001600160a01b0390911690631c92115f9086906005906106f7908390610e05565b9081526040519081900360200181207fffffffff0000000000000000000000000000000000000000000000000000000060e085901b16825261073e92918690600401610f20565b600060405180830381600087803b15801561075857600080fd5b505af11580156105b1573d6000803e3d6000fd5b505050505050565b61078081830183610c15565b805161079491600191602090910190610840565b5083516107a8906002906020870190610840565b508251610458906003906020860190610840565b8280546107c890610d75565b90600052602060002090601f0160209004810192826107ea5760008555610830565b82601f106108035782800160ff19823516178555610830565b82800160010185558215610830579182015b82811115610830578235825591602001919060010190610815565b5061083c9291506108b4565b5090565b82805461084c90610d75565b90600052602060002090601f01602090048101928261086e5760008555610830565b82601f1061088757805160ff1916838001178555610830565b82800160010185558215610830579182015b82811115610830578251825591602001919060010190610899565b5b8082111561083c57600081556001016108b5565b60008083601f8401126108db57600080fd5b50813567ffffffffffffffff8111156108f357600080fd5b60208301915083602082850101111561090b57600080fd5b9250929050565b60008060008060008060008060008060c08b8d03121561093157600080fd5b8a35995060208b013567ffffffffffffffff8082111561095057600080fd5b61095c8e838f016108c9565b909b50995060408d013591508082111561097557600080fd5b6109818e838f016108c9565b909950975060608d013591508082111561099a57600080fd5b6109a68e838f016108c9565b909750955060808d01359150808211156109bf57600080fd5b506109cc8d828e016108c9565b9150809450508092505060a08b013590509295989b9194979a5092959850565b60005b83811015610a075781810151838201526020016109ef565b83811115610a16576000848401525b50505050565b60008151808452610a348160208601602086016109ec565b601f01601f19169290920160200192915050565b602081526000610a5b6020830184610a1c565b9392505050565b60008060008060408587031215610a7857600080fd5b843567ffffffffffffffff80821115610a9057600080fd5b610a9c888389016108c9565b90965094506020870135915080821115610ab557600080fd5b50610ac2878288016108c9565b95989497509550505050565b60008060008060008060006080888a031215610ae957600080fd5b87359650602088013567ffffffffffffffff80821115610b0857600080fd5b610b148b838c016108c9565b909850965060408a0135915080821115610b2d57600080fd5b610b398b838c016108c9565b909650945060608a0135915080821115610b5257600080fd5b50610b5f8a828b016108c9565b989b979a50959850939692959293505050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112610b9957600080fd5b813567ffffffffffffffff80821115610bb457610bb4610b72565b604051601f8301601f19908116603f01168101908282118183101715610bdc57610bdc610b72565b81604052838152866020858801011115610bf557600080fd5b836020870160208301376000602085830101528094505050505092915050565b600060208284031215610c2757600080fd5b813567ffffffffffffffff811115610c3e57600080fd5b610c4a84828501610b88565b949350505050565b600080600060408486031215610c6757600080fd5b833567ffffffffffffffff80821115610c7f57600080fd5b610c8b87838801610b88565b94506020860135915080821115610ca157600080fd5b50610cae868287016108c9565b9497909650939450505050565b8183823760009101908152919050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b89815260c060208201526000610d0e60c083018a8c610ccb565b8281036040840152610d2181898b610ccb565b90508660608401528281036080840152610d3c818688610ccb565b9150508260a08301529a9950505050505050505050565b600060208284031215610d6557600080fd5b81518015158114610a5b57600080fd5b600181811c90821680610d8957607f821691505b60208210811415610daa57634e487b7160e01b600052602260045260246000fd5b50919050565b868152608060208201526000610dca608083018789610ccb565b8281036040840152610ddd818688610ccb565b915050826060830152979650505050505050565b602081526000610c4a602083018486610ccb565b60008251610e178184602087016109ec565b9190910192915050565b8054600090600181811c9080831680610e3b57607f831692505b6020808410821415610e5d57634e487b7160e01b600052602260045260246000fd5b83885260208801828015610e785760018114610e8957610eb4565b60ff19871682528282019750610eb4565b60008981526020902060005b87811015610eae57815484820152908601908401610e95565b83019850505b5050505050505092915050565b60006001600160a01b03808816835260a06020840152610ee460a0840188610a1c565b8381036040850152610ef68188610e21565b90508381036060850152610f0a8187610a1c565b9250508084166080840152509695505050505050565b606081526000610f336060830186610a1c565b8281036020840152610f458186610e21565b90508281036040840152610f598185610a1c565b969550505050505056fea2646970667358221220545371037fa224d924417ac4a807b3d9f405c5217172fe594583d0fe32f28a5b64736f6c63430008090033", - "deployedBytecode": "0x6080604052600436106100b15760003560e01c80634916065811610069578063a7798b691161004e578063a7798b69146101ac578063b0fa8444146101cc578063e942b516146101e157600080fd5b8063491606581461016c57806380d14b4a1461018c57600080fd5b80631c6ffa461161009a5780631c6ffa46146101155780633fa4f2451461013757806345b48eb91461014c57600080fd5b8063116191b6146100b65780631a98b2e0146100f3575b600080fd5b3480156100c257600080fd5b506000546100d6906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156100ff57600080fd5b5061011361010e366004610912565b6101f4565b005b34801561012157600080fd5b5061012a61038f565b6040516100ea9190610a48565b34801561014357600080fd5b5061012a61041d565b34801561015857600080fd5b50610113610167366004610a62565b61042a565b34801561017857600080fd5b50610113610187366004610ace565b61045f565b34801561019857600080fd5b506004546100d6906001600160a01b031681565b3480156101b857600080fd5b5061012a6101c7366004610c15565b6105bb565b3480156101d857600080fd5b5061012a6105df565b6101136101ef366004610c52565b6105ec565b60008585604051610206929190610cbb565b6040519081900381206000547f1876eed90000000000000000000000000000000000000000000000000000000083529092506001600160a01b031690631876eed990610266908e908e908e908e908e9089908d908d908d90600401610cf4565b602060405180830381600087803b15801561028057600080fd5b505af1158015610294573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102b89190610d53565b6102d557604051631403112d60e21b815260040160405180910390fd5b6103828a8a8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8e018190048102820181019092528c815292508c91508b908190840183828082843760009201919091525050604080516020601f8b018190048102820181019092528981528c93508b9250908a908a90819084018382808284376000920191909152508a925061076c915050565b5050505050505050505050565b6002805461039c90610d75565b80601f01602080910402602001604051908101604052809291908181526020018280546103c890610d75565b80156104155780601f106103ea57610100808354040283529160200191610415565b820191906000526020600020905b8154815290600101906020018083116103f857829003601f168201915b505050505081565b6001805461039c90610d75565b81816005868660405161043e929190610cbb565b9081526040519081900360200190206104589290916107bc565b5050505050565b60008282604051610471929190610cbb565b6040519081900381206000547f5f6970c30000000000000000000000000000000000000000000000000000000083529092506001600160a01b031690635f6970c3906104cb908b908b908b908b908b908990600401610db0565b602060405180830381600087803b1580156104e557600080fd5b505af11580156104f9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061051d9190610d53565b61053a57604051631403112d60e21b815260040160405180910390fd5b6105b187878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8b0181900481028201810190925289815292508991508890819084018382808284376000920191909152508892508791506107749050565b5050505050505050565b80516020818301810180516005825292820191909301209152805461039c90610d75565b6003805461039c90610d75565b6105f8600183836107bc565b506000828260405160200161060e929190610df1565b60408051601f19818403018152919052905034156106cf576004546040516001600160a01b0390911690630c93e3bb90349030908890600590610652908390610e05565b9081526040519081900360200181207fffffffff0000000000000000000000000000000000000000000000000000000060e087901b16825261069c93929188903390600401610ec1565b6000604051808303818588803b1580156106b557600080fd5b505af11580156106c9573d6000803e3d6000fd5b50505050505b6000546040516001600160a01b0390911690631c92115f9086906005906106f7908390610e05565b9081526040519081900360200181207fffffffff0000000000000000000000000000000000000000000000000000000060e085901b16825261073e92918690600401610f20565b600060405180830381600087803b15801561075857600080fd5b505af11580156105b1573d6000803e3d6000fd5b505050505050565b61078081830183610c15565b805161079491600191602090910190610840565b5083516107a8906002906020870190610840565b508251610458906003906020860190610840565b8280546107c890610d75565b90600052602060002090601f0160209004810192826107ea5760008555610830565b82601f106108035782800160ff19823516178555610830565b82800160010185558215610830579182015b82811115610830578235825591602001919060010190610815565b5061083c9291506108b4565b5090565b82805461084c90610d75565b90600052602060002090601f01602090048101928261086e5760008555610830565b82601f1061088757805160ff1916838001178555610830565b82800160010185558215610830579182015b82811115610830578251825591602001919060010190610899565b5b8082111561083c57600081556001016108b5565b60008083601f8401126108db57600080fd5b50813567ffffffffffffffff8111156108f357600080fd5b60208301915083602082850101111561090b57600080fd5b9250929050565b60008060008060008060008060008060c08b8d03121561093157600080fd5b8a35995060208b013567ffffffffffffffff8082111561095057600080fd5b61095c8e838f016108c9565b909b50995060408d013591508082111561097557600080fd5b6109818e838f016108c9565b909950975060608d013591508082111561099a57600080fd5b6109a68e838f016108c9565b909750955060808d01359150808211156109bf57600080fd5b506109cc8d828e016108c9565b9150809450508092505060a08b013590509295989b9194979a5092959850565b60005b83811015610a075781810151838201526020016109ef565b83811115610a16576000848401525b50505050565b60008151808452610a348160208601602086016109ec565b601f01601f19169290920160200192915050565b602081526000610a5b6020830184610a1c565b9392505050565b60008060008060408587031215610a7857600080fd5b843567ffffffffffffffff80821115610a9057600080fd5b610a9c888389016108c9565b90965094506020870135915080821115610ab557600080fd5b50610ac2878288016108c9565b95989497509550505050565b60008060008060008060006080888a031215610ae957600080fd5b87359650602088013567ffffffffffffffff80821115610b0857600080fd5b610b148b838c016108c9565b909850965060408a0135915080821115610b2d57600080fd5b610b398b838c016108c9565b909650945060608a0135915080821115610b5257600080fd5b50610b5f8a828b016108c9565b989b979a50959850939692959293505050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112610b9957600080fd5b813567ffffffffffffffff80821115610bb457610bb4610b72565b604051601f8301601f19908116603f01168101908282118183101715610bdc57610bdc610b72565b81604052838152866020858801011115610bf557600080fd5b836020870160208301376000602085830101528094505050505092915050565b600060208284031215610c2757600080fd5b813567ffffffffffffffff811115610c3e57600080fd5b610c4a84828501610b88565b949350505050565b600080600060408486031215610c6757600080fd5b833567ffffffffffffffff80821115610c7f57600080fd5b610c8b87838801610b88565b94506020860135915080821115610ca157600080fd5b50610cae868287016108c9565b9497909650939450505050565b8183823760009101908152919050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b89815260c060208201526000610d0e60c083018a8c610ccb565b8281036040840152610d2181898b610ccb565b90508660608401528281036080840152610d3c818688610ccb565b9150508260a08301529a9950505050505050505050565b600060208284031215610d6557600080fd5b81518015158114610a5b57600080fd5b600181811c90821680610d8957607f821691505b60208210811415610daa57634e487b7160e01b600052602260045260246000fd5b50919050565b868152608060208201526000610dca608083018789610ccb565b8281036040840152610ddd818688610ccb565b915050826060830152979650505050505050565b602081526000610c4a602083018486610ccb565b60008251610e178184602087016109ec565b9190910192915050565b8054600090600181811c9080831680610e3b57607f831692505b6020808410821415610e5d57634e487b7160e01b600052602260045260246000fd5b83885260208801828015610e785760018114610e8957610eb4565b60ff19871682528282019750610eb4565b60008981526020902060005b87811015610eae57815484820152908601908401610e95565b83019850505b5050505050505092915050565b60006001600160a01b03808816835260a06020840152610ee460a0840188610a1c565b8381036040850152610ef68188610e21565b90508381036060850152610f0a8187610a1c565b9250508084166080840152509695505050505050565b606081526000610f336060830186610a1c565b8281036020840152610f458186610e21565b90508281036040840152610f598185610a1c565b969550505050505056fea2646970667358221220545371037fa224d924417ac4a807b3d9f405c5217172fe594583d0fe32f28a5b64736f6c63430008090033", + "bytecode": "0x60c060405234801561001057600080fd5b5060405161100438038061100483398101604081905261002f9161008b565b816001600160a01b0381166100575760405163e6c4247b60e01b815260040160405180910390fd5b6001600160a01b039081166080521660a052506100be565b80516001600160a01b038116811461008657600080fd5b919050565b6000806040838503121561009e57600080fd5b6100a78361006f565b91506100b56020840161006f565b90509250929050565b60805160a051610f066100fe600039600081816101b2015261057401526000818160c8015281816102660152818161044101526106330152610f066000f3fe6080604052600436106100b15760003560e01c80634916065811610069578063a7798b691161004e578063a7798b69146101d4578063b0fa8444146101f4578063e942b5161461020957600080fd5b8063491606581461018057806380d14b4a146101a057600080fd5b80631c6ffa461161009a5780631c6ffa46146101295780633fa4f2451461014b57806345b48eb91461016057600080fd5b8063116191b6146100b65780631a98b2e014610107575b600080fd5b3480156100c257600080fd5b506100ea7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561011357600080fd5b5061012761012236600461087f565b61021c565b005b34801561013557600080fd5b5061013e610327565b6040516100fe91906109b5565b34801561015757600080fd5b5061013e6103b5565b34801561016c57600080fd5b5061012761017b3660046109cf565b6103c2565b34801561018c57600080fd5b5061012761019b366004610a3b565b6103f7565b3480156101ac57600080fd5b506100ea7f000000000000000000000000000000000000000000000000000000000000000081565b3480156101e057600080fd5b5061013e6101ef366004610b82565b610507565b34801561020057600080fd5b5061013e61052b565b610127610217366004610bbf565b610538565b6000858560405161022e929190610c28565b6040519081900381207f1876eed900000000000000000000000000000000000000000000000000000000825291506001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690631876eed9906102ab908e908e908e908e908e9089908d908d908d90600401610c61565b602060405180830381600087803b1580156102c557600080fd5b505af11580156102d9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102fd9190610cc0565b61031a57604051631403112d60e21b815260040160405180910390fd5b5050505050505050505050565b6001805461033490610ce2565b80601f016020809104026020016040519081016040528092919081815260200182805461036090610ce2565b80156103ad5780601f10610382576101008083540402835291602001916103ad565b820191906000526020600020905b81548152906001019060200180831161039057829003601f168201915b505050505081565b6000805461033490610ce2565b8181600386866040516103d6929190610c28565b9081526040519081900360200190206103f0929091610729565b5050505050565b60008282604051610409929190610c28565b6040519081900381207f5f6970c300000000000000000000000000000000000000000000000000000000825291506001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690635f6970c390610480908b908b908b908b908b908990600401610d1d565b602060405180830381600087803b15801561049a57600080fd5b505af11580156104ae573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104d29190610cc0565b6104ef57604051631403112d60e21b815260040160405180910390fd5b6104fd8787878787876106e6565b5050505050505050565b80516020818301810180516003825292820191909301209152805461033490610ce2565b6002805461033490610ce2565b61054460008383610729565b506000828260405160200161055a929190610d5e565b60408051601f1981840301815291905290503415610631577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316630c93e3bb3430876003896040516105b49190610d72565b9081526040519081900360200181207fffffffff0000000000000000000000000000000000000000000000000000000060e087901b1682526105fe93929188903390600401610e2e565b6000604051808303818588803b15801561061757600080fd5b505af115801561062b573d6000803e3d6000fd5b50505050505b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316631c92115f856003876040516106719190610d72565b9081526040519081900360200181207fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1682526106b892918690600401610e8d565b600060405180830381600087803b1580156106d257600080fd5b505af11580156104fd573d6000803e3d6000fd5b6106f281830183610b82565b8051610706916000916020909101906107ad565b5061071360018787610729565b5061072060028585610729565b50505050505050565b82805461073590610ce2565b90600052602060002090601f016020900481019282610757576000855561079d565b82601f106107705782800160ff1982351617855561079d565b8280016001018555821561079d579182015b8281111561079d578235825591602001919060010190610782565b506107a9929150610821565b5090565b8280546107b990610ce2565b90600052602060002090601f0160209004810192826107db576000855561079d565b82601f106107f457805160ff191683800117855561079d565b8280016001018555821561079d579182015b8281111561079d578251825591602001919060010190610806565b5b808211156107a95760008155600101610822565b60008083601f84011261084857600080fd5b50813567ffffffffffffffff81111561086057600080fd5b60208301915083602082850101111561087857600080fd5b9250929050565b60008060008060008060008060008060c08b8d03121561089e57600080fd5b8a35995060208b013567ffffffffffffffff808211156108bd57600080fd5b6108c98e838f01610836565b909b50995060408d01359150808211156108e257600080fd5b6108ee8e838f01610836565b909950975060608d013591508082111561090757600080fd5b6109138e838f01610836565b909750955060808d013591508082111561092c57600080fd5b506109398d828e01610836565b9150809450508092505060a08b013590509295989b9194979a5092959850565b60005b8381101561097457818101518382015260200161095c565b83811115610983576000848401525b50505050565b600081518084526109a1816020860160208601610959565b601f01601f19169290920160200192915050565b6020815260006109c86020830184610989565b9392505050565b600080600080604085870312156109e557600080fd5b843567ffffffffffffffff808211156109fd57600080fd5b610a0988838901610836565b90965094506020870135915080821115610a2257600080fd5b50610a2f87828801610836565b95989497509550505050565b60008060008060008060006080888a031215610a5657600080fd5b87359650602088013567ffffffffffffffff80821115610a7557600080fd5b610a818b838c01610836565b909850965060408a0135915080821115610a9a57600080fd5b610aa68b838c01610836565b909650945060608a0135915080821115610abf57600080fd5b50610acc8a828b01610836565b989b979a50959850939692959293505050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112610b0657600080fd5b813567ffffffffffffffff80821115610b2157610b21610adf565b604051601f8301601f19908116603f01168101908282118183101715610b4957610b49610adf565b81604052838152866020858801011115610b6257600080fd5b836020870160208301376000602085830101528094505050505092915050565b600060208284031215610b9457600080fd5b813567ffffffffffffffff811115610bab57600080fd5b610bb784828501610af5565b949350505050565b600080600060408486031215610bd457600080fd5b833567ffffffffffffffff80821115610bec57600080fd5b610bf887838801610af5565b94506020860135915080821115610c0e57600080fd5b50610c1b86828701610836565b9497909650939450505050565b8183823760009101908152919050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b89815260c060208201526000610c7b60c083018a8c610c38565b8281036040840152610c8e81898b610c38565b90508660608401528281036080840152610ca9818688610c38565b9150508260a08301529a9950505050505050505050565b600060208284031215610cd257600080fd5b815180151581146109c857600080fd5b600181811c90821680610cf657607f821691505b60208210811415610d1757634e487b7160e01b600052602260045260246000fd5b50919050565b868152608060208201526000610d37608083018789610c38565b8281036040840152610d4a818688610c38565b915050826060830152979650505050505050565b602081526000610bb7602083018486610c38565b60008251610d84818460208701610959565b9190910192915050565b8054600090600181811c9080831680610da857607f831692505b6020808410821415610dca57634e487b7160e01b600052602260045260246000fd5b83885260208801828015610de55760018114610df657610e21565b60ff19871682528282019750610e21565b60008981526020902060005b87811015610e1b57815484820152908601908401610e02565b83019850505b5050505050505092915050565b60006001600160a01b03808816835260a06020840152610e5160a0840188610989565b8381036040850152610e638188610d8e565b90508381036060850152610e778187610989565b9250508084166080840152509695505050505050565b606081526000610ea06060830186610989565b8281036020840152610eb28186610d8e565b90508281036040840152610ec68185610989565b969550505050505056fea26469706673582212208bea6fc67a9e35106d82f8ea9e0f2151ca4961bd9f22b068fc11f36ff8e6c1d864736f6c63430008090033", + "deployedBytecode": "0x6080604052600436106100b15760003560e01c80634916065811610069578063a7798b691161004e578063a7798b69146101d4578063b0fa8444146101f4578063e942b5161461020957600080fd5b8063491606581461018057806380d14b4a146101a057600080fd5b80631c6ffa461161009a5780631c6ffa46146101295780633fa4f2451461014b57806345b48eb91461016057600080fd5b8063116191b6146100b65780631a98b2e014610107575b600080fd5b3480156100c257600080fd5b506100ea7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561011357600080fd5b5061012761012236600461087f565b61021c565b005b34801561013557600080fd5b5061013e610327565b6040516100fe91906109b5565b34801561015757600080fd5b5061013e6103b5565b34801561016c57600080fd5b5061012761017b3660046109cf565b6103c2565b34801561018c57600080fd5b5061012761019b366004610a3b565b6103f7565b3480156101ac57600080fd5b506100ea7f000000000000000000000000000000000000000000000000000000000000000081565b3480156101e057600080fd5b5061013e6101ef366004610b82565b610507565b34801561020057600080fd5b5061013e61052b565b610127610217366004610bbf565b610538565b6000858560405161022e929190610c28565b6040519081900381207f1876eed900000000000000000000000000000000000000000000000000000000825291506001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690631876eed9906102ab908e908e908e908e908e9089908d908d908d90600401610c61565b602060405180830381600087803b1580156102c557600080fd5b505af11580156102d9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102fd9190610cc0565b61031a57604051631403112d60e21b815260040160405180910390fd5b5050505050505050505050565b6001805461033490610ce2565b80601f016020809104026020016040519081016040528092919081815260200182805461036090610ce2565b80156103ad5780601f10610382576101008083540402835291602001916103ad565b820191906000526020600020905b81548152906001019060200180831161039057829003601f168201915b505050505081565b6000805461033490610ce2565b8181600386866040516103d6929190610c28565b9081526040519081900360200190206103f0929091610729565b5050505050565b60008282604051610409929190610c28565b6040519081900381207f5f6970c300000000000000000000000000000000000000000000000000000000825291506001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690635f6970c390610480908b908b908b908b908b908990600401610d1d565b602060405180830381600087803b15801561049a57600080fd5b505af11580156104ae573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104d29190610cc0565b6104ef57604051631403112d60e21b815260040160405180910390fd5b6104fd8787878787876106e6565b5050505050505050565b80516020818301810180516003825292820191909301209152805461033490610ce2565b6002805461033490610ce2565b61054460008383610729565b506000828260405160200161055a929190610d5e565b60408051601f1981840301815291905290503415610631577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316630c93e3bb3430876003896040516105b49190610d72565b9081526040519081900360200181207fffffffff0000000000000000000000000000000000000000000000000000000060e087901b1682526105fe93929188903390600401610e2e565b6000604051808303818588803b15801561061757600080fd5b505af115801561062b573d6000803e3d6000fd5b50505050505b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316631c92115f856003876040516106719190610d72565b9081526040519081900360200181207fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1682526106b892918690600401610e8d565b600060405180830381600087803b1580156106d257600080fd5b505af11580156104fd573d6000803e3d6000fd5b6106f281830183610b82565b8051610706916000916020909101906107ad565b5061071360018787610729565b5061072060028585610729565b50505050505050565b82805461073590610ce2565b90600052602060002090601f016020900481019282610757576000855561079d565b82601f106107705782800160ff1982351617855561079d565b8280016001018555821561079d579182015b8281111561079d578235825591602001919060010190610782565b506107a9929150610821565b5090565b8280546107b990610ce2565b90600052602060002090601f0160209004810192826107db576000855561079d565b82601f106107f457805160ff191683800117855561079d565b8280016001018555821561079d579182015b8281111561079d578251825591602001919060010190610806565b5b808211156107a95760008155600101610822565b60008083601f84011261084857600080fd5b50813567ffffffffffffffff81111561086057600080fd5b60208301915083602082850101111561087857600080fd5b9250929050565b60008060008060008060008060008060c08b8d03121561089e57600080fd5b8a35995060208b013567ffffffffffffffff808211156108bd57600080fd5b6108c98e838f01610836565b909b50995060408d01359150808211156108e257600080fd5b6108ee8e838f01610836565b909950975060608d013591508082111561090757600080fd5b6109138e838f01610836565b909750955060808d013591508082111561092c57600080fd5b506109398d828e01610836565b9150809450508092505060a08b013590509295989b9194979a5092959850565b60005b8381101561097457818101518382015260200161095c565b83811115610983576000848401525b50505050565b600081518084526109a1816020860160208601610959565b601f01601f19169290920160200192915050565b6020815260006109c86020830184610989565b9392505050565b600080600080604085870312156109e557600080fd5b843567ffffffffffffffff808211156109fd57600080fd5b610a0988838901610836565b90965094506020870135915080821115610a2257600080fd5b50610a2f87828801610836565b95989497509550505050565b60008060008060008060006080888a031215610a5657600080fd5b87359650602088013567ffffffffffffffff80821115610a7557600080fd5b610a818b838c01610836565b909850965060408a0135915080821115610a9a57600080fd5b610aa68b838c01610836565b909650945060608a0135915080821115610abf57600080fd5b50610acc8a828b01610836565b989b979a50959850939692959293505050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112610b0657600080fd5b813567ffffffffffffffff80821115610b2157610b21610adf565b604051601f8301601f19908116603f01168101908282118183101715610b4957610b49610adf565b81604052838152866020858801011115610b6257600080fd5b836020870160208301376000602085830101528094505050505092915050565b600060208284031215610b9457600080fd5b813567ffffffffffffffff811115610bab57600080fd5b610bb784828501610af5565b949350505050565b600080600060408486031215610bd457600080fd5b833567ffffffffffffffff80821115610bec57600080fd5b610bf887838801610af5565b94506020860135915080821115610c0e57600080fd5b50610c1b86828701610836565b9497909650939450505050565b8183823760009101908152919050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b89815260c060208201526000610c7b60c083018a8c610c38565b8281036040840152610c8e81898b610c38565b90508660608401528281036080840152610ca9818688610c38565b9150508260a08301529a9950505050505050505050565b600060208284031215610cd257600080fd5b815180151581146109c857600080fd5b600181811c90821680610cf657607f821691505b60208210811415610d1757634e487b7160e01b600052602260045260246000fd5b50919050565b868152608060208201526000610d37608083018789610c38565b8281036040840152610d4a818688610c38565b915050826060830152979650505050505050565b602081526000610bb7602083018486610c38565b60008251610d84818460208701610959565b9190910192915050565b8054600090600181811c9080831680610da857607f831692505b6020808410821415610dca57634e487b7160e01b600052602260045260246000fd5b83885260208801828015610de55760018114610df657610e21565b60ff19871682528282019750610e21565b60008981526020902060005b87811015610e1b57815484820152908601908401610e02565b83019850505b5050505050505092915050565b60006001600160a01b03808816835260a06020840152610e5160a0840188610989565b8381036040850152610e638188610d8e565b90508381036060850152610e778187610989565b9250508084166080840152509695505050505050565b606081526000610ea06060830186610989565b8281036020840152610eb28186610d8e565b90508281036040840152610ec68185610989565b969550505050505056fea26469706673582212208bea6fc67a9e35106d82f8ea9e0f2151ca4961bd9f22b068fc11f36ff8e6c1d864736f6c63430008090033", "linkReferences": {}, "deployedLinkReferences": {} } diff --git a/artifacts/src/contracts/test/ExecutableWithToken.sol/ExecutableWithToken.dbg.json b/artifacts/src/contracts/test/ExecutableWithToken.sol/ExecutableWithToken.dbg.json index d1763aed..2075d7cc 100644 --- a/artifacts/src/contracts/test/ExecutableWithToken.sol/ExecutableWithToken.dbg.json +++ b/artifacts/src/contracts/test/ExecutableWithToken.sol/ExecutableWithToken.dbg.json @@ -1,4 +1,4 @@ { "_format": "hh-sol-dbg-1", - "buildInfo": "../../../../build-info/12c9a8f7cfdae039186ba7f422bc265d.json" + "buildInfo": "../../../../build-info/30cb41fb6ca53138fe8c4fd676f92dd2.json" } diff --git a/artifacts/src/contracts/test/ExecutableWithToken.sol/ExecutableWithToken.json b/artifacts/src/contracts/test/ExecutableWithToken.sol/ExecutableWithToken.json index 3f19d32e..22d049da 100644 --- a/artifacts/src/contracts/test/ExecutableWithToken.sol/ExecutableWithToken.json +++ b/artifacts/src/contracts/test/ExecutableWithToken.sol/ExecutableWithToken.json @@ -19,6 +19,11 @@ "stateMutability": "nonpayable", "type": "constructor" }, + { + "inputs": [], + "name": "InvalidAddress", + "type": "error" + }, { "inputs": [], "name": "NotApprovedByGateway", @@ -226,8 +231,8 @@ "type": "function" } ], - "bytecode": "0x608060405234801561001057600080fd5b5060405161147b38038061147b83398101604081905261002f9161007c565b600080546001600160a01b039384166001600160a01b031991821617909155600480549290931691161790556100af565b80516001600160a01b038116811461007757600080fd5b919050565b6000806040838503121561008f57600080fd5b61009883610060565b91506100a660208401610060565b90509250929050565b6113bd806100be6000396000f3fe6080604052600436106100b15760003560e01c8063491606581161006957806389471c941161004e57806389471c94146101ac578063a7798b69146101bf578063b0fa8444146101df57600080fd5b8063491606581461016c57806380d14b4a1461018c57600080fd5b80631c6ffa461161009a5780631c6ffa46146101155780633fa4f2451461013757806345b48eb91461014c57600080fd5b8063116191b6146100b65780631a98b2e0146100f3575b600080fd5b3480156100c257600080fd5b506000546100d6906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156100ff57600080fd5b5061011361010e366004610c20565b6101f4565b005b34801561012157600080fd5b5061012a61038f565b6040516100ea9190610d52565b34801561014357600080fd5b5061012a61041d565b34801561015857600080fd5b50610113610167366004610d6c565b61042a565b34801561017857600080fd5b50610113610187366004610dd8565b61045f565b34801561019857600080fd5b506004546100d6906001600160a01b031681565b6101136101ba366004610f37565b6105bb565b3480156101cb57600080fd5b5061012a6101da366004610fe2565b610917565b3480156101eb57600080fd5b5061012a61093b565b6000858560405161020692919061101f565b6040519081900381206000547f1876eed90000000000000000000000000000000000000000000000000000000083529092506001600160a01b031690631876eed990610266908e908e908e908e908e9089908d908d908d90600401611058565b602060405180830381600087803b15801561028057600080fd5b505af1158015610294573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102b891906110b7565b6102d557604051631403112d60e21b815260040160405180910390fd5b6103828a8a8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8e018190048102820181019092528c815292508c91508b908190840183828082843760009201919091525050604080516020601f8b018190048102820181019092528981528c93508b9250908a908a90819084018382808284376000920191909152508a9250610948915050565b5050505050505050505050565b6002805461039c906110d9565b80601f01602080910402602001604051908101604052809291908181526020018280546103c8906110d9565b80156104155780601f106103ea57610100808354040283529160200191610415565b820191906000526020600020905b8154815290600101906020018083116103f857829003601f168201915b505050505081565b6001805461039c906110d9565b81816005868660405161043e92919061101f565b908152604051908190036020019020610458929091610aca565b5050505050565b6000828260405161047192919061101f565b6040519081900381206000547f5f6970c30000000000000000000000000000000000000000000000000000000083529092506001600160a01b031690635f6970c3906104cb908b908b908b908b908b908990600401611114565b602060405180830381600087803b1580156104e557600080fd5b505af11580156104f9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061051d91906110b7565b61053a57604051631403112d60e21b815260040160405180910390fd5b6105b187878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8b018190048102820181019092528981529250899150889081908401838280828437600092019190915250889250879150610ac49050565b5050505050505050565b6105c760018686610aca565b5060008585856040516020016105df93929190611155565b60408051601f19818403018152919052905034156106a4576004546040516001600160a01b039091169063c62c200290349030908b90600590610623908390611182565b9081526040519081900360200181207fffffffff0000000000000000000000000000000000000000000000000000000060e087901b16825261067193929188908b908b90339060040161123e565b6000604051808303818588803b15801561068a57600080fd5b505af115801561069e573d6000803e3d6000fd5b50505050505b600080546040516349ad89fb60e11b81526001600160a01b039091169063935b13f6906106d5908790600401610d52565b60206040518083038186803b1580156106ed57600080fd5b505afa158015610701573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061072591906112b8565b6040517f23b872dd000000000000000000000000000000000000000000000000000000008152336004820152306024820152604481018590529091506001600160a01b038216906323b872dd90606401602060405180830381600087803b15801561078f57600080fd5b505af11580156107a3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107c791906110b7565b506000546040517f095ea7b30000000000000000000000000000000000000000000000000000000081526001600160a01b039182166004820152602481018590529082169063095ea7b390604401602060405180830381600087803b15801561082f57600080fd5b505af1158015610843573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061086791906110b7565b506000546040516001600160a01b039091169063b5417084908a90600590610890908390611182565b9081526040519081900360200181207fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1682526108db929187908a908a906004016112d5565b600060405180830381600087803b1580156108f557600080fd5b505af1158015610909573d6000803e3d6000fd5b505050505050505050505050565b80516020818301810180516005825292820191909301209152805461039c906110d9565b6003805461039c906110d9565b600061095684860186611335565b8151909250829061096e906001906020850190610b4e565b50508751610984915060029060208a0190610b4e565b508551610998906003906020890190610b4e565b50600080546040516349ad89fb60e11b81526001600160a01b039091169063935b13f6906109ca908790600401610d52565b60206040518083038186803b1580156109e257600080fd5b505afa1580156109f6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a1a91906112b8565b6040517fa9059cbb0000000000000000000000000000000000000000000000000000000081526001600160a01b038481166004830152602482018690529192509082169063a9059cbb90604401602060405180830381600087803b158015610a8157600080fd5b505af1158015610a95573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ab991906110b7565b505050505050505050565b50505050565b828054610ad6906110d9565b90600052602060002090601f016020900481019282610af85760008555610b3e565b82601f10610b115782800160ff19823516178555610b3e565b82800160010185558215610b3e579182015b82811115610b3e578235825591602001919060010190610b23565b50610b4a929150610bc2565b5090565b828054610b5a906110d9565b90600052602060002090601f016020900481019282610b7c5760008555610b3e565b82601f10610b9557805160ff1916838001178555610b3e565b82800160010185558215610b3e579182015b82811115610b3e578251825591602001919060010190610ba7565b5b80821115610b4a5760008155600101610bc3565b60008083601f840112610be957600080fd5b50813567ffffffffffffffff811115610c0157600080fd5b602083019150836020828501011115610c1957600080fd5b9250929050565b60008060008060008060008060008060c08b8d031215610c3f57600080fd5b8a35995060208b013567ffffffffffffffff80821115610c5e57600080fd5b610c6a8e838f01610bd7565b909b50995060408d0135915080821115610c8357600080fd5b610c8f8e838f01610bd7565b909950975060608d0135915080821115610ca857600080fd5b610cb48e838f01610bd7565b909750955060808d0135915080821115610ccd57600080fd5b50610cda8d828e01610bd7565b9150809450508092505060a08b013590509295989b9194979a5092959850565b60005b83811015610d15578181015183820152602001610cfd565b83811115610ac45750506000910152565b60008151808452610d3e816020860160208601610cfa565b601f01601f19169290920160200192915050565b602081526000610d656020830184610d26565b9392505050565b60008060008060408587031215610d8257600080fd5b843567ffffffffffffffff80821115610d9a57600080fd5b610da688838901610bd7565b90965094506020870135915080821115610dbf57600080fd5b50610dcc87828801610bd7565b95989497509550505050565b60008060008060008060006080888a031215610df357600080fd5b87359650602088013567ffffffffffffffff80821115610e1257600080fd5b610e1e8b838c01610bd7565b909850965060408a0135915080821115610e3757600080fd5b610e438b838c01610bd7565b909650945060608a0135915080821115610e5c57600080fd5b50610e698a828b01610bd7565b989b979a50959850939692959293505050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112610ea357600080fd5b813567ffffffffffffffff80821115610ebe57610ebe610e7c565b604051601f8301601f19908116603f01168101908282118183101715610ee657610ee6610e7c565b81604052838152866020858801011115610eff57600080fd5b836020870160208301376000602085830101528094505050505092915050565b6001600160a01b0381168114610f3457600080fd5b50565b60008060008060008060a08789031215610f5057600080fd5b863567ffffffffffffffff80821115610f6857600080fd5b610f748a838b01610e92565b97506020890135915080821115610f8a57600080fd5b610f968a838b01610bd7565b909750955060408901359150610fab82610f1f565b90935060608801359080821115610fc157600080fd5b50610fce89828a01610e92565b925050608087013590509295509295509295565b600060208284031215610ff457600080fd5b813567ffffffffffffffff81111561100b57600080fd5b61101784828501610e92565b949350505050565b8183823760009101908152919050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b89815260c06020820152600061107260c083018a8c61102f565b828103604084015261108581898b61102f565b905086606084015282810360808401526110a081868861102f565b9150508260a08301529a9950505050505050505050565b6000602082840312156110c957600080fd5b81518015158114610d6557600080fd5b600181811c908216806110ed57607f821691505b6020821081141561110e57634e487b7160e01b600052602260045260246000fd5b50919050565b86815260806020820152600061112e60808301878961102f565b828103604084015261114181868861102f565b915050826060830152979650505050505050565b60408152600061116960408301858761102f565b90506001600160a01b0383166020830152949350505050565b60008251611194818460208701610cfa565b9190910192915050565b8054600090600181811c90808316806111b857607f831692505b60208084108214156111da57634e487b7160e01b600052602260045260246000fd5b838852602088018280156111f5576001811461120657611231565b60ff19871682528282019750611231565b60008981526020902060005b8781101561122b57815484820152908601908401611212565b83019850505b5050505050505092915050565b60006001600160a01b03808a16835260e0602084015261126160e084018a610d26565b8381036040850152611273818a61119e565b905083810360608501526112878189610d26565b9050838103608085015261129b8188610d26565b60a0850196909652509290921660c0909101525095945050505050565b6000602082840312156112ca57600080fd5b8151610d6581610f1f565b60a0815260006112e860a0830188610d26565b82810360208401526112fa818861119e565b9050828103604084015261130e8187610d26565b905082810360608401526113228186610d26565b9150508260808301529695505050505050565b6000806040838503121561134857600080fd5b823567ffffffffffffffff81111561135f57600080fd5b61136b85828601610e92565b925050602083013561137c81610f1f565b80915050925092905056fea2646970667358221220423df6f44476d4f6856a92b73b23f593e5b063bee8acaae6cad055ae2b1b66bc64736f6c63430008090033", - "deployedBytecode": "0x6080604052600436106100b15760003560e01c8063491606581161006957806389471c941161004e57806389471c94146101ac578063a7798b69146101bf578063b0fa8444146101df57600080fd5b8063491606581461016c57806380d14b4a1461018c57600080fd5b80631c6ffa461161009a5780631c6ffa46146101155780633fa4f2451461013757806345b48eb91461014c57600080fd5b8063116191b6146100b65780631a98b2e0146100f3575b600080fd5b3480156100c257600080fd5b506000546100d6906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156100ff57600080fd5b5061011361010e366004610c20565b6101f4565b005b34801561012157600080fd5b5061012a61038f565b6040516100ea9190610d52565b34801561014357600080fd5b5061012a61041d565b34801561015857600080fd5b50610113610167366004610d6c565b61042a565b34801561017857600080fd5b50610113610187366004610dd8565b61045f565b34801561019857600080fd5b506004546100d6906001600160a01b031681565b6101136101ba366004610f37565b6105bb565b3480156101cb57600080fd5b5061012a6101da366004610fe2565b610917565b3480156101eb57600080fd5b5061012a61093b565b6000858560405161020692919061101f565b6040519081900381206000547f1876eed90000000000000000000000000000000000000000000000000000000083529092506001600160a01b031690631876eed990610266908e908e908e908e908e9089908d908d908d90600401611058565b602060405180830381600087803b15801561028057600080fd5b505af1158015610294573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102b891906110b7565b6102d557604051631403112d60e21b815260040160405180910390fd5b6103828a8a8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8e018190048102820181019092528c815292508c91508b908190840183828082843760009201919091525050604080516020601f8b018190048102820181019092528981528c93508b9250908a908a90819084018382808284376000920191909152508a9250610948915050565b5050505050505050505050565b6002805461039c906110d9565b80601f01602080910402602001604051908101604052809291908181526020018280546103c8906110d9565b80156104155780601f106103ea57610100808354040283529160200191610415565b820191906000526020600020905b8154815290600101906020018083116103f857829003601f168201915b505050505081565b6001805461039c906110d9565b81816005868660405161043e92919061101f565b908152604051908190036020019020610458929091610aca565b5050505050565b6000828260405161047192919061101f565b6040519081900381206000547f5f6970c30000000000000000000000000000000000000000000000000000000083529092506001600160a01b031690635f6970c3906104cb908b908b908b908b908b908990600401611114565b602060405180830381600087803b1580156104e557600080fd5b505af11580156104f9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061051d91906110b7565b61053a57604051631403112d60e21b815260040160405180910390fd5b6105b187878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8b018190048102820181019092528981529250899150889081908401838280828437600092019190915250889250879150610ac49050565b5050505050505050565b6105c760018686610aca565b5060008585856040516020016105df93929190611155565b60408051601f19818403018152919052905034156106a4576004546040516001600160a01b039091169063c62c200290349030908b90600590610623908390611182565b9081526040519081900360200181207fffffffff0000000000000000000000000000000000000000000000000000000060e087901b16825261067193929188908b908b90339060040161123e565b6000604051808303818588803b15801561068a57600080fd5b505af115801561069e573d6000803e3d6000fd5b50505050505b600080546040516349ad89fb60e11b81526001600160a01b039091169063935b13f6906106d5908790600401610d52565b60206040518083038186803b1580156106ed57600080fd5b505afa158015610701573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061072591906112b8565b6040517f23b872dd000000000000000000000000000000000000000000000000000000008152336004820152306024820152604481018590529091506001600160a01b038216906323b872dd90606401602060405180830381600087803b15801561078f57600080fd5b505af11580156107a3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107c791906110b7565b506000546040517f095ea7b30000000000000000000000000000000000000000000000000000000081526001600160a01b039182166004820152602481018590529082169063095ea7b390604401602060405180830381600087803b15801561082f57600080fd5b505af1158015610843573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061086791906110b7565b506000546040516001600160a01b039091169063b5417084908a90600590610890908390611182565b9081526040519081900360200181207fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1682526108db929187908a908a906004016112d5565b600060405180830381600087803b1580156108f557600080fd5b505af1158015610909573d6000803e3d6000fd5b505050505050505050505050565b80516020818301810180516005825292820191909301209152805461039c906110d9565b6003805461039c906110d9565b600061095684860186611335565b8151909250829061096e906001906020850190610b4e565b50508751610984915060029060208a0190610b4e565b508551610998906003906020890190610b4e565b50600080546040516349ad89fb60e11b81526001600160a01b039091169063935b13f6906109ca908790600401610d52565b60206040518083038186803b1580156109e257600080fd5b505afa1580156109f6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a1a91906112b8565b6040517fa9059cbb0000000000000000000000000000000000000000000000000000000081526001600160a01b038481166004830152602482018690529192509082169063a9059cbb90604401602060405180830381600087803b158015610a8157600080fd5b505af1158015610a95573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ab991906110b7565b505050505050505050565b50505050565b828054610ad6906110d9565b90600052602060002090601f016020900481019282610af85760008555610b3e565b82601f10610b115782800160ff19823516178555610b3e565b82800160010185558215610b3e579182015b82811115610b3e578235825591602001919060010190610b23565b50610b4a929150610bc2565b5090565b828054610b5a906110d9565b90600052602060002090601f016020900481019282610b7c5760008555610b3e565b82601f10610b9557805160ff1916838001178555610b3e565b82800160010185558215610b3e579182015b82811115610b3e578251825591602001919060010190610ba7565b5b80821115610b4a5760008155600101610bc3565b60008083601f840112610be957600080fd5b50813567ffffffffffffffff811115610c0157600080fd5b602083019150836020828501011115610c1957600080fd5b9250929050565b60008060008060008060008060008060c08b8d031215610c3f57600080fd5b8a35995060208b013567ffffffffffffffff80821115610c5e57600080fd5b610c6a8e838f01610bd7565b909b50995060408d0135915080821115610c8357600080fd5b610c8f8e838f01610bd7565b909950975060608d0135915080821115610ca857600080fd5b610cb48e838f01610bd7565b909750955060808d0135915080821115610ccd57600080fd5b50610cda8d828e01610bd7565b9150809450508092505060a08b013590509295989b9194979a5092959850565b60005b83811015610d15578181015183820152602001610cfd565b83811115610ac45750506000910152565b60008151808452610d3e816020860160208601610cfa565b601f01601f19169290920160200192915050565b602081526000610d656020830184610d26565b9392505050565b60008060008060408587031215610d8257600080fd5b843567ffffffffffffffff80821115610d9a57600080fd5b610da688838901610bd7565b90965094506020870135915080821115610dbf57600080fd5b50610dcc87828801610bd7565b95989497509550505050565b60008060008060008060006080888a031215610df357600080fd5b87359650602088013567ffffffffffffffff80821115610e1257600080fd5b610e1e8b838c01610bd7565b909850965060408a0135915080821115610e3757600080fd5b610e438b838c01610bd7565b909650945060608a0135915080821115610e5c57600080fd5b50610e698a828b01610bd7565b989b979a50959850939692959293505050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112610ea357600080fd5b813567ffffffffffffffff80821115610ebe57610ebe610e7c565b604051601f8301601f19908116603f01168101908282118183101715610ee657610ee6610e7c565b81604052838152866020858801011115610eff57600080fd5b836020870160208301376000602085830101528094505050505092915050565b6001600160a01b0381168114610f3457600080fd5b50565b60008060008060008060a08789031215610f5057600080fd5b863567ffffffffffffffff80821115610f6857600080fd5b610f748a838b01610e92565b97506020890135915080821115610f8a57600080fd5b610f968a838b01610bd7565b909750955060408901359150610fab82610f1f565b90935060608801359080821115610fc157600080fd5b50610fce89828a01610e92565b925050608087013590509295509295509295565b600060208284031215610ff457600080fd5b813567ffffffffffffffff81111561100b57600080fd5b61101784828501610e92565b949350505050565b8183823760009101908152919050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b89815260c06020820152600061107260c083018a8c61102f565b828103604084015261108581898b61102f565b905086606084015282810360808401526110a081868861102f565b9150508260a08301529a9950505050505050505050565b6000602082840312156110c957600080fd5b81518015158114610d6557600080fd5b600181811c908216806110ed57607f821691505b6020821081141561110e57634e487b7160e01b600052602260045260246000fd5b50919050565b86815260806020820152600061112e60808301878961102f565b828103604084015261114181868861102f565b915050826060830152979650505050505050565b60408152600061116960408301858761102f565b90506001600160a01b0383166020830152949350505050565b60008251611194818460208701610cfa565b9190910192915050565b8054600090600181811c90808316806111b857607f831692505b60208084108214156111da57634e487b7160e01b600052602260045260246000fd5b838852602088018280156111f5576001811461120657611231565b60ff19871682528282019750611231565b60008981526020902060005b8781101561122b57815484820152908601908401611212565b83019850505b5050505050505092915050565b60006001600160a01b03808a16835260e0602084015261126160e084018a610d26565b8381036040850152611273818a61119e565b905083810360608501526112878189610d26565b9050838103608085015261129b8188610d26565b60a0850196909652509290921660c0909101525095945050505050565b6000602082840312156112ca57600080fd5b8151610d6581610f1f565b60a0815260006112e860a0830188610d26565b82810360208401526112fa818861119e565b9050828103604084015261130e8187610d26565b905082810360608401526113228186610d26565b9150508260808301529695505050505050565b6000806040838503121561134857600080fd5b823567ffffffffffffffff81111561135f57600080fd5b61136b85828601610e92565b925050602083013561137c81610f1f565b80915050925092905056fea2646970667358221220423df6f44476d4f6856a92b73b23f593e5b063bee8acaae6cad055ae2b1b66bc64736f6c63430008090033", + "bytecode": "0x60c060405234801561001057600080fd5b506040516114a83803806114a883398101604081905261002f9161008b565b816001600160a01b0381166100575760405163e6c4247b60e01b815260040160405180910390fd5b6001600160a01b039081166080521660a052506100be565b80516001600160a01b038116811461008657600080fd5b919050565b6000806040838503121561009e57600080fd5b6100a78361006f565b91506100b56020840161006f565b90509250929050565b60805160a051611395610113600039600081816101b2015261054801526000818160c80152818161026601528181610452015281816106290152818161078301528181610811015261096e01526113956000f3fe6080604052600436106100b15760003560e01c8063491606581161006957806389471c941161004e57806389471c94146101d4578063a7798b69146101e7578063b0fa84441461020757600080fd5b8063491606581461018057806380d14b4a146101a057600080fd5b80631c6ffa461161009a5780631c6ffa46146101295780633fa4f2451461014b57806345b48eb91461016057600080fd5b8063116191b6146100b65780631a98b2e014610107575b600080fd5b3480156100c257600080fd5b506100ea7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561011357600080fd5b50610127610122366004610bf8565b61021c565b005b34801561013557600080fd5b5061013e610338565b6040516100fe9190610d1f565b34801561015757600080fd5b5061013e6103c6565b34801561016c57600080fd5b5061012761017b366004610d39565b6103d3565b34801561018c57600080fd5b5061012761019b366004610da5565b610408565b3480156101ac57600080fd5b506100ea7f000000000000000000000000000000000000000000000000000000000000000081565b6101276101e2366004610e61565b61050a565b3480156101f357600080fd5b5061013e610202366004610fba565b6108de565b34801561021357600080fd5b5061013e610902565b6000858560405161022e929190610ff7565b6040519081900381207f1876eed900000000000000000000000000000000000000000000000000000000825291506001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690631876eed9906102ab908e908e908e908e908e9089908d908d908d90600401611030565b602060405180830381600087803b1580156102c557600080fd5b505af11580156102d9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102fd919061108f565b61031a57604051631403112d60e21b815260040160405180910390fd5b61032b8a8a8a8a8a8a8a8a8a61090f565b5050505050505050505050565b60018054610345906110b1565b80601f0160208091040260200160405190810160405280929190818152602001828054610371906110b1565b80156103be5780601f10610393576101008083540402835291602001916103be565b820191906000526020600020905b8154815290600101906020018083116103a157829003601f168201915b505050505081565b60008054610345906110b1565b8181600386866040516103e7929190610ff7565b908152604051908190036020019020610401929091610aa2565b5050505050565b6000828260405161041a929190610ff7565b6040519081900381207f5f6970c300000000000000000000000000000000000000000000000000000000825291506001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690635f6970c390610491908b908b908b908b908b9089906004016110ec565b602060405180830381600087803b1580156104ab57600080fd5b505af11580156104bf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104e3919061108f565b61050057604051631403112d60e21b815260040160405180910390fd5b5050505050505050565b61051660008787610aa2565b50600086868660405160200161052e9392919061112d565b60408051601f198184030181529190529050341561060f577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c62c200234308c8c60038f8f60405161058b929190610ff7565b9081526040519081900360200181207fffffffff0000000000000000000000000000000000000000000000000000000060e088901b1682526105dc9493929189908d908d908d9033906004016111fa565b6000604051808303818588803b1580156105f557600080fd5b505af1158015610609573d6000803e3d6000fd5b50505050505b6040516349ad89fb60e11b81526000906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063935b13f6906106609088908890600401611278565b60206040518083038186803b15801561067857600080fd5b505afa15801561068c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106b0919061128c565b6040517f23b872dd000000000000000000000000000000000000000000000000000000008152336004820152306024820152604481018590529091506001600160a01b038216906323b872dd90606401602060405180830381600087803b15801561071a57600080fd5b505af115801561072e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610752919061108f565b506040517f095ea7b30000000000000000000000000000000000000000000000000000000081526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660048301526024820185905282169063095ea7b390604401602060405180830381600087803b1580156107d657600080fd5b505af11580156107ea573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061080e919061108f565b507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663b54170848b8b60038e8e604051610852929190610ff7565b9081526040519081900360200181207fffffffff0000000000000000000000000000000000000000000000000000000060e086901b1682526108a093929188908c908c908c906004016112a9565b600060405180830381600087803b1580156108ba57600080fd5b505af11580156108ce573d6000803e3d6000fd5b5050505050505050505050505050565b805160208183018101805160038252928201919093012091528054610345906110b1565b60028054610345906110b1565b600061091d8587018761130d565b81519092508290610935906000906020850190610b26565b506109469150600190508b8b610aa2565b5061095360028989610aa2565b506040516349ad89fb60e11b81526000906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063935b13f6906109a59088908890600401611278565b60206040518083038186803b1580156109bd57600080fd5b505afa1580156109d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109f5919061128c565b6040517fa9059cbb0000000000000000000000000000000000000000000000000000000081526001600160a01b038481166004830152602482018690529192509082169063a9059cbb90604401602060405180830381600087803b158015610a5c57600080fd5b505af1158015610a70573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a94919061108f565b505050505050505050505050565b828054610aae906110b1565b90600052602060002090601f016020900481019282610ad05760008555610b16565b82601f10610ae95782800160ff19823516178555610b16565b82800160010185558215610b16579182015b82811115610b16578235825591602001919060010190610afb565b50610b22929150610b9a565b5090565b828054610b32906110b1565b90600052602060002090601f016020900481019282610b545760008555610b16565b82601f10610b6d57805160ff1916838001178555610b16565b82800160010185558215610b16579182015b82811115610b16578251825591602001919060010190610b7f565b5b80821115610b225760008155600101610b9b565b60008083601f840112610bc157600080fd5b50813567ffffffffffffffff811115610bd957600080fd5b602083019150836020828501011115610bf157600080fd5b9250929050565b60008060008060008060008060008060c08b8d031215610c1757600080fd5b8a35995060208b013567ffffffffffffffff80821115610c3657600080fd5b610c428e838f01610baf565b909b50995060408d0135915080821115610c5b57600080fd5b610c678e838f01610baf565b909950975060608d0135915080821115610c8057600080fd5b610c8c8e838f01610baf565b909750955060808d0135915080821115610ca557600080fd5b50610cb28d828e01610baf565b9150809450508092505060a08b013590509295989b9194979a5092959850565b6000815180845260005b81811015610cf857602081850181015186830182015201610cdc565b81811115610d0a576000602083870101525b50601f01601f19169290920160200192915050565b602081526000610d326020830184610cd2565b9392505050565b60008060008060408587031215610d4f57600080fd5b843567ffffffffffffffff80821115610d6757600080fd5b610d7388838901610baf565b90965094506020870135915080821115610d8c57600080fd5b50610d9987828801610baf565b95989497509550505050565b60008060008060008060006080888a031215610dc057600080fd5b87359650602088013567ffffffffffffffff80821115610ddf57600080fd5b610deb8b838c01610baf565b909850965060408a0135915080821115610e0457600080fd5b610e108b838c01610baf565b909650945060608a0135915080821115610e2957600080fd5b50610e368a828b01610baf565b989b979a50959850939692959293505050565b6001600160a01b0381168114610e5e57600080fd5b50565b60008060008060008060008060a0898b031215610e7d57600080fd5b883567ffffffffffffffff80821115610e9557600080fd5b610ea18c838d01610baf565b909a50985060208b0135915080821115610eba57600080fd5b610ec68c838d01610baf565b909850965060408b01359150610edb82610e49565b90945060608a01359080821115610ef157600080fd5b50610efe8b828c01610baf565b999c989b50969995989497949560800135949350505050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112610f3e57600080fd5b813567ffffffffffffffff80821115610f5957610f59610f17565b604051601f8301601f19908116603f01168101908282118183101715610f8157610f81610f17565b81604052838152866020858801011115610f9a57600080fd5b836020870160208301376000602085830101528094505050505092915050565b600060208284031215610fcc57600080fd5b813567ffffffffffffffff811115610fe357600080fd5b610fef84828501610f2d565b949350505050565b8183823760009101908152919050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b89815260c06020820152600061104a60c083018a8c611007565b828103604084015261105d81898b611007565b90508660608401528281036080840152611078818688611007565b9150508260a08301529a9950505050505050505050565b6000602082840312156110a157600080fd5b81518015158114610d3257600080fd5b600181811c908216806110c557607f821691505b602082108114156110e657634e487b7160e01b600052602260045260246000fd5b50919050565b868152608060208201526000611106608083018789611007565b8281036040840152611119818688611007565b915050826060830152979650505050505050565b604081526000611141604083018587611007565b90506001600160a01b0383166020830152949350505050565b8054600090600181811c908083168061117457607f831692505b602080841082141561119657634e487b7160e01b600052602260045260246000fd5b838852602088018280156111b157600181146111c2576111ed565b60ff198716825282820197506111ed565b60008981526020902060005b878110156111e7578154848201529086019084016111ce565b83019850505b5050505050505092915050565b60006001600160a01b03808c16835260e0602084015261121e60e084018b8d611007565b8381036040850152611230818b61115a565b90508381036060850152611244818a610cd2565b9050838103608085015261125981888a611007565b60a0850196909652509290921660c09091015250979650505050505050565b602081526000610fef602083018486611007565b60006020828403121561129e57600080fd5b8151610d3281610e49565b60a0815260006112bd60a08301898b611007565b82810360208401526112cf818961115a565b905082810360408401526112e38188610cd2565b905082810360608401526112f8818688611007565b91505082608083015298975050505050505050565b6000806040838503121561132057600080fd5b823567ffffffffffffffff81111561133757600080fd5b61134385828601610f2d565b925050602083013561135481610e49565b80915050925092905056fea264697066735822122094db8be1a7d76c5c9bd1af615c3839f0f2fd9303a44c666e4377ebe3d409747364736f6c63430008090033", + "deployedBytecode": "0x6080604052600436106100b15760003560e01c8063491606581161006957806389471c941161004e57806389471c94146101d4578063a7798b69146101e7578063b0fa84441461020757600080fd5b8063491606581461018057806380d14b4a146101a057600080fd5b80631c6ffa461161009a5780631c6ffa46146101295780633fa4f2451461014b57806345b48eb91461016057600080fd5b8063116191b6146100b65780631a98b2e014610107575b600080fd5b3480156100c257600080fd5b506100ea7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561011357600080fd5b50610127610122366004610bf8565b61021c565b005b34801561013557600080fd5b5061013e610338565b6040516100fe9190610d1f565b34801561015757600080fd5b5061013e6103c6565b34801561016c57600080fd5b5061012761017b366004610d39565b6103d3565b34801561018c57600080fd5b5061012761019b366004610da5565b610408565b3480156101ac57600080fd5b506100ea7f000000000000000000000000000000000000000000000000000000000000000081565b6101276101e2366004610e61565b61050a565b3480156101f357600080fd5b5061013e610202366004610fba565b6108de565b34801561021357600080fd5b5061013e610902565b6000858560405161022e929190610ff7565b6040519081900381207f1876eed900000000000000000000000000000000000000000000000000000000825291506001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690631876eed9906102ab908e908e908e908e908e9089908d908d908d90600401611030565b602060405180830381600087803b1580156102c557600080fd5b505af11580156102d9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102fd919061108f565b61031a57604051631403112d60e21b815260040160405180910390fd5b61032b8a8a8a8a8a8a8a8a8a61090f565b5050505050505050505050565b60018054610345906110b1565b80601f0160208091040260200160405190810160405280929190818152602001828054610371906110b1565b80156103be5780601f10610393576101008083540402835291602001916103be565b820191906000526020600020905b8154815290600101906020018083116103a157829003601f168201915b505050505081565b60008054610345906110b1565b8181600386866040516103e7929190610ff7565b908152604051908190036020019020610401929091610aa2565b5050505050565b6000828260405161041a929190610ff7565b6040519081900381207f5f6970c300000000000000000000000000000000000000000000000000000000825291506001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690635f6970c390610491908b908b908b908b908b9089906004016110ec565b602060405180830381600087803b1580156104ab57600080fd5b505af11580156104bf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104e3919061108f565b61050057604051631403112d60e21b815260040160405180910390fd5b5050505050505050565b61051660008787610aa2565b50600086868660405160200161052e9392919061112d565b60408051601f198184030181529190529050341561060f577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c62c200234308c8c60038f8f60405161058b929190610ff7565b9081526040519081900360200181207fffffffff0000000000000000000000000000000000000000000000000000000060e088901b1682526105dc9493929189908d908d908d9033906004016111fa565b6000604051808303818588803b1580156105f557600080fd5b505af1158015610609573d6000803e3d6000fd5b50505050505b6040516349ad89fb60e11b81526000906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063935b13f6906106609088908890600401611278565b60206040518083038186803b15801561067857600080fd5b505afa15801561068c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106b0919061128c565b6040517f23b872dd000000000000000000000000000000000000000000000000000000008152336004820152306024820152604481018590529091506001600160a01b038216906323b872dd90606401602060405180830381600087803b15801561071a57600080fd5b505af115801561072e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610752919061108f565b506040517f095ea7b30000000000000000000000000000000000000000000000000000000081526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660048301526024820185905282169063095ea7b390604401602060405180830381600087803b1580156107d657600080fd5b505af11580156107ea573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061080e919061108f565b507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663b54170848b8b60038e8e604051610852929190610ff7565b9081526040519081900360200181207fffffffff0000000000000000000000000000000000000000000000000000000060e086901b1682526108a093929188908c908c908c906004016112a9565b600060405180830381600087803b1580156108ba57600080fd5b505af11580156108ce573d6000803e3d6000fd5b5050505050505050505050505050565b805160208183018101805160038252928201919093012091528054610345906110b1565b60028054610345906110b1565b600061091d8587018761130d565b81519092508290610935906000906020850190610b26565b506109469150600190508b8b610aa2565b5061095360028989610aa2565b506040516349ad89fb60e11b81526000906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063935b13f6906109a59088908890600401611278565b60206040518083038186803b1580156109bd57600080fd5b505afa1580156109d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109f5919061128c565b6040517fa9059cbb0000000000000000000000000000000000000000000000000000000081526001600160a01b038481166004830152602482018690529192509082169063a9059cbb90604401602060405180830381600087803b158015610a5c57600080fd5b505af1158015610a70573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a94919061108f565b505050505050505050505050565b828054610aae906110b1565b90600052602060002090601f016020900481019282610ad05760008555610b16565b82601f10610ae95782800160ff19823516178555610b16565b82800160010185558215610b16579182015b82811115610b16578235825591602001919060010190610afb565b50610b22929150610b9a565b5090565b828054610b32906110b1565b90600052602060002090601f016020900481019282610b545760008555610b16565b82601f10610b6d57805160ff1916838001178555610b16565b82800160010185558215610b16579182015b82811115610b16578251825591602001919060010190610b7f565b5b80821115610b225760008155600101610b9b565b60008083601f840112610bc157600080fd5b50813567ffffffffffffffff811115610bd957600080fd5b602083019150836020828501011115610bf157600080fd5b9250929050565b60008060008060008060008060008060c08b8d031215610c1757600080fd5b8a35995060208b013567ffffffffffffffff80821115610c3657600080fd5b610c428e838f01610baf565b909b50995060408d0135915080821115610c5b57600080fd5b610c678e838f01610baf565b909950975060608d0135915080821115610c8057600080fd5b610c8c8e838f01610baf565b909750955060808d0135915080821115610ca557600080fd5b50610cb28d828e01610baf565b9150809450508092505060a08b013590509295989b9194979a5092959850565b6000815180845260005b81811015610cf857602081850181015186830182015201610cdc565b81811115610d0a576000602083870101525b50601f01601f19169290920160200192915050565b602081526000610d326020830184610cd2565b9392505050565b60008060008060408587031215610d4f57600080fd5b843567ffffffffffffffff80821115610d6757600080fd5b610d7388838901610baf565b90965094506020870135915080821115610d8c57600080fd5b50610d9987828801610baf565b95989497509550505050565b60008060008060008060006080888a031215610dc057600080fd5b87359650602088013567ffffffffffffffff80821115610ddf57600080fd5b610deb8b838c01610baf565b909850965060408a0135915080821115610e0457600080fd5b610e108b838c01610baf565b909650945060608a0135915080821115610e2957600080fd5b50610e368a828b01610baf565b989b979a50959850939692959293505050565b6001600160a01b0381168114610e5e57600080fd5b50565b60008060008060008060008060a0898b031215610e7d57600080fd5b883567ffffffffffffffff80821115610e9557600080fd5b610ea18c838d01610baf565b909a50985060208b0135915080821115610eba57600080fd5b610ec68c838d01610baf565b909850965060408b01359150610edb82610e49565b90945060608a01359080821115610ef157600080fd5b50610efe8b828c01610baf565b999c989b50969995989497949560800135949350505050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112610f3e57600080fd5b813567ffffffffffffffff80821115610f5957610f59610f17565b604051601f8301601f19908116603f01168101908282118183101715610f8157610f81610f17565b81604052838152866020858801011115610f9a57600080fd5b836020870160208301376000602085830101528094505050505092915050565b600060208284031215610fcc57600080fd5b813567ffffffffffffffff811115610fe357600080fd5b610fef84828501610f2d565b949350505050565b8183823760009101908152919050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b89815260c06020820152600061104a60c083018a8c611007565b828103604084015261105d81898b611007565b90508660608401528281036080840152611078818688611007565b9150508260a08301529a9950505050505050505050565b6000602082840312156110a157600080fd5b81518015158114610d3257600080fd5b600181811c908216806110c557607f821691505b602082108114156110e657634e487b7160e01b600052602260045260246000fd5b50919050565b868152608060208201526000611106608083018789611007565b8281036040840152611119818688611007565b915050826060830152979650505050505050565b604081526000611141604083018587611007565b90506001600160a01b0383166020830152949350505050565b8054600090600181811c908083168061117457607f831692505b602080841082141561119657634e487b7160e01b600052602260045260246000fd5b838852602088018280156111b157600181146111c2576111ed565b60ff198716825282820197506111ed565b60008981526020902060005b878110156111e7578154848201529086019084016111ce565b83019850505b5050505050505092915050565b60006001600160a01b03808c16835260e0602084015261121e60e084018b8d611007565b8381036040850152611230818b61115a565b90508381036060850152611244818a610cd2565b9050838103608085015261125981888a611007565b60a0850196909652509290921660c09091015250979650505050505050565b602081526000610fef602083018486611007565b60006020828403121561129e57600080fd5b8151610d3281610e49565b60a0815260006112bd60a08301898b611007565b82810360208401526112cf818961115a565b905082810360408401526112e38188610cd2565b905082810360608401526112f8818688611007565b91505082608083015298975050505050505050565b6000806040838503121561132057600080fd5b823567ffffffffffffffff81111561133757600080fd5b61134385828601610f2d565b925050602083013561135481610e49565b80915050925092905056fea264697066735822122094db8be1a7d76c5c9bd1af615c3839f0f2fd9303a44c666e4377ebe3d409747364736f6c63430008090033", "linkReferences": {}, "deployedLinkReferences": {} } From e4616f9c892708918a2214b97670285e16300da1 Mon Sep 17 00:00:00 2001 From: Kiryl Yermakou Date: Thu, 25 Aug 2022 18:45:39 -0400 Subject: [PATCH 5/8] chore(npm): version bump --- package-lock.json | 30 +++++++++++++++++------------- package.json | 10 +++++----- 2 files changed, 22 insertions(+), 18 deletions(-) diff --git a/package-lock.json b/package-lock.json index f84294de..9cd5044b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,24 +1,23 @@ { "name": "@axelar-network/axelar-local-dev", - "version": "1.0.3", + "version": "1.1.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@axelar-network/axelar-local-dev", - "version": "1.0.3", + "version": "1.1.0", "license": "ISC", "dependencies": { "@axelar-network/axelar-cgp-solidity": "^4.3.0", "@axelar-network/axelar-gmp-sdk-solidity": "^1.1.0", - "@types/node": "^17.0.31", "ethers": "^5.6.5", "fs-extra": "^10.1.0", "ganache": "^7.1.0", - "lodash": "^4.17.21", - "typescript": "^4.6.4" + "lodash": "^4.17.21" }, "devDependencies": { + "@types/node": "^18.7.13", "chai": "^4.3.6", "eslint": "^8.17.0", "eslint-config-richardpringle": "^2.0.0", @@ -28,7 +27,8 @@ "prettier": "^2.6.2", "prettier-plugin-solidity": "^1.0.0-beta.19", "solhint": "^3.3.7", - "solidity-coverage": "^0.7.21" + "solidity-coverage": "^0.7.21", + "typescript": "^4.7.4" }, "engines": { "node": ">=14.13.1" @@ -1423,9 +1423,10 @@ "dev": true }, "node_modules/@types/node": { - "version": "17.0.45", - "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.45.tgz", - "integrity": "sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==" + "version": "18.7.13", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.7.13.tgz", + "integrity": "sha512-46yIhxSe5xEaJZXWdIBP7GU4HDTG8/eo0qd9atdiL+lFpA03y8KS+lkTN834TWJj5767GbWv4n/P6efyTFt1Dw==", + "dev": true }, "node_modules/@types/pbkdf2": { "version": "3.1.0", @@ -11365,6 +11366,7 @@ "version": "4.7.4", "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.7.4.tgz", "integrity": "sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ==", + "dev": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -13308,9 +13310,10 @@ "dev": true }, "@types/node": { - "version": "17.0.45", - "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.45.tgz", - "integrity": "sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==" + "version": "18.7.13", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.7.13.tgz", + "integrity": "sha512-46yIhxSe5xEaJZXWdIBP7GU4HDTG8/eo0qd9atdiL+lFpA03y8KS+lkTN834TWJj5767GbWv4n/P6efyTFt1Dw==", + "dev": true }, "@types/pbkdf2": { "version": "3.1.0", @@ -21099,7 +21102,8 @@ "typescript": { "version": "4.7.4", "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.7.4.tgz", - "integrity": "sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ==" + "integrity": "sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ==", + "dev": true }, "uglify-js": { "version": "3.16.2", diff --git a/package.json b/package.json index fb5ca894..4e6290cd 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@axelar-network/axelar-local-dev", - "version": "1.0.3", + "version": "1.1.0", "description": "", "main": "dist/index.js", "scripts": { @@ -27,14 +27,13 @@ "dependencies": { "@axelar-network/axelar-cgp-solidity": "^4.3.0", "@axelar-network/axelar-gmp-sdk-solidity": "^1.1.0", - "@types/node": "^17.0.31", "ethers": "^5.6.5", "fs-extra": "^10.1.0", "ganache": "^7.1.0", - "lodash": "^4.17.21", - "typescript": "^4.6.4" + "lodash": "^4.17.21" }, "devDependencies": { + "@types/node": "^18.7.13", "chai": "^4.3.6", "eslint": "^8.17.0", "eslint-config-richardpringle": "^2.0.0", @@ -44,6 +43,7 @@ "prettier": "^2.6.2", "prettier-plugin-solidity": "^1.0.0-beta.19", "solhint": "^3.3.7", - "solidity-coverage": "^0.7.21" + "solidity-coverage": "^0.7.21", + "typescript": "^4.7.4" } } From 770d256a7e6b8a3c4904fecd09e31a300e93f3cb Mon Sep 17 00:00:00 2001 From: Kiryl Yermakou Date: Thu, 25 Aug 2022 20:01:24 -0400 Subject: [PATCH 6/8] chore(dist): removing artifacts from git --- .../AdminMultisigBase.dbg.json | 4 - .../AdminMultisigBase.json | 156 --- .../AxelarGateway.sol/AxelarGateway.dbg.json | 4 - .../AxelarGateway.sol/AxelarGateway.json | 1232 ----------------- .../AxelarGatewayProxy.dbg.json | 4 - .../AxelarGatewayProxy.json | 177 --- .../BurnableMintableCappedERC20.dbg.json | 4 - .../BurnableMintableCappedERC20.json | 548 -------- .../DepositHandler.dbg.json | 4 - .../DepositHandler.sol/DepositHandler.json | 63 - .../contracts/ECDSA.sol/ECDSA.dbg.json | 4 - .../contracts/ECDSA.sol/ECDSA.json | 31 - .../contracts/ERC20.sol/ERC20.dbg.json | 4 - .../contracts/ERC20.sol/ERC20.json | 307 ---- .../ERC20Permit.sol/ERC20Permit.dbg.json | 4 - .../ERC20Permit.sol/ERC20Permit.json | 381 ----- .../EternalStorage.dbg.json | 4 - .../EternalStorage.sol/EternalStorage.json | 125 -- .../MintableCappedERC20.dbg.json | 4 - .../MintableCappedERC20.json | 498 ------- .../contracts/Ownable.sol/Ownable.dbg.json | 4 - .../contracts/Ownable.sol/Ownable.json | 66 - .../TokenDeployer.sol/TokenDeployer.dbg.json | 4 - .../TokenDeployer.sol/TokenDeployer.json | 50 - .../AxelarAuthWeighted.dbg.json | 4 - .../AxelarAuthWeighted.json | 240 ---- .../AxelarGasService.dbg.json | 4 - .../AxelarGasService.json | 715 ---------- .../AxelarGasServiceProxy.dbg.json | 4 - .../AxelarGasServiceProxy.json | 93 -- .../IAxelarAuth.sol/IAxelarAuth.dbg.json | 4 - .../IAxelarAuth.sol/IAxelarAuth.json | 103 -- .../IAxelarAuthWeighted.dbg.json | 4 - .../IAxelarAuthWeighted.json | 209 --- .../IAxelarExecutable.dbg.json | 4 - .../IAxelarExecutable.json | 95 -- .../IAxelarGasService.dbg.json | 4 - .../IAxelarGasService.json | 702 ---------- .../IAxelarGateway.dbg.json | 4 - .../IAxelarGateway.sol/IAxelarGateway.json | 963 ------------- .../IBurnableMintableCappedERC20.dbg.json | 4 - .../IBurnableMintableCappedERC20.json | 415 ------ .../interfaces/IERC20.sol/IERC20.dbg.json | 4 - .../interfaces/IERC20.sol/IERC20.json | 199 --- .../IERC20Burn.sol/IERC20Burn.dbg.json | 4 - .../interfaces/IERC20Burn.sol/IERC20Burn.json | 24 - .../IERC20BurnFrom.dbg.json | 4 - .../IERC20BurnFrom.sol/IERC20BurnFrom.json | 29 - .../IERC20Permit.sol/IERC20Permit.dbg.json | 4 - .../IERC20Permit.sol/IERC20Permit.json | 86 -- .../IMintableCappedERC20.dbg.json | 4 - .../IMintableCappedERC20.json | 365 ----- .../interfaces/IOwnable.sol/IOwnable.dbg.json | 4 - .../interfaces/IOwnable.sol/IOwnable.json | 66 - .../ITokenDeployer.dbg.json | 4 - .../ITokenDeployer.sol/ITokenDeployer.json | 50 - .../IUpgradable.sol/IUpgradable.dbg.json | 4 - .../IUpgradable.sol/IUpgradable.json | 142 -- .../contracts/util/Proxy.sol/Proxy.dbg.json | 4 - .../contracts/util/Proxy.sol/Proxy.json | 98 -- .../util/Upgradable.sol/Upgradable.dbg.json | 4 - .../util/Upgradable.sol/Upgradable.json | 155 --- .../test/Executable.sol/Executable.dbg.json | 4 - .../test/Executable.sol/Executable.json | 223 --- .../ExecutableWithToken.dbg.json | 4 - .../ExecutableWithToken.json | 238 ---- 66 files changed, 8976 deletions(-) delete mode 100644 artifacts/@axelar-network/axelar-cgp-solidity/contracts/AdminMultisigBase.sol/AdminMultisigBase.dbg.json delete mode 100644 artifacts/@axelar-network/axelar-cgp-solidity/contracts/AdminMultisigBase.sol/AdminMultisigBase.json delete mode 100644 artifacts/@axelar-network/axelar-cgp-solidity/contracts/AxelarGateway.sol/AxelarGateway.dbg.json delete mode 100644 artifacts/@axelar-network/axelar-cgp-solidity/contracts/AxelarGateway.sol/AxelarGateway.json delete mode 100644 artifacts/@axelar-network/axelar-cgp-solidity/contracts/AxelarGatewayProxy.sol/AxelarGatewayProxy.dbg.json delete mode 100644 artifacts/@axelar-network/axelar-cgp-solidity/contracts/AxelarGatewayProxy.sol/AxelarGatewayProxy.json delete mode 100644 artifacts/@axelar-network/axelar-cgp-solidity/contracts/BurnableMintableCappedERC20.sol/BurnableMintableCappedERC20.dbg.json delete mode 100644 artifacts/@axelar-network/axelar-cgp-solidity/contracts/BurnableMintableCappedERC20.sol/BurnableMintableCappedERC20.json delete mode 100644 artifacts/@axelar-network/axelar-cgp-solidity/contracts/DepositHandler.sol/DepositHandler.dbg.json delete mode 100644 artifacts/@axelar-network/axelar-cgp-solidity/contracts/DepositHandler.sol/DepositHandler.json delete mode 100644 artifacts/@axelar-network/axelar-cgp-solidity/contracts/ECDSA.sol/ECDSA.dbg.json delete mode 100644 artifacts/@axelar-network/axelar-cgp-solidity/contracts/ECDSA.sol/ECDSA.json delete mode 100644 artifacts/@axelar-network/axelar-cgp-solidity/contracts/ERC20.sol/ERC20.dbg.json delete mode 100644 artifacts/@axelar-network/axelar-cgp-solidity/contracts/ERC20.sol/ERC20.json delete mode 100644 artifacts/@axelar-network/axelar-cgp-solidity/contracts/ERC20Permit.sol/ERC20Permit.dbg.json delete mode 100644 artifacts/@axelar-network/axelar-cgp-solidity/contracts/ERC20Permit.sol/ERC20Permit.json delete mode 100644 artifacts/@axelar-network/axelar-cgp-solidity/contracts/EternalStorage.sol/EternalStorage.dbg.json delete mode 100644 artifacts/@axelar-network/axelar-cgp-solidity/contracts/EternalStorage.sol/EternalStorage.json delete mode 100644 artifacts/@axelar-network/axelar-cgp-solidity/contracts/MintableCappedERC20.sol/MintableCappedERC20.dbg.json delete mode 100644 artifacts/@axelar-network/axelar-cgp-solidity/contracts/MintableCappedERC20.sol/MintableCappedERC20.json delete mode 100644 artifacts/@axelar-network/axelar-cgp-solidity/contracts/Ownable.sol/Ownable.dbg.json delete mode 100644 artifacts/@axelar-network/axelar-cgp-solidity/contracts/Ownable.sol/Ownable.json delete mode 100644 artifacts/@axelar-network/axelar-cgp-solidity/contracts/TokenDeployer.sol/TokenDeployer.dbg.json delete mode 100644 artifacts/@axelar-network/axelar-cgp-solidity/contracts/TokenDeployer.sol/TokenDeployer.json delete mode 100644 artifacts/@axelar-network/axelar-cgp-solidity/contracts/auth/AxelarAuthWeighted.sol/AxelarAuthWeighted.dbg.json delete mode 100644 artifacts/@axelar-network/axelar-cgp-solidity/contracts/auth/AxelarAuthWeighted.sol/AxelarAuthWeighted.json delete mode 100644 artifacts/@axelar-network/axelar-cgp-solidity/contracts/gas-service/AxelarGasService.sol/AxelarGasService.dbg.json delete mode 100644 artifacts/@axelar-network/axelar-cgp-solidity/contracts/gas-service/AxelarGasService.sol/AxelarGasService.json delete mode 100644 artifacts/@axelar-network/axelar-cgp-solidity/contracts/gas-service/AxelarGasServiceProxy.sol/AxelarGasServiceProxy.dbg.json delete mode 100644 artifacts/@axelar-network/axelar-cgp-solidity/contracts/gas-service/AxelarGasServiceProxy.sol/AxelarGasServiceProxy.json delete mode 100644 artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarAuth.sol/IAxelarAuth.dbg.json delete mode 100644 artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarAuth.sol/IAxelarAuth.json delete mode 100644 artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarAuthWeighted.sol/IAxelarAuthWeighted.dbg.json delete mode 100644 artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarAuthWeighted.sol/IAxelarAuthWeighted.json delete mode 100644 artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarExecutable.sol/IAxelarExecutable.dbg.json delete mode 100644 artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarExecutable.sol/IAxelarExecutable.json delete mode 100644 artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarGasService.sol/IAxelarGasService.dbg.json delete mode 100644 artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarGasService.sol/IAxelarGasService.json delete mode 100644 artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarGateway.sol/IAxelarGateway.dbg.json delete mode 100644 artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarGateway.sol/IAxelarGateway.json delete mode 100644 artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IBurnableMintableCappedERC20.sol/IBurnableMintableCappedERC20.dbg.json delete mode 100644 artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IBurnableMintableCappedERC20.sol/IBurnableMintableCappedERC20.json delete mode 100644 artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IERC20.sol/IERC20.dbg.json delete mode 100644 artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IERC20.sol/IERC20.json delete mode 100644 artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IERC20Burn.sol/IERC20Burn.dbg.json delete mode 100644 artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IERC20Burn.sol/IERC20Burn.json delete mode 100644 artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IERC20BurnFrom.sol/IERC20BurnFrom.dbg.json delete mode 100644 artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IERC20BurnFrom.sol/IERC20BurnFrom.json delete mode 100644 artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IERC20Permit.sol/IERC20Permit.dbg.json delete mode 100644 artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IERC20Permit.sol/IERC20Permit.json delete mode 100644 artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IMintableCappedERC20.sol/IMintableCappedERC20.dbg.json delete mode 100644 artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IMintableCappedERC20.sol/IMintableCappedERC20.json delete mode 100644 artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IOwnable.sol/IOwnable.dbg.json delete mode 100644 artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IOwnable.sol/IOwnable.json delete mode 100644 artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/ITokenDeployer.sol/ITokenDeployer.dbg.json delete mode 100644 artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/ITokenDeployer.sol/ITokenDeployer.json delete mode 100644 artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IUpgradable.sol/IUpgradable.dbg.json delete mode 100644 artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IUpgradable.sol/IUpgradable.json delete mode 100644 artifacts/@axelar-network/axelar-cgp-solidity/contracts/util/Proxy.sol/Proxy.dbg.json delete mode 100644 artifacts/@axelar-network/axelar-cgp-solidity/contracts/util/Proxy.sol/Proxy.json delete mode 100644 artifacts/@axelar-network/axelar-cgp-solidity/contracts/util/Upgradable.sol/Upgradable.dbg.json delete mode 100644 artifacts/@axelar-network/axelar-cgp-solidity/contracts/util/Upgradable.sol/Upgradable.json delete mode 100644 artifacts/src/contracts/test/Executable.sol/Executable.dbg.json delete mode 100644 artifacts/src/contracts/test/Executable.sol/Executable.json delete mode 100644 artifacts/src/contracts/test/ExecutableWithToken.sol/ExecutableWithToken.dbg.json delete mode 100644 artifacts/src/contracts/test/ExecutableWithToken.sol/ExecutableWithToken.json diff --git a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/AdminMultisigBase.sol/AdminMultisigBase.dbg.json b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/AdminMultisigBase.sol/AdminMultisigBase.dbg.json deleted file mode 100644 index ad925cc8..00000000 --- a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/AdminMultisigBase.sol/AdminMultisigBase.dbg.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "_format": "hh-sol-dbg-1", - "buildInfo": "../../../../build-info/3aa2fc6680ec7dd0d7e17835f8008fcc.json" -} diff --git a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/AdminMultisigBase.sol/AdminMultisigBase.json b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/AdminMultisigBase.sol/AdminMultisigBase.json deleted file mode 100644 index a96abf23..00000000 --- a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/AdminMultisigBase.sol/AdminMultisigBase.json +++ /dev/null @@ -1,156 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "AdminMultisigBase", - "sourceName": "@axelar-network/axelar-cgp-solidity/contracts/AdminMultisigBase.sol", - "abi": [ - { - "inputs": [], - "name": "AlreadyVoted", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "admin", - "type": "address" - } - ], - "name": "DuplicateAdmin", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidAdminThreshold", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidAdmins", - "type": "error" - }, - { - "inputs": [], - "name": "NotAdmin", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "key", - "type": "bytes32" - } - ], - "name": "getAddress", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "key", - "type": "bytes32" - } - ], - "name": "getBool", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "key", - "type": "bytes32" - } - ], - "name": "getBytes", - "outputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "key", - "type": "bytes32" - } - ], - "name": "getInt", - "outputs": [ - { - "internalType": "int256", - "name": "", - "type": "int256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "key", - "type": "bytes32" - } - ], - "name": "getString", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "key", - "type": "bytes32" - } - ], - "name": "getUint", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": "0x608060405234801561001057600080fd5b50610354806100206000396000f3fe608060405234801561001057600080fd5b50600436106100725760003560e01c8063bd02d0f511610050578063bd02d0f51461012a578063c031a18014610158578063dc97d9621461016b57600080fd5b806321f8a721146100775780637ae1cfca146100d7578063986e791a1461010a575b600080fd5b6100ad61008536600461024a565b60009081526002602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b6100fa6100e536600461024a565b60009081526004602052604090205460ff1690565b60405190151581526020016100ce565b61011d61011836600461024a565b61018b565b6040516100ce91906102b0565b61014a61013836600461024a565b60009081526020819052604090205490565b6040519081526020016100ce565b61011d61016636600461024a565b61022d565b61014a61017936600461024a565b60009081526005602052604090205490565b60008181526001602052604090208054606091906101a8906102ca565b80601f01602080910402602001604051908101604052809291908181526020018280546101d4906102ca565b80156102215780601f106101f657610100808354040283529160200191610221565b820191906000526020600020905b81548152906001019060200180831161020457829003601f168201915b50505050509050919050565b60008181526003602052604090208054606091906101a8906102ca565b60006020828403121561025c57600080fd5b5035919050565b6000815180845260005b818110156102895760208185018101518683018201520161026d565b8181111561029b576000602083870101525b50601f01601f19169290920160200192915050565b6020815260006102c36020830184610263565b9392505050565b600181811c908216806102de57607f821691505b60208210811415610318577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b5091905056fea264697066735822122079a04c03ae3e3fa0a8f09379c086c011865216366177f8058ff79bd0d563d34764736f6c63430008090033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100725760003560e01c8063bd02d0f511610050578063bd02d0f51461012a578063c031a18014610158578063dc97d9621461016b57600080fd5b806321f8a721146100775780637ae1cfca146100d7578063986e791a1461010a575b600080fd5b6100ad61008536600461024a565b60009081526002602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b6100fa6100e536600461024a565b60009081526004602052604090205460ff1690565b60405190151581526020016100ce565b61011d61011836600461024a565b61018b565b6040516100ce91906102b0565b61014a61013836600461024a565b60009081526020819052604090205490565b6040519081526020016100ce565b61011d61016636600461024a565b61022d565b61014a61017936600461024a565b60009081526005602052604090205490565b60008181526001602052604090208054606091906101a8906102ca565b80601f01602080910402602001604051908101604052809291908181526020018280546101d4906102ca565b80156102215780601f106101f657610100808354040283529160200191610221565b820191906000526020600020905b81548152906001019060200180831161020457829003601f168201915b50505050509050919050565b60008181526003602052604090208054606091906101a8906102ca565b60006020828403121561025c57600080fd5b5035919050565b6000815180845260005b818110156102895760208185018101518683018201520161026d565b8181111561029b576000602083870101525b50601f01601f19169290920160200192915050565b6020815260006102c36020830184610263565b9392505050565b600181811c908216806102de57607f821691505b60208210811415610318577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b5091905056fea264697066735822122079a04c03ae3e3fa0a8f09379c086c011865216366177f8058ff79bd0d563d34764736f6c63430008090033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/AxelarGateway.sol/AxelarGateway.dbg.json b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/AxelarGateway.sol/AxelarGateway.dbg.json deleted file mode 100644 index ad925cc8..00000000 --- a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/AxelarGateway.sol/AxelarGateway.dbg.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "_format": "hh-sol-dbg-1", - "buildInfo": "../../../../build-info/3aa2fc6680ec7dd0d7e17835f8008fcc.json" -} diff --git a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/AxelarGateway.sol/AxelarGateway.json b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/AxelarGateway.sol/AxelarGateway.json deleted file mode 100644 index 90d764cb..00000000 --- a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/AxelarGateway.sol/AxelarGateway.json +++ /dev/null @@ -1,1232 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "AxelarGateway", - "sourceName": "@axelar-network/axelar-cgp-solidity/contracts/AxelarGateway.sol", - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "authModule_", - "type": "address" - }, - { - "internalType": "address", - "name": "tokenDeployerImplementation_", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "name": "AlreadyVoted", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "symbol", - "type": "string" - } - ], - "name": "BurnFailed", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "admin", - "type": "address" - } - ], - "name": "DuplicateAdmin", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "symbol", - "type": "string" - } - ], - "name": "ExceedMintLimit", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidAdminThreshold", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidAdmins", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidAmount", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidAuthModule", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidChainId", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidCodeHash", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidCommands", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidSetMintLimitsParams", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidTokenDeployer", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "symbol", - "type": "string" - } - ], - "name": "MintFailed", - "type": "error" - }, - { - "inputs": [], - "name": "NotAdmin", - "type": "error" - }, - { - "inputs": [], - "name": "NotProxy", - "type": "error" - }, - { - "inputs": [], - "name": "NotSelf", - "type": "error" - }, - { - "inputs": [], - "name": "SetupFailed", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "symbol", - "type": "string" - } - ], - "name": "TokenAlreadyExists", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "token", - "type": "address" - } - ], - "name": "TokenContractDoesNotExist", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "symbol", - "type": "string" - } - ], - "name": "TokenDeployFailed", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "symbol", - "type": "string" - } - ], - "name": "TokenDoesNotExist", - "type": "error" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "indexed": false, - "internalType": "string", - "name": "destinationChain", - "type": "string" - }, - { - "indexed": false, - "internalType": "string", - "name": "destinationContractAddress", - "type": "string" - }, - { - "indexed": true, - "internalType": "bytes32", - "name": "payloadHash", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "bytes", - "name": "payload", - "type": "bytes" - } - ], - "name": "ContractCall", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "commandId", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "string", - "name": "sourceChain", - "type": "string" - }, - { - "indexed": false, - "internalType": "string", - "name": "sourceAddress", - "type": "string" - }, - { - "indexed": true, - "internalType": "address", - "name": "contractAddress", - "type": "address" - }, - { - "indexed": true, - "internalType": "bytes32", - "name": "payloadHash", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "bytes32", - "name": "sourceTxHash", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "sourceEventIndex", - "type": "uint256" - } - ], - "name": "ContractCallApproved", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "commandId", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "string", - "name": "sourceChain", - "type": "string" - }, - { - "indexed": false, - "internalType": "string", - "name": "sourceAddress", - "type": "string" - }, - { - "indexed": true, - "internalType": "address", - "name": "contractAddress", - "type": "address" - }, - { - "indexed": true, - "internalType": "bytes32", - "name": "payloadHash", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "string", - "name": "symbol", - "type": "string" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "bytes32", - "name": "sourceTxHash", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "sourceEventIndex", - "type": "uint256" - } - ], - "name": "ContractCallApprovedWithMint", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "indexed": false, - "internalType": "string", - "name": "destinationChain", - "type": "string" - }, - { - "indexed": false, - "internalType": "string", - "name": "destinationContractAddress", - "type": "string" - }, - { - "indexed": true, - "internalType": "bytes32", - "name": "payloadHash", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "bytes", - "name": "payload", - "type": "bytes" - }, - { - "indexed": false, - "internalType": "string", - "name": "symbol", - "type": "string" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "ContractCallWithToken", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "commandId", - "type": "bytes32" - } - ], - "name": "Executed", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "bytes", - "name": "newOperatorsData", - "type": "bytes" - } - ], - "name": "OperatorshipTransferred", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "string", - "name": "symbol", - "type": "string" - }, - { - "indexed": false, - "internalType": "address", - "name": "tokenAddresses", - "type": "address" - } - ], - "name": "TokenDeployed", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "string", - "name": "symbol", - "type": "string" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "limit", - "type": "uint256" - } - ], - "name": "TokenMintLimitUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "indexed": false, - "internalType": "string", - "name": "destinationChain", - "type": "string" - }, - { - "indexed": false, - "internalType": "string", - "name": "destinationAddress", - "type": "string" - }, - { - "indexed": false, - "internalType": "string", - "name": "symbol", - "type": "string" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "TokenSent", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "implementation", - "type": "address" - } - ], - "name": "Upgraded", - "type": "event" - }, - { - "inputs": [], - "name": "adminEpoch", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - } - ], - "name": "adminThreshold", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - } - ], - "name": "admins", - "outputs": [ - { - "internalType": "address[]", - "name": "results", - "type": "address[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "allTokensFrozen", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "params", - "type": "bytes" - }, - { - "internalType": "bytes32", - "name": "commandId", - "type": "bytes32" - } - ], - "name": "approveContractCall", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "params", - "type": "bytes" - }, - { - "internalType": "bytes32", - "name": "commandId", - "type": "bytes32" - } - ], - "name": "approveContractCallWithMint", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "authModule", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "params", - "type": "bytes" - }, - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "name": "burnToken", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "destinationChain", - "type": "string" - }, - { - "internalType": "string", - "name": "destinationContractAddress", - "type": "string" - }, - { - "internalType": "bytes", - "name": "payload", - "type": "bytes" - } - ], - "name": "callContract", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "destinationChain", - "type": "string" - }, - { - "internalType": "string", - "name": "destinationContractAddress", - "type": "string" - }, - { - "internalType": "bytes", - "name": "payload", - "type": "bytes" - }, - { - "internalType": "string", - "name": "symbol", - "type": "string" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "callContractWithToken", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "params", - "type": "bytes" - }, - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "name": "deployToken", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "input", - "type": "bytes" - } - ], - "name": "execute", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "key", - "type": "bytes32" - } - ], - "name": "getAddress", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "key", - "type": "bytes32" - } - ], - "name": "getBool", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "key", - "type": "bytes32" - } - ], - "name": "getBytes", - "outputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "key", - "type": "bytes32" - } - ], - "name": "getInt", - "outputs": [ - { - "internalType": "int256", - "name": "", - "type": "int256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "key", - "type": "bytes32" - } - ], - "name": "getString", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "key", - "type": "bytes32" - } - ], - "name": "getUint", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "implementation", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "commandId", - "type": "bytes32" - } - ], - "name": "isCommandExecuted", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "commandId", - "type": "bytes32" - }, - { - "internalType": "string", - "name": "sourceChain", - "type": "string" - }, - { - "internalType": "string", - "name": "sourceAddress", - "type": "string" - }, - { - "internalType": "address", - "name": "contractAddress", - "type": "address" - }, - { - "internalType": "bytes32", - "name": "payloadHash", - "type": "bytes32" - }, - { - "internalType": "string", - "name": "symbol", - "type": "string" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "isContractCallAndMintApproved", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "commandId", - "type": "bytes32" - }, - { - "internalType": "string", - "name": "sourceChain", - "type": "string" - }, - { - "internalType": "string", - "name": "sourceAddress", - "type": "string" - }, - { - "internalType": "address", - "name": "contractAddress", - "type": "address" - }, - { - "internalType": "bytes32", - "name": "payloadHash", - "type": "bytes32" - } - ], - "name": "isContractCallApproved", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "params", - "type": "bytes" - }, - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "name": "mintToken", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "destinationChain", - "type": "string" - }, - { - "internalType": "string", - "name": "destinationAddress", - "type": "string" - }, - { - "internalType": "string", - "name": "symbol", - "type": "string" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "sendToken", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string[]", - "name": "symbols", - "type": "string[]" - }, - { - "internalType": "uint256[]", - "name": "limits", - "type": "uint256[]" - } - ], - "name": "setTokenMintLimits", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "params", - "type": "bytes" - } - ], - "name": "setup", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "symbol", - "type": "string" - } - ], - "name": "tokenAddresses", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "tokenDeployer", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "name": "tokenFrozen", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "symbol", - "type": "string" - } - ], - "name": "tokenMintAmount", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "symbol", - "type": "string" - } - ], - "name": "tokenMintLimit", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "newOperatorsData", - "type": "bytes" - }, - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "name": "transferOperatorship", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newImplementation", - "type": "address" - }, - { - "internalType": "bytes32", - "name": "newImplementationCodeHash", - "type": "bytes32" - }, - { - "internalType": "bytes", - "name": "setupParams", - "type": "bytes" - } - ], - "name": "upgrade", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "commandId", - "type": "bytes32" - }, - { - "internalType": "string", - "name": "sourceChain", - "type": "string" - }, - { - "internalType": "string", - "name": "sourceAddress", - "type": "string" - }, - { - "internalType": "bytes32", - "name": "payloadHash", - "type": "bytes32" - } - ], - "name": "validateContractCall", - "outputs": [ - { - "internalType": "bool", - "name": "valid", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "commandId", - "type": "bytes32" - }, - { - "internalType": "string", - "name": "sourceChain", - "type": "string" - }, - { - "internalType": "string", - "name": "sourceAddress", - "type": "string" - }, - { - "internalType": "bytes32", - "name": "payloadHash", - "type": "bytes32" - }, - { - "internalType": "string", - "name": "symbol", - "type": "string" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "validateContractCallAndMint", - "outputs": [ - { - "internalType": "bool", - "name": "valid", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x60c06040523480156200001157600080fd5b506040516200482a3803806200482a8339810160408190526200003491620000bb565b6001600160a01b0382163b6200005d5760405163735326ab60e01b815260040160405180910390fd5b6001600160a01b0381163b6200008657604051630c84dabf60e31b815260040160405180910390fd5b6001600160a01b039182166080521660a052620000f3565b80516001600160a01b0381168114620000b657600080fd5b919050565b60008060408385031215620000cf57600080fd5b620000da836200009e565b9150620000ea602084016200009e565b90509250929050565b60805160a0516146f56200013560003960008181610344015261168b015260008181610404015281816105fb015281816118b80152611b8f01526146f56000f3fe608060405234801561001057600080fd5b50600436106102415760003560e01c80637b1b769e11610145578063b5417084116100bd578063cec7b3591161008c578063dc97d96211610071578063dc97d9621461058a578063f6a5f9f5146105aa578063fbe0a31b146105bd57600080fd5b8063cec7b35914610564578063d26ff2101461057757600080fd5b8063b54170841461050b578063bc00c2161461051e578063bd02d0f514610531578063c031a1801461055157600080fd5b806397b87ba6116101145780639ded06df116100f95780639ded06df146104de578063a3499c73146104f1578063aa1e1f0a1461050457600080fd5b806397b87ba6146104ab578063986e791a146104be57600080fd5b80637b1b769e1461045e578063886a625d1461047257806388b3058714610485578063935b13f61461049857600080fd5b80632a2dae0a116101d85780635c60da1b116101a757806364940c561161018c57806364940c561461040257806367ace8eb146104285780637ae1cfca1461043b57600080fd5b80635c60da1b146103965780635f6970c3146103ef57600080fd5b80632a2dae0a14610342578063364940d8146103685780634656ae2e14610370578063585a9fd41461038357600080fd5b80631c92115f116102145780631c92115f146102ba57806321f8a721146102cd578063269eb65e1461030e57806326ef699d1461032f57600080fd5b806309c5eabe14610246578063146e2d781461025b57806314bfd6d01461026e5780631876eed914610297575b600080fd5b610259610254366004612f84565b6105d0565b005b610259610269366004612fc6565b610aea565b61028161027c366004613012565b610b33565b60405161028e919061302b565b60405180910390f35b6102aa6102a5366004613078565b610bdd565b604051901515815260200161028e565b6102596102c836600461312d565b610d11565b6102f66102db366004613012565b6000908152600260205260409020546001600160a01b031690565b6040516001600160a01b03909116815260200161028e565b61032161031c36600461328c565b610d7c565b60405190815260200161028e565b61025961033d3660046132c1565b610d90565b7f00000000000000000000000000000000000000000000000000000000000000006102f6565b610321610e28565b61025961037e366004612fc6565b610e80565b610259610391366004612fc6565b6111d4565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60005260026020527f11141f466c69fd409e1990e063b49cd6d61ed2ecff27a2e402e259ca6b9a01a3546001600160a01b03166102f6565b6102aa6103fd366004613364565b611282565b7f00000000000000000000000000000000000000000000000000000000000000006102f6565b61025961043636600461342b565b61133b565b6102aa610449366004613012565b60009081526004602052604090205460ff1690565b6102aa61046c36600461328c565b50600090565b610259610480366004612fc6565b6115b8565b610321610493366004613012565b611868565b6102f66104a636600461328c565b611873565b6102596104b9366004612fc6565b611881565b6104d16104cc366004613012565b61195f565b60405161028e91906134ef565b6102596104ec366004612f84565b611a01565b6102596104ff366004613517565b611c35565b60006102aa565b610259610519366004613567565b611f59565b6102aa61052c366004613633565b61200f565b61032161053f366004613012565b60009081526020819052604090205490565b6104d161055f366004613012565b6120e2565b61032161057236600461328c565b6120ff565b6102aa610585366004613012565b612119565b610321610598366004613012565b60009081526005602052604090205490565b6102aa6105b8366004613701565b612127565b6102596105cb366004612fc6565b6121b0565b6000806105df83850185613798565b9150915060006105f58380519060200120612250565b905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166373e3d66a83856040518363ffffffff1660e01b81526004016106479291906137fc565b602060405180830381600087803b15801561066157600080fd5b505af1158015610675573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610699919061382a565b905060006060806060878060200190518101906106b691906139ce565b929650909450925090504684146106f9576040517f7a47c9a200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b825182518114158061070c575081518114155b15610743576040517fca9a28f500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b81811015610adc57600085828151811061076257610762613ab8565b6020026020010151905061077581612119565b156107805750610acc565b60008086848151811061079557610795613ab8565b60200260200101516040516020016107ad9190613ace565b6040516020818303038152906040528051906020012090507f5763814b98a3aa86f212797af3273868b5dd6e2a532d764a79b98ca859e7bbad811415610815577f886a625d0000000000000000000000000000000000000000000000000000000091506109be565b7fec78d9c22c08bb9f0ecd5d95571ae83e3f22219c5a9278c3270691d50abfd91b811415610865577f146e2d780000000000000000000000000000000000000000000000000000000091506109be565b7f37ac16aabc4d87540e53151b2b716265cfd6b195db96a9daf8e893c829bbd2338114156108b5577ffbe0a31b0000000000000000000000000000000000000000000000000000000091506109be565b7ff41504255b911b3042ee4f8786fdf7cf4bcf24ace033fa16af3c8574e025e436811415610905577f585a9fd40000000000000000000000000000000000000000000000000000000091506109be565b7fda199c0e76f665e0450020791c7f8eacc75f3cdbace313272c28f93e5390b62c811415610955577f4656ae2e0000000000000000000000000000000000000000000000000000000091506109be565b7fb460dcb6fd5797fc0e7ea0f13406c80d30702ba7f73a42bd91394775dcbca7188114156109b6578961098a57505050610acc565b600099507f97b87ba60000000000000000000000000000000000000000000000000000000091506109be565b505050610acc565b6109c98360016122a4565b6000306001600160a01b0316838887815181106109e8576109e8613ab8565b602002602001015186604051602401610a02929190613aea565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b0319909416939093179092529051610a409190613ace565b6000604051808303816000865af19150503d8060008114610a7d576040519150601f19603f3d011682016040523d82523d6000602084013e610a82565b606091505b505090508015610abc5760405184907fa74c8847d513feba22a0f0cb38d53081abf97562cdb293926ba243689e7c41ca90600090a2610ac7565b610ac78460006122a4565b505050505b610ad581613b22565b9050610746565b505050505050505050505050565b333014610b0a576040516314e1dbf760e11b815260040160405180910390fd5b60008080610b1a85870187613b48565b925092509250610b2b8383836122d0565b505050505050565b60606000610b408361246d565b90508067ffffffffffffffff811115610b5b57610b5b6131c7565b604051908082528060200260200182016040528015610b84578160200160208202803683370190505b50915060005b81811015610bd657610b9c848261247b565b838281518110610bae57610bae613ab8565b6001600160a01b0390921660209283029190910190910152610bcf81613b22565b9050610b8a565b5050919050565b600080610c8e8b8b8b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8f018190048102820181019092528d815292508d91508c908190840183828082843760009201919091525050604080516020601f8d018190048102820181019092528b81523393508d9250908c908c90819084018382808284376000920191909152508c9250612491915050565b60008181526004602052604090205460ff16925090508115610d03576000818152600460205260409020805460ff19169055610d0385858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152503392508791506122d09050565b509998505050505050505050565b8181604051610d21929190613ba2565b6040518091039020336001600160a01b03167f30ae6cc78c27e651745bf2ad08a11de83910ac1e347a52f7ac898c0fbef94dae888888888888604051610d6c96959493929190613bdb565b60405180910390a3505050505050565b6000610d8a61053f836124f5565b92915050565b610dd23384848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525086925061252a915050565b336001600160a01b03167f651d93f66c4329630e8d0f62488eff599e3be484da587335e8dc0fcf4606272688888888888888604051610e179796959493929190613c24565b60405180910390a250505050505050565b6000610e7b7fd51dc9b187568bb94760866e1d0d066ca470037d2d331afb1a02ec74bfb8990c60009081526020527ff8d0c05cd32e3272241fdc9d5839565f8bcf94139cb4bd09e230e1b57a60ddc25490565b905090565b333014610ea0576040516314e1dbf760e11b815260040160405180910390fd5b600080610eaf84860186613c75565b915091506000610ebe83611873565b90506001600160a01b038116610ef2578260405163395d09bf60e11b8152600401610ee991906134ef565b60405180910390fd5b6002610efd84612795565b6002811115610f0e57610f0e613cba565b141561117157600082604051610f2390612f2e565b8190604051809103906000f5905080158015610f43573d6000803e3d6000fd5b506040517f70a082310000000000000000000000000000000000000000000000000000000081526001600160a01b038083166004830181905292935060009283929091631cff79cd91879163a9059cbb60e01b9130918416906370a082319060240160206040518083038186803b158015610fbd57600080fd5b505afa158015610fd1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ff59190613cd0565b6040516001600160a01b039092166024830152604482015260640160408051601f198184030181529181526020820180516001600160e01b03166001600160e01b03199485161790525160e085901b90921682526110569291600401613ce9565b600060405180830381600087803b15801561107057600080fd5b505af1158015611084573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526110ac9190810190613d0b565b915091508115806110d957508051158015906110d95750808060200190518101906110d7919061382a565b155b156110f9578560405163e217b0ad60e01b8152600401610ee991906134ef565b6040517ef55d9d0000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b0384169062f55d9d90602401600060405180830381600087803b15801561115157600080fd5b505af1158015611165573d6000803e3d6000fd5b50505050505050610b2b565b6040516308a1eee160e01b8152600481018390526001600160a01b038216906308a1eee1906024015b600060405180830381600087803b1580156111b457600080fd5b505af11580156111c8573d6000803e3d6000fd5b50505050505050505050565b3330146111f4576040516314e1dbf760e11b815260040160405180910390fd5b6000808080808080806112098a8c018c613d4f565b97509750975097509750975097509750611228898989898989896127b4565b84866001600160a01b03168a7f9991faa1f435675159ffae64b66d7ecfdb55c29755869a18db8497b4392347e08b8b8989898960405161126d96959493929190613e0d565b60405180910390a45050505050505050505050565b6000806112fd8888888080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8c018190048102820181019092528a815292508a91508990819084018382808284376000920191909152503392508991506127ea9050565b60008181526004602052604090205460ff16925090508115611330576000818152600460205260409020805460ff191690555b509695505050505050565b600061138e7fd51dc9b187568bb94760866e1d0d066ca470037d2d331afb1a02ec74bfb8990c60009081526020527ff8d0c05cd32e3272241fdc9d5839565f8bcf94139cb4bd09e230e1b57a60ddc25490565b905061139a8133612848565b6113b757604051637bfa4b9f60e01b815260040160405180910390fd5b600080366040516113c9929190613ba2565b604051809103902090506113de828233612857565b156113fc57604051637c9a1cf960e01b815260040160405180910390fd5b61140982823360016128d5565b600060016114178484612948565b6114219190613e65565b905061142e838383612957565b6114378361297c565b811015611446575050506115b2565b85841461147f576040517f14a2275f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b8681101561156157600088888381811061149e5761149e613ab8565b90506020028101906114b09190613e7d565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201829052509394508a92508991508590508181106114fb576114fb613ab8565b90506020020135905060006001600160a01b031661151883611873565b6001600160a01b03161415611542578160405163395d09bf60e11b8152600401610ee991906134ef565b61154c828261298a565b5050808061155990613b22565b915050611482565b5061156e83836000612957565b60006115798461246d565b905060005b818110156115ac5761159c8585611595888561247b565b60006128d5565b6115a581613b22565b905061157e565b50505050505b50505050565b3330146115d8576040516314e1dbf760e11b815260040160405180910390fd5b600080808080806115eb888a018a613ec4565b95509550955095509550955060006001600160a01b031661160b86611873565b6001600160a01b03161461164d57846040517faa7e8b32000000000000000000000000000000000000000000000000000000008152600401610ee991906134ef565b6001600160a01b0382166117b95760008560405160200161166e9190613ace565b6040516020818303038152906040528051906020012090506000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316636fc95b3460e01b8a8a8a8a886040516024016116d4959493929190613f67565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b03199094169390931790925290516117129190613ace565b600060405180830381855af49150503d806000811461174d576040519150601f19603f3d011682016040523d82523d6000602084013e611752565b606091505b50915091508161179057876040517f86d52743000000000000000000000000000000000000000000000000000000008152600401610ee991906134ef565b808060200190518101906117a49190613fad565b94506117b18860016129d3565b505050611810565b6001600160a01b0382163b611805576040517fc5ccddde0000000000000000000000000000000000000000000000000000000081526001600160a01b0383166004820152602401610ee9565b6118108560026129d3565b61181a8583612a03565b611824858261298a565b7fbf90b5a1ec9763e8bf4b9245cef0c28db92bab309fc2c5177f17814f382469388583604051611855929190613fca565b60405180910390a1505050505050505050565b6000610d8a8261297c565b6000610d8a6102db83612a45565b3330146118a1576040516314e1dbf760e11b815260040160405180910390fd5b60405163d289d1cb60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063d289d1cb906118ef9086908690600401613ff5565b600060405180830381600087803b15801561190957600080fd5b505af115801561191d573d6000803e3d6000fd5b505050507f192e759e55f359cd9832b5c0c6e38e4b6df5c5ca33f3bd5c90738e865a5218728383604051611952929190613ff5565b60405180910390a1505050565b600081815260016020526040902080546060919061197c90614009565b80601f01602080910402602001604051908101604052809291908181526020018280546119a890614009565b80156119f55780601f106119ca576101008083540402835291602001916119f5565b820191906000526020600020905b8154815290600101906020018083116119d857829003601f168201915b50505050509050919050565b6000611a5d7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60005260026020527f11141f466c69fd409e1990e063b49cd6d61ed2ecff27a2e402e259ca6b9a01a3546001600160a01b031690565b6001600160a01b03161415611a9e576040517fbf10dd3a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008080611aae84860186614044565b92509250925060006001611b097fd51dc9b187568bb94760866e1d0d066ca470037d2d331afb1a02ec74bfb8990c60009081526020527ff8d0c05cd32e3272241fdc9d5839565f8bcf94139cb4bd09e230e1b57a60ddc25490565b611b139190613e65565b9050611b66817fd51dc9b187568bb94760866e1d0d066ca470037d2d331afb1a02ec74bfb8990c60009081526020527ff8d0c05cd32e3272241fdc9d5839565f8bcf94139cb4bd09e230e1b57a60ddc255565b611b71818585612a7d565b815115610b2b5760405163d289d1cb60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063d289d1cb90611bc49085906004016134ef565b600060405180830381600087803b158015611bde57600080fd5b505af1158015611bf2573d6000803e3d6000fd5b505050507f192e759e55f359cd9832b5c0c6e38e4b6df5c5ca33f3bd5c90738e865a52187282604051611c2591906134ef565b60405180910390a1505050505050565b6000611c887fd51dc9b187568bb94760866e1d0d066ca470037d2d331afb1a02ec74bfb8990c60009081526020527ff8d0c05cd32e3272241fdc9d5839565f8bcf94139cb4bd09e230e1b57a60ddc25490565b9050611c948133612848565b611cb157604051637bfa4b9f60e01b815260040160405180910390fd5b60008036604051611cc3929190613ba2565b60405180910390209050611cd8828233612857565b15611cf657604051637c9a1cf960e01b815260040160405180910390fd5b611d0382823360016128d5565b60006001611d118484612948565b611d1b9190613e65565b9050611d28838383612957565b611d318361297c565b811015611d40575050506115b2565b866001600160a01b03163f8614611d83576040517f8f84fb2400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040516001600160a01b038816907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a28315611e9f576000876001600160a01b0316639ded06df60e01b8787604051602401611de4929190613ff5565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b0319909416939093179092529051611e229190613ace565b600060405180830381855af49150503d8060008114611e5d576040519150601f19603f3d011682016040523d82523d6000602084013e611e62565b606091505b5050905080611e9d576040517f97905dfb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505b611f16877f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60005260026020527f11141f466c69fd409e1990e063b49cd6d61ed2ecff27a2e402e259ca6b9a01a3805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03831617905550565b611f2283836000612957565b6000611f2d8461246d565b905060005b818110156115ac57611f498585611595888561247b565b611f5281613b22565b9050611f32565b611f9b3384848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525086925061252a915050565b8484604051611fab929190613ba2565b6040518091039020336001600160a01b03167f7e50569d26be643bda7757722291ec66b1be66d8283474ae3fab5a98f878a7a28b8b8b8b8b8b8b8b8b604051611ffc9998979695949392919061410f565b60405180910390a3505050505050505050565b60006120d36104498c8c8c8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050508b8b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8d018190048102820181019092528b81528e93508d9250908c908c90819084018382808284376000920191909152508c9250612491915050565b9b9a5050505050505050505050565b600081815260036020526040902080546060919061197c90614009565b6000610d8a61053f8361211461546042614177565b612bb6565b6000610d8a61044983612c0b565b60006121a46104498989898080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8d018190048102820181019092528b815292508b91508a90819084018382808284376000920191909152508a92508991506127ea9050565b98975050505050505050565b3330146121d0576040516314e1dbf760e11b815260040160405180910390fd5b600080808080806121e3888a018a614199565b9550955095509550955095506121fc8787878787612c46565b82846001600160a01b0316887f44e4f8f6bd682c5a3aeba93601ab07cb4d1f21b2aab1ae4880d9577919309aa48989878760405161223d949392919061422b565b60405180910390a4505050505050505050565b6040517f19457468657265756d205369676e6564204d6573736167653a0a3332000000006020820152603c8101829052600090605c015b604051602081830303815290604052805190602001209050919050565b6122cc6122b083612c0b565b6000908152600460205260409020805460ff1916831515179055565b5050565b60006122db84611873565b90506001600160a01b038116612306578360405163395d09bf60e11b8152600401610ee991906134ef565b6123238483612314876120ff565b61231e9190613e65565b612c56565b600261232e85612795565b600281111561233f5761233f613cba565b14156123ec576040516001600160a01b0384166024820152604481018390526000906123ab90839063a9059cbb60e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152612cd1565b9050806123e657846040517f90c52ed7000000000000000000000000000000000000000000000000000000008152600401610ee991906134ef565b506115b2565b6040517f40c10f190000000000000000000000000000000000000000000000000000000081526001600160a01b038481166004830152602482018490528216906340c10f1990604401600060405180830381600087803b15801561244f57600080fd5b505af1158015612463573d6000803e3d6000fd5b5050505050505050565b6000610d8a61053f83612d7a565b600061248a6102db8484612db5565b9392505050565b60007fb7ad972b71475860613db3ba1fe699b886c878f9002a09250dc25e769eb19a10888888888888886040516020016124d2989796959493929190614264565b604051602081830303815290604052805190602001209050979650505050505050565b60007feee9348b4aaba3647b1612b2724f18e93b9299da26fb321c7b3fda135d7dea87826040516020016122879291906142d7565b600061253583611873565b90506001600160a01b038116612560578260405163395d09bf60e11b8152600401610ee991906134ef565b81612597576040517f2c5211c600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006125a284612795565b9050600060028260028111156125ba576125ba613cba565b1415612618576040516001600160a01b0387166024820152306044820152606481018590526125f69084906323b872dd60e01b90608401612374565b905080610b2b578460405163e217b0ad60e01b8152600401610ee991906134ef565b600182600281111561262c5761262c613cba565b141561267b576040516001600160a01b0387166024820152604481018590526125f69084907f79cc67900000000000000000000000000000000000000000000000000000000090606401612374565b6040517f31eecaf4000000000000000000000000000000000000000000000000000000008152600060048201526127469084906323b872dd60e01b9089906001600160a01b038416906331eecaf49060240160206040518083038186803b1580156126e557600080fd5b505afa1580156126f9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061271d9190613fad565b6040516001600160a01b0392831660248201529116604482015260648101889052608401612374565b905080612768578460405163e217b0ad60e01b8152600401610ee991906134ef565b6040516308a1eee160e01b8152600060048201526001600160a01b038416906308a1eee19060240161119a565b60006127a361053f83612df7565b6002811115610d8a57610d8a613cba565b6127e16127c688888888888888612491565b6000908152600460205260409020805460ff19166001179055565b50505050505050565b60007f07b0d4304f82012bd3b70b1d531c160e326067c90829e2a3d386722ad10b89c38686868686604051602001612827969594939291906142fd565b60405160208183030381529060405280519060200120905095945050505050565b600061248a6104498484612e2c565b604080517f3ced7a8caf1111e0fbf4b784c5b41aebd0f2389d9f2f64d5c3424aeed3adbd3c602080830191909152818301869052606080830186905284901b6bffffffffffffffffffffffff1916608083015282518083036074018152609490920190925280519101206000906128cd90610449565b949350505050565b604080517f3ced7a8caf1111e0fbf4b784c5b41aebd0f2389d9f2f64d5c3424aeed3adbd3c602080830191909152818301879052606080830187905285901b6bffffffffffffffffffffffff1916608083015282518083036074018152609490920190925280519101206115b2906122b0565b600061248a61053f8484612e7f565b6129776129648484612e7f565b8260009182526020829052604090912055565b505050565b6000610d8a61053f83612ec1565b612996612964836124f5565b7fd99446c1d76385bb5519ccfb5274abcfd5896dfc22405e40010fde217f018a1882826040516129c7929190613aea565b60405180910390a15050565b6122cc6129df83612df7565b8260028111156129f1576129f1613cba565b60009182526020829052604090912055565b6122cc612a0f83612a45565b6000908152600260205260409020805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b038416179055565b60007fc4e632779a6a7838736dd7e5e6a0eadf171dd37dfb6230720e265576dfcf42bb826040516020016122879291906142d7565b50565b815181811015612aa05760405163f1965a0760e01b815260040160405180910390fd5b81612ad7576040517f1845300d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612ae18483612efc565b612aeb8482612f08565b60005b81811015612baf576000848281518110612b0a57612b0a613ab8565b60200260200101519050612b1e8682612848565b15612b60576040517f424926de0000000000000000000000000000000000000000000000000000000081526001600160a01b0382166004820152602401610ee9565b6001600160a01b038116612b875760405163f1965a0760e01b815260040160405180910390fd5b612b92868383612f14565b612b9e86826001612f21565b50612ba881613b22565b9050612aee565b5050505050565b60007f2f8851fe0d6d537e552a4f25b7a3167d48eb1292622c71d84630a2a44757bced8383604051602001612bed9392919061434d565b60405160208183030381529060405280519060200120905092915050565b604080517f957705a374326b30f4a1069c936d736cc9993ed6c820b4e0e2fd94a8beca0d1d6020820152908101829052600090606001612287565b612baf6127c686868686866127ea565b6000612c6183610d7c565b9050600081118015612c7257508082115b15612cab57826040517f037f60e5000000000000000000000000000000000000000000000000000000008152600401610ee991906134ef565b612977612cbe8461211461546042614177565b8360009182526020829052604090912055565b60006001600160a01b0383163b612cea57506000610d8a565b600080846001600160a01b031684604051612d059190613ace565b6000604051808303816000865af19150503d8060008114612d42576040519150601f19603f3d011682016040523d82523d6000602084013e612d47565b606091505b5091509150818015612d71575080511580612d71575080806020019051810190612d71919061382a565b95945050505050565b604080517f05112ef894367de1270cfae12afcd2285c225830eb8f74e7e938f721bb510cba6020820152908101829052600090606001612287565b604080517ff23ec0bb4210edd5cba85afd05127efcd2fc6a781bfed49188da1081670b22d8602082015290810183905260608101829052600090608001612bed565b60007fa80d2259af55890618ec2eeb3ac72de4bdba22529bb14845d8a3d712d1c3f621826040516020016122879291906142d7565b604080517f63fa879cb478fddf1de08d49e29115fb768866711bc799ff9ab419a7f16c9afb6020820152908101839052606082811b6bffffffffffffffffffffffff191690820152600090607401612bed565b604080517fbaea1c6c0f16a0a340b10a9e980806696a68ddbb5e8361fd64630dd21abf515f602082015290810183905260608101829052600090608001612bed565b604080517f79bd914addd90bd67ad800bf0230bb85ffdef5aeba5fd8249f116d3f17f4fb4b6020820152908101829052600090606001612287565b6122cc61296483612ec1565b6122cc61296483612d7a565b612977612a0f8484612db5565b6129776122b08484612e2c565b6103498061437783390190565b60008083601f840112612f4d57600080fd5b50813567ffffffffffffffff811115612f6557600080fd5b602083019150836020828501011115612f7d57600080fd5b9250929050565b60008060208385031215612f9757600080fd5b823567ffffffffffffffff811115612fae57600080fd5b612fba85828601612f3b565b90969095509350505050565b600080600060408486031215612fdb57600080fd5b833567ffffffffffffffff811115612ff257600080fd5b612ffe86828701612f3b565b909790965060209590950135949350505050565b60006020828403121561302457600080fd5b5035919050565b6020808252825182820181905260009190848201906040850190845b8181101561306c5783516001600160a01b031683529284019291840191600101613047565b50909695505050505050565b600080600080600080600080600060c08a8c03121561309657600080fd5b8935985060208a013567ffffffffffffffff808211156130b557600080fd5b6130c18d838e01612f3b565b909a50985060408c01359150808211156130da57600080fd5b6130e68d838e01612f3b565b909850965060608c0135955060808c013591508082111561310657600080fd5b506131138c828d01612f3b565b9a9d999c50979a9699959894979660a00135949350505050565b6000806000806000806060878903121561314657600080fd5b863567ffffffffffffffff8082111561315e57600080fd5b61316a8a838b01612f3b565b9098509650602089013591508082111561318357600080fd5b61318f8a838b01612f3b565b909650945060408901359150808211156131a857600080fd5b506131b589828a01612f3b565b979a9699509497509295939492505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715613206576132066131c7565b604052919050565b600067ffffffffffffffff821115613228576132286131c7565b50601f01601f191660200190565b600082601f83011261324757600080fd5b813561325a6132558261320e565b6131dd565b81815284602083860101111561326f57600080fd5b816020850160208301376000918101602001919091529392505050565b60006020828403121561329e57600080fd5b813567ffffffffffffffff8111156132b557600080fd5b6128cd84828501613236565b60008060008060008060006080888a0312156132dc57600080fd5b873567ffffffffffffffff808211156132f457600080fd5b6133008b838c01612f3b565b909950975060208a013591508082111561331957600080fd5b6133258b838c01612f3b565b909750955060408a013591508082111561333e57600080fd5b5061334b8a828b01612f3b565b989b979a50959894979596606090950135949350505050565b6000806000806000806080878903121561337d57600080fd5b86359550602087013567ffffffffffffffff8082111561339c57600080fd5b6133a88a838b01612f3b565b909750955060408901359150808211156133c157600080fd5b506133ce89828a01612f3b565b979a9699509497949695606090950135949350505050565b60008083601f8401126133f857600080fd5b50813567ffffffffffffffff81111561341057600080fd5b6020830191508360208260051b8501011115612f7d57600080fd5b6000806000806040858703121561344157600080fd5b843567ffffffffffffffff8082111561345957600080fd5b613465888389016133e6565b9096509450602087013591508082111561347e57600080fd5b5061348b878288016133e6565b95989497509550505050565b60005b838110156134b257818101518382015260200161349a565b838111156115b25750506000910152565b600081518084526134db816020860160208601613497565b601f01601f19169290920160200192915050565b60208152600061248a60208301846134c3565b6001600160a01b0381168114612a7a57600080fd5b6000806000806060858703121561352d57600080fd5b843561353881613502565b935060208501359250604085013567ffffffffffffffff81111561355b57600080fd5b61348b87828801612f3b565b600080600080600080600080600060a08a8c03121561358557600080fd5b893567ffffffffffffffff8082111561359d57600080fd5b6135a98d838e01612f3b565b909b50995060208c01359150808211156135c257600080fd5b6135ce8d838e01612f3b565b909950975060408c01359150808211156135e757600080fd5b6135f38d838e01612f3b565b909750955060608c013591508082111561360c57600080fd5b506136198c828d01612f3b565b9a9d999c50979a9699959894979660800135949350505050565b60008060008060008060008060008060e08b8d03121561365257600080fd5b8a35995060208b013567ffffffffffffffff8082111561367157600080fd5b61367d8e838f01612f3b565b909b50995060408d013591508082111561369657600080fd5b6136a28e838f01612f3b565b909950975060608d013591506136b782613502565b90955060808c0135945060a08c013590808211156136d457600080fd5b506136e18d828e01612f3b565b9150809450508092505060c08b013590509295989b9194979a5092959850565b600080600080600080600060a0888a03121561371c57600080fd5b87359650602088013567ffffffffffffffff8082111561373b57600080fd5b6137478b838c01612f3b565b909850965060408a013591508082111561376057600080fd5b5061376d8a828b01612f3b565b909550935050606088013561378181613502565b809250506080880135905092959891949750929550565b600080604083850312156137ab57600080fd5b823567ffffffffffffffff808211156137c357600080fd5b6137cf86838701613236565b935060208501359150808211156137e557600080fd5b506137f285828601613236565b9150509250929050565b8281526040602082015260006128cd60408301846134c3565b8051801515811461382557600080fd5b919050565b60006020828403121561383c57600080fd5b61248a82613815565b600067ffffffffffffffff82111561385f5761385f6131c7565b5060051b60200190565b60006138776132558461320e565b905082815283838301111561388b57600080fd5b61248a836020830184613497565b600082601f8301126138aa57600080fd5b815160206138ba61325583613845565b82815260059290921b840181019181810190868411156138d957600080fd5b8286015b8481101561133057805167ffffffffffffffff8111156138fd5760008081fd5b8701603f8101891361390f5760008081fd5b613920898683015160408401613869565b8452509183019183016138dd565b600082601f83011261393f57600080fd5b61248a83835160208501613869565b600082601f83011261395f57600080fd5b8151602061396f61325583613845565b82815260059290921b8401810191818101908684111561398e57600080fd5b8286015b8481101561133057805167ffffffffffffffff8111156139b25760008081fd5b6139c08986838b010161392e565b845250918301918301613992565b600080600080608085870312156139e457600080fd5b8451935060208086015167ffffffffffffffff80821115613a0457600080fd5b818801915088601f830112613a1857600080fd5b8151613a2661325582613845565b81815260059190911b8301840190848101908b831115613a4557600080fd5b938501935b82851015613a6357845182529385019390850190613a4a565b60408b01519098509450505080831115613a7c57600080fd5b613a8889848a01613899565b94506060880151925080831115613a9e57600080fd5b5050613aac8782880161394e565b91505092959194509250565b634e487b7160e01b600052603260045260246000fd5b60008251613ae0818460208701613497565b9190910192915050565b604081526000613afd60408301856134c3565b90508260208301529392505050565b634e487b7160e01b600052601160045260246000fd5b6000600019821415613b3657613b36613b0c565b5060010190565b803561382581613502565b600080600060608486031215613b5d57600080fd5b833567ffffffffffffffff811115613b7457600080fd5b613b8086828701613236565b9350506020840135613b9181613502565b929592945050506040919091013590565b8183823760009101908152919050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b606081526000613bef60608301888a613bb2565b8281036020840152613c02818789613bb2565b90508281036040840152613c17818587613bb2565b9998505050505050505050565b608081526000613c3860808301898b613bb2565b8281036020840152613c4b81888a613bb2565b90508281036040840152613c60818688613bb2565b91505082606083015298975050505050505050565b60008060408385031215613c8857600080fd5b823567ffffffffffffffff811115613c9f57600080fd5b613cab85828601613236565b95602094909401359450505050565b634e487b7160e01b600052602160045260246000fd5b600060208284031215613ce257600080fd5b5051919050565b6001600160a01b03831681526040602082015260006128cd60408301846134c3565b60008060408385031215613d1e57600080fd5b613d2783613815565b9150602083015167ffffffffffffffff811115613d4357600080fd5b6137f28582860161392e565b600080600080600080600080610100898b031215613d6c57600080fd5b883567ffffffffffffffff80821115613d8457600080fd5b613d908c838d01613236565b995060208b0135915080821115613da657600080fd5b613db28c838d01613236565b9850613dc060408c01613b3d565b975060608b0135965060808b0135915080821115613ddd57600080fd5b50613dea8b828c01613236565b989b979a50959894979660a0860135965060c08601359560e00135945092505050565b60c081526000613e2060c08301896134c3565b8281036020840152613e3281896134c3565b90508281036040840152613e4681886134c3565b60608401969096525050608081019290925260a0909101529392505050565b60008219821115613e7857613e78613b0c565b500190565b6000808335601e19843603018112613e9457600080fd5b83018035915067ffffffffffffffff821115613eaf57600080fd5b602001915036819003821315612f7d57600080fd5b60008060008060008060c08789031215613edd57600080fd5b863567ffffffffffffffff80821115613ef557600080fd5b613f018a838b01613236565b97506020890135915080821115613f1757600080fd5b50613f2489828a01613236565b955050604087013560ff81168114613f3b57600080fd5b9350606087013592506080870135613f5281613502565b8092505060a087013590509295509295509295565b60a081526000613f7a60a08301886134c3565b8281036020840152613f8c81886134c3565b60ff9690961660408401525050606081019290925260809091015292915050565b600060208284031215613fbf57600080fd5b815161248a81613502565b604081526000613fdd60408301856134c3565b90506001600160a01b03831660208301529392505050565b6020815260006128cd602083018486613bb2565b600181811c9082168061401d57607f821691505b6020821081141561403e57634e487b7160e01b600052602260045260246000fd5b50919050565b60008060006060848603121561405957600080fd5b833567ffffffffffffffff8082111561407157600080fd5b818601915086601f83011261408557600080fd5b8135602061409561325583613845565b82815260059290921b8401810191818101908a8411156140b457600080fd5b948201945b838610156140db5785356140cc81613502565b825294820194908201906140b9565b97505087013594505060408601359150808211156140f857600080fd5b5061410586828701613236565b9150509250925092565b60a08152600061412360a083018b8d613bb2565b8281036020840152614136818a8c613bb2565b9050828103604084015261414b81888a613bb2565b90508281036060840152614160818688613bb2565b9150508260808301529a9950505050505050505050565b60008261419457634e487b7160e01b600052601260045260246000fd5b500490565b60008060008060008060c087890312156141b257600080fd5b863567ffffffffffffffff808211156141ca57600080fd5b6141d68a838b01613236565b975060208901359150808211156141ec57600080fd5b506141f989828a01613236565b955050604087013561420a81613502565b959894975094956060810135955060808101359460a0909101359350915050565b60808152600061423e60808301876134c3565b828103602084015261425081876134c3565b604084019590955250506060015292915050565b60006101008a83528960208401528060408401526142848184018a6134c3565b9050828103606084015261429881896134c3565b90506001600160a01b03871660808401528560a084015282810360c08401526142c181866134c3565b9150508260e08301529998505050505050505050565b828152600082516142ef816020850160208701613497565b919091016020019392505050565b86815285602082015260c06040820152600061431c60c08301876134c3565b828103606084015261432e81876134c3565b6001600160a01b03959095166080840152505060a00152949350505050565b83815260606020820152600061436660608301856134c3565b905082604083015294935050505056fe6080604052600160005534801561001557600080fd5b50610324806100256000396000f3fe608060405234801561001057600080fd5b50600436106100355760003560e01c8062f55d9d1461003a5780631cff79cd1461004f575b600080fd5b61004d6100483660046101da565b610079565b005b61006261005d3660046101fc565b6100bb565b60405161007092919061027f565b60405180910390f35b6002600054141561009d5760405163caa30f5560e01b815260040160405180910390fd5b600260005573ffffffffffffffffffffffffffffffffffffffff8116ff5b60006060600260005414156100e35760405163caa30f5560e01b815260040160405180910390fd5b600260005573ffffffffffffffffffffffffffffffffffffffff85163b610136576040517f6f7c43f100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8473ffffffffffffffffffffffffffffffffffffffff16848460405161015d9291906102de565b6000604051808303816000865af19150503d806000811461019a576040519150601f19603f3d011682016040523d82523d6000602084013e61019f565b606091505b50600160005590969095509350505050565b803573ffffffffffffffffffffffffffffffffffffffff811681146101d557600080fd5b919050565b6000602082840312156101ec57600080fd5b6101f5826101b1565b9392505050565b60008060006040848603121561021157600080fd5b61021a846101b1565b9250602084013567ffffffffffffffff8082111561023757600080fd5b818601915086601f83011261024b57600080fd5b81358181111561025a57600080fd5b87602082850101111561026c57600080fd5b6020830194508093505050509250925092565b821515815260006020604081840152835180604085015260005b818110156102b557858101830151858201606001528201610299565b818111156102c7576000606083870101525b50601f01601f191692909201606001949350505050565b818382376000910190815291905056fea2646970667358221220dfb702492c35c6a884ac11997b483e3fee4ff8145c7abb0799d2a2fc8674c39364736f6c63430008090033a2646970667358221220dc548d17af80e97d180d0272635e72abcf1708c4b6eb58d2f6544f6247efb70064736f6c63430008090033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106102415760003560e01c80637b1b769e11610145578063b5417084116100bd578063cec7b3591161008c578063dc97d96211610071578063dc97d9621461058a578063f6a5f9f5146105aa578063fbe0a31b146105bd57600080fd5b8063cec7b35914610564578063d26ff2101461057757600080fd5b8063b54170841461050b578063bc00c2161461051e578063bd02d0f514610531578063c031a1801461055157600080fd5b806397b87ba6116101145780639ded06df116100f95780639ded06df146104de578063a3499c73146104f1578063aa1e1f0a1461050457600080fd5b806397b87ba6146104ab578063986e791a146104be57600080fd5b80637b1b769e1461045e578063886a625d1461047257806388b3058714610485578063935b13f61461049857600080fd5b80632a2dae0a116101d85780635c60da1b116101a757806364940c561161018c57806364940c561461040257806367ace8eb146104285780637ae1cfca1461043b57600080fd5b80635c60da1b146103965780635f6970c3146103ef57600080fd5b80632a2dae0a14610342578063364940d8146103685780634656ae2e14610370578063585a9fd41461038357600080fd5b80631c92115f116102145780631c92115f146102ba57806321f8a721146102cd578063269eb65e1461030e57806326ef699d1461032f57600080fd5b806309c5eabe14610246578063146e2d781461025b57806314bfd6d01461026e5780631876eed914610297575b600080fd5b610259610254366004612f84565b6105d0565b005b610259610269366004612fc6565b610aea565b61028161027c366004613012565b610b33565b60405161028e919061302b565b60405180910390f35b6102aa6102a5366004613078565b610bdd565b604051901515815260200161028e565b6102596102c836600461312d565b610d11565b6102f66102db366004613012565b6000908152600260205260409020546001600160a01b031690565b6040516001600160a01b03909116815260200161028e565b61032161031c36600461328c565b610d7c565b60405190815260200161028e565b61025961033d3660046132c1565b610d90565b7f00000000000000000000000000000000000000000000000000000000000000006102f6565b610321610e28565b61025961037e366004612fc6565b610e80565b610259610391366004612fc6565b6111d4565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60005260026020527f11141f466c69fd409e1990e063b49cd6d61ed2ecff27a2e402e259ca6b9a01a3546001600160a01b03166102f6565b6102aa6103fd366004613364565b611282565b7f00000000000000000000000000000000000000000000000000000000000000006102f6565b61025961043636600461342b565b61133b565b6102aa610449366004613012565b60009081526004602052604090205460ff1690565b6102aa61046c36600461328c565b50600090565b610259610480366004612fc6565b6115b8565b610321610493366004613012565b611868565b6102f66104a636600461328c565b611873565b6102596104b9366004612fc6565b611881565b6104d16104cc366004613012565b61195f565b60405161028e91906134ef565b6102596104ec366004612f84565b611a01565b6102596104ff366004613517565b611c35565b60006102aa565b610259610519366004613567565b611f59565b6102aa61052c366004613633565b61200f565b61032161053f366004613012565b60009081526020819052604090205490565b6104d161055f366004613012565b6120e2565b61032161057236600461328c565b6120ff565b6102aa610585366004613012565b612119565b610321610598366004613012565b60009081526005602052604090205490565b6102aa6105b8366004613701565b612127565b6102596105cb366004612fc6565b6121b0565b6000806105df83850185613798565b9150915060006105f58380519060200120612250565b905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166373e3d66a83856040518363ffffffff1660e01b81526004016106479291906137fc565b602060405180830381600087803b15801561066157600080fd5b505af1158015610675573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610699919061382a565b905060006060806060878060200190518101906106b691906139ce565b929650909450925090504684146106f9576040517f7a47c9a200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b825182518114158061070c575081518114155b15610743576040517fca9a28f500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b81811015610adc57600085828151811061076257610762613ab8565b6020026020010151905061077581612119565b156107805750610acc565b60008086848151811061079557610795613ab8565b60200260200101516040516020016107ad9190613ace565b6040516020818303038152906040528051906020012090507f5763814b98a3aa86f212797af3273868b5dd6e2a532d764a79b98ca859e7bbad811415610815577f886a625d0000000000000000000000000000000000000000000000000000000091506109be565b7fec78d9c22c08bb9f0ecd5d95571ae83e3f22219c5a9278c3270691d50abfd91b811415610865577f146e2d780000000000000000000000000000000000000000000000000000000091506109be565b7f37ac16aabc4d87540e53151b2b716265cfd6b195db96a9daf8e893c829bbd2338114156108b5577ffbe0a31b0000000000000000000000000000000000000000000000000000000091506109be565b7ff41504255b911b3042ee4f8786fdf7cf4bcf24ace033fa16af3c8574e025e436811415610905577f585a9fd40000000000000000000000000000000000000000000000000000000091506109be565b7fda199c0e76f665e0450020791c7f8eacc75f3cdbace313272c28f93e5390b62c811415610955577f4656ae2e0000000000000000000000000000000000000000000000000000000091506109be565b7fb460dcb6fd5797fc0e7ea0f13406c80d30702ba7f73a42bd91394775dcbca7188114156109b6578961098a57505050610acc565b600099507f97b87ba60000000000000000000000000000000000000000000000000000000091506109be565b505050610acc565b6109c98360016122a4565b6000306001600160a01b0316838887815181106109e8576109e8613ab8565b602002602001015186604051602401610a02929190613aea565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b0319909416939093179092529051610a409190613ace565b6000604051808303816000865af19150503d8060008114610a7d576040519150601f19603f3d011682016040523d82523d6000602084013e610a82565b606091505b505090508015610abc5760405184907fa74c8847d513feba22a0f0cb38d53081abf97562cdb293926ba243689e7c41ca90600090a2610ac7565b610ac78460006122a4565b505050505b610ad581613b22565b9050610746565b505050505050505050505050565b333014610b0a576040516314e1dbf760e11b815260040160405180910390fd5b60008080610b1a85870187613b48565b925092509250610b2b8383836122d0565b505050505050565b60606000610b408361246d565b90508067ffffffffffffffff811115610b5b57610b5b6131c7565b604051908082528060200260200182016040528015610b84578160200160208202803683370190505b50915060005b81811015610bd657610b9c848261247b565b838281518110610bae57610bae613ab8565b6001600160a01b0390921660209283029190910190910152610bcf81613b22565b9050610b8a565b5050919050565b600080610c8e8b8b8b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8f018190048102820181019092528d815292508d91508c908190840183828082843760009201919091525050604080516020601f8d018190048102820181019092528b81523393508d9250908c908c90819084018382808284376000920191909152508c9250612491915050565b60008181526004602052604090205460ff16925090508115610d03576000818152600460205260409020805460ff19169055610d0385858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152503392508791506122d09050565b509998505050505050505050565b8181604051610d21929190613ba2565b6040518091039020336001600160a01b03167f30ae6cc78c27e651745bf2ad08a11de83910ac1e347a52f7ac898c0fbef94dae888888888888604051610d6c96959493929190613bdb565b60405180910390a3505050505050565b6000610d8a61053f836124f5565b92915050565b610dd23384848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525086925061252a915050565b336001600160a01b03167f651d93f66c4329630e8d0f62488eff599e3be484da587335e8dc0fcf4606272688888888888888604051610e179796959493929190613c24565b60405180910390a250505050505050565b6000610e7b7fd51dc9b187568bb94760866e1d0d066ca470037d2d331afb1a02ec74bfb8990c60009081526020527ff8d0c05cd32e3272241fdc9d5839565f8bcf94139cb4bd09e230e1b57a60ddc25490565b905090565b333014610ea0576040516314e1dbf760e11b815260040160405180910390fd5b600080610eaf84860186613c75565b915091506000610ebe83611873565b90506001600160a01b038116610ef2578260405163395d09bf60e11b8152600401610ee991906134ef565b60405180910390fd5b6002610efd84612795565b6002811115610f0e57610f0e613cba565b141561117157600082604051610f2390612f2e565b8190604051809103906000f5905080158015610f43573d6000803e3d6000fd5b506040517f70a082310000000000000000000000000000000000000000000000000000000081526001600160a01b038083166004830181905292935060009283929091631cff79cd91879163a9059cbb60e01b9130918416906370a082319060240160206040518083038186803b158015610fbd57600080fd5b505afa158015610fd1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ff59190613cd0565b6040516001600160a01b039092166024830152604482015260640160408051601f198184030181529181526020820180516001600160e01b03166001600160e01b03199485161790525160e085901b90921682526110569291600401613ce9565b600060405180830381600087803b15801561107057600080fd5b505af1158015611084573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526110ac9190810190613d0b565b915091508115806110d957508051158015906110d95750808060200190518101906110d7919061382a565b155b156110f9578560405163e217b0ad60e01b8152600401610ee991906134ef565b6040517ef55d9d0000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b0384169062f55d9d90602401600060405180830381600087803b15801561115157600080fd5b505af1158015611165573d6000803e3d6000fd5b50505050505050610b2b565b6040516308a1eee160e01b8152600481018390526001600160a01b038216906308a1eee1906024015b600060405180830381600087803b1580156111b457600080fd5b505af11580156111c8573d6000803e3d6000fd5b50505050505050505050565b3330146111f4576040516314e1dbf760e11b815260040160405180910390fd5b6000808080808080806112098a8c018c613d4f565b97509750975097509750975097509750611228898989898989896127b4565b84866001600160a01b03168a7f9991faa1f435675159ffae64b66d7ecfdb55c29755869a18db8497b4392347e08b8b8989898960405161126d96959493929190613e0d565b60405180910390a45050505050505050505050565b6000806112fd8888888080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8c018190048102820181019092528a815292508a91508990819084018382808284376000920191909152503392508991506127ea9050565b60008181526004602052604090205460ff16925090508115611330576000818152600460205260409020805460ff191690555b509695505050505050565b600061138e7fd51dc9b187568bb94760866e1d0d066ca470037d2d331afb1a02ec74bfb8990c60009081526020527ff8d0c05cd32e3272241fdc9d5839565f8bcf94139cb4bd09e230e1b57a60ddc25490565b905061139a8133612848565b6113b757604051637bfa4b9f60e01b815260040160405180910390fd5b600080366040516113c9929190613ba2565b604051809103902090506113de828233612857565b156113fc57604051637c9a1cf960e01b815260040160405180910390fd5b61140982823360016128d5565b600060016114178484612948565b6114219190613e65565b905061142e838383612957565b6114378361297c565b811015611446575050506115b2565b85841461147f576040517f14a2275f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b8681101561156157600088888381811061149e5761149e613ab8565b90506020028101906114b09190613e7d565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201829052509394508a92508991508590508181106114fb576114fb613ab8565b90506020020135905060006001600160a01b031661151883611873565b6001600160a01b03161415611542578160405163395d09bf60e11b8152600401610ee991906134ef565b61154c828261298a565b5050808061155990613b22565b915050611482565b5061156e83836000612957565b60006115798461246d565b905060005b818110156115ac5761159c8585611595888561247b565b60006128d5565b6115a581613b22565b905061157e565b50505050505b50505050565b3330146115d8576040516314e1dbf760e11b815260040160405180910390fd5b600080808080806115eb888a018a613ec4565b95509550955095509550955060006001600160a01b031661160b86611873565b6001600160a01b03161461164d57846040517faa7e8b32000000000000000000000000000000000000000000000000000000008152600401610ee991906134ef565b6001600160a01b0382166117b95760008560405160200161166e9190613ace565b6040516020818303038152906040528051906020012090506000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316636fc95b3460e01b8a8a8a8a886040516024016116d4959493929190613f67565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b03199094169390931790925290516117129190613ace565b600060405180830381855af49150503d806000811461174d576040519150601f19603f3d011682016040523d82523d6000602084013e611752565b606091505b50915091508161179057876040517f86d52743000000000000000000000000000000000000000000000000000000008152600401610ee991906134ef565b808060200190518101906117a49190613fad565b94506117b18860016129d3565b505050611810565b6001600160a01b0382163b611805576040517fc5ccddde0000000000000000000000000000000000000000000000000000000081526001600160a01b0383166004820152602401610ee9565b6118108560026129d3565b61181a8583612a03565b611824858261298a565b7fbf90b5a1ec9763e8bf4b9245cef0c28db92bab309fc2c5177f17814f382469388583604051611855929190613fca565b60405180910390a1505050505050505050565b6000610d8a8261297c565b6000610d8a6102db83612a45565b3330146118a1576040516314e1dbf760e11b815260040160405180910390fd5b60405163d289d1cb60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063d289d1cb906118ef9086908690600401613ff5565b600060405180830381600087803b15801561190957600080fd5b505af115801561191d573d6000803e3d6000fd5b505050507f192e759e55f359cd9832b5c0c6e38e4b6df5c5ca33f3bd5c90738e865a5218728383604051611952929190613ff5565b60405180910390a1505050565b600081815260016020526040902080546060919061197c90614009565b80601f01602080910402602001604051908101604052809291908181526020018280546119a890614009565b80156119f55780601f106119ca576101008083540402835291602001916119f5565b820191906000526020600020905b8154815290600101906020018083116119d857829003601f168201915b50505050509050919050565b6000611a5d7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60005260026020527f11141f466c69fd409e1990e063b49cd6d61ed2ecff27a2e402e259ca6b9a01a3546001600160a01b031690565b6001600160a01b03161415611a9e576040517fbf10dd3a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008080611aae84860186614044565b92509250925060006001611b097fd51dc9b187568bb94760866e1d0d066ca470037d2d331afb1a02ec74bfb8990c60009081526020527ff8d0c05cd32e3272241fdc9d5839565f8bcf94139cb4bd09e230e1b57a60ddc25490565b611b139190613e65565b9050611b66817fd51dc9b187568bb94760866e1d0d066ca470037d2d331afb1a02ec74bfb8990c60009081526020527ff8d0c05cd32e3272241fdc9d5839565f8bcf94139cb4bd09e230e1b57a60ddc255565b611b71818585612a7d565b815115610b2b5760405163d289d1cb60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063d289d1cb90611bc49085906004016134ef565b600060405180830381600087803b158015611bde57600080fd5b505af1158015611bf2573d6000803e3d6000fd5b505050507f192e759e55f359cd9832b5c0c6e38e4b6df5c5ca33f3bd5c90738e865a52187282604051611c2591906134ef565b60405180910390a1505050505050565b6000611c887fd51dc9b187568bb94760866e1d0d066ca470037d2d331afb1a02ec74bfb8990c60009081526020527ff8d0c05cd32e3272241fdc9d5839565f8bcf94139cb4bd09e230e1b57a60ddc25490565b9050611c948133612848565b611cb157604051637bfa4b9f60e01b815260040160405180910390fd5b60008036604051611cc3929190613ba2565b60405180910390209050611cd8828233612857565b15611cf657604051637c9a1cf960e01b815260040160405180910390fd5b611d0382823360016128d5565b60006001611d118484612948565b611d1b9190613e65565b9050611d28838383612957565b611d318361297c565b811015611d40575050506115b2565b866001600160a01b03163f8614611d83576040517f8f84fb2400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040516001600160a01b038816907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a28315611e9f576000876001600160a01b0316639ded06df60e01b8787604051602401611de4929190613ff5565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b0319909416939093179092529051611e229190613ace565b600060405180830381855af49150503d8060008114611e5d576040519150601f19603f3d011682016040523d82523d6000602084013e611e62565b606091505b5050905080611e9d576040517f97905dfb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505b611f16877f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60005260026020527f11141f466c69fd409e1990e063b49cd6d61ed2ecff27a2e402e259ca6b9a01a3805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03831617905550565b611f2283836000612957565b6000611f2d8461246d565b905060005b818110156115ac57611f498585611595888561247b565b611f5281613b22565b9050611f32565b611f9b3384848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525086925061252a915050565b8484604051611fab929190613ba2565b6040518091039020336001600160a01b03167f7e50569d26be643bda7757722291ec66b1be66d8283474ae3fab5a98f878a7a28b8b8b8b8b8b8b8b8b604051611ffc9998979695949392919061410f565b60405180910390a3505050505050505050565b60006120d36104498c8c8c8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050508b8b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8d018190048102820181019092528b81528e93508d9250908c908c90819084018382808284376000920191909152508c9250612491915050565b9b9a5050505050505050505050565b600081815260036020526040902080546060919061197c90614009565b6000610d8a61053f8361211461546042614177565b612bb6565b6000610d8a61044983612c0b565b60006121a46104498989898080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8d018190048102820181019092528b815292508b91508a90819084018382808284376000920191909152508a92508991506127ea9050565b98975050505050505050565b3330146121d0576040516314e1dbf760e11b815260040160405180910390fd5b600080808080806121e3888a018a614199565b9550955095509550955095506121fc8787878787612c46565b82846001600160a01b0316887f44e4f8f6bd682c5a3aeba93601ab07cb4d1f21b2aab1ae4880d9577919309aa48989878760405161223d949392919061422b565b60405180910390a4505050505050505050565b6040517f19457468657265756d205369676e6564204d6573736167653a0a3332000000006020820152603c8101829052600090605c015b604051602081830303815290604052805190602001209050919050565b6122cc6122b083612c0b565b6000908152600460205260409020805460ff1916831515179055565b5050565b60006122db84611873565b90506001600160a01b038116612306578360405163395d09bf60e11b8152600401610ee991906134ef565b6123238483612314876120ff565b61231e9190613e65565b612c56565b600261232e85612795565b600281111561233f5761233f613cba565b14156123ec576040516001600160a01b0384166024820152604481018390526000906123ab90839063a9059cbb60e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152612cd1565b9050806123e657846040517f90c52ed7000000000000000000000000000000000000000000000000000000008152600401610ee991906134ef565b506115b2565b6040517f40c10f190000000000000000000000000000000000000000000000000000000081526001600160a01b038481166004830152602482018490528216906340c10f1990604401600060405180830381600087803b15801561244f57600080fd5b505af1158015612463573d6000803e3d6000fd5b5050505050505050565b6000610d8a61053f83612d7a565b600061248a6102db8484612db5565b9392505050565b60007fb7ad972b71475860613db3ba1fe699b886c878f9002a09250dc25e769eb19a10888888888888886040516020016124d2989796959493929190614264565b604051602081830303815290604052805190602001209050979650505050505050565b60007feee9348b4aaba3647b1612b2724f18e93b9299da26fb321c7b3fda135d7dea87826040516020016122879291906142d7565b600061253583611873565b90506001600160a01b038116612560578260405163395d09bf60e11b8152600401610ee991906134ef565b81612597576040517f2c5211c600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006125a284612795565b9050600060028260028111156125ba576125ba613cba565b1415612618576040516001600160a01b0387166024820152306044820152606481018590526125f69084906323b872dd60e01b90608401612374565b905080610b2b578460405163e217b0ad60e01b8152600401610ee991906134ef565b600182600281111561262c5761262c613cba565b141561267b576040516001600160a01b0387166024820152604481018590526125f69084907f79cc67900000000000000000000000000000000000000000000000000000000090606401612374565b6040517f31eecaf4000000000000000000000000000000000000000000000000000000008152600060048201526127469084906323b872dd60e01b9089906001600160a01b038416906331eecaf49060240160206040518083038186803b1580156126e557600080fd5b505afa1580156126f9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061271d9190613fad565b6040516001600160a01b0392831660248201529116604482015260648101889052608401612374565b905080612768578460405163e217b0ad60e01b8152600401610ee991906134ef565b6040516308a1eee160e01b8152600060048201526001600160a01b038416906308a1eee19060240161119a565b60006127a361053f83612df7565b6002811115610d8a57610d8a613cba565b6127e16127c688888888888888612491565b6000908152600460205260409020805460ff19166001179055565b50505050505050565b60007f07b0d4304f82012bd3b70b1d531c160e326067c90829e2a3d386722ad10b89c38686868686604051602001612827969594939291906142fd565b60405160208183030381529060405280519060200120905095945050505050565b600061248a6104498484612e2c565b604080517f3ced7a8caf1111e0fbf4b784c5b41aebd0f2389d9f2f64d5c3424aeed3adbd3c602080830191909152818301869052606080830186905284901b6bffffffffffffffffffffffff1916608083015282518083036074018152609490920190925280519101206000906128cd90610449565b949350505050565b604080517f3ced7a8caf1111e0fbf4b784c5b41aebd0f2389d9f2f64d5c3424aeed3adbd3c602080830191909152818301879052606080830187905285901b6bffffffffffffffffffffffff1916608083015282518083036074018152609490920190925280519101206115b2906122b0565b600061248a61053f8484612e7f565b6129776129648484612e7f565b8260009182526020829052604090912055565b505050565b6000610d8a61053f83612ec1565b612996612964836124f5565b7fd99446c1d76385bb5519ccfb5274abcfd5896dfc22405e40010fde217f018a1882826040516129c7929190613aea565b60405180910390a15050565b6122cc6129df83612df7565b8260028111156129f1576129f1613cba565b60009182526020829052604090912055565b6122cc612a0f83612a45565b6000908152600260205260409020805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b038416179055565b60007fc4e632779a6a7838736dd7e5e6a0eadf171dd37dfb6230720e265576dfcf42bb826040516020016122879291906142d7565b50565b815181811015612aa05760405163f1965a0760e01b815260040160405180910390fd5b81612ad7576040517f1845300d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612ae18483612efc565b612aeb8482612f08565b60005b81811015612baf576000848281518110612b0a57612b0a613ab8565b60200260200101519050612b1e8682612848565b15612b60576040517f424926de0000000000000000000000000000000000000000000000000000000081526001600160a01b0382166004820152602401610ee9565b6001600160a01b038116612b875760405163f1965a0760e01b815260040160405180910390fd5b612b92868383612f14565b612b9e86826001612f21565b50612ba881613b22565b9050612aee565b5050505050565b60007f2f8851fe0d6d537e552a4f25b7a3167d48eb1292622c71d84630a2a44757bced8383604051602001612bed9392919061434d565b60405160208183030381529060405280519060200120905092915050565b604080517f957705a374326b30f4a1069c936d736cc9993ed6c820b4e0e2fd94a8beca0d1d6020820152908101829052600090606001612287565b612baf6127c686868686866127ea565b6000612c6183610d7c565b9050600081118015612c7257508082115b15612cab57826040517f037f60e5000000000000000000000000000000000000000000000000000000008152600401610ee991906134ef565b612977612cbe8461211461546042614177565b8360009182526020829052604090912055565b60006001600160a01b0383163b612cea57506000610d8a565b600080846001600160a01b031684604051612d059190613ace565b6000604051808303816000865af19150503d8060008114612d42576040519150601f19603f3d011682016040523d82523d6000602084013e612d47565b606091505b5091509150818015612d71575080511580612d71575080806020019051810190612d71919061382a565b95945050505050565b604080517f05112ef894367de1270cfae12afcd2285c225830eb8f74e7e938f721bb510cba6020820152908101829052600090606001612287565b604080517ff23ec0bb4210edd5cba85afd05127efcd2fc6a781bfed49188da1081670b22d8602082015290810183905260608101829052600090608001612bed565b60007fa80d2259af55890618ec2eeb3ac72de4bdba22529bb14845d8a3d712d1c3f621826040516020016122879291906142d7565b604080517f63fa879cb478fddf1de08d49e29115fb768866711bc799ff9ab419a7f16c9afb6020820152908101839052606082811b6bffffffffffffffffffffffff191690820152600090607401612bed565b604080517fbaea1c6c0f16a0a340b10a9e980806696a68ddbb5e8361fd64630dd21abf515f602082015290810183905260608101829052600090608001612bed565b604080517f79bd914addd90bd67ad800bf0230bb85ffdef5aeba5fd8249f116d3f17f4fb4b6020820152908101829052600090606001612287565b6122cc61296483612ec1565b6122cc61296483612d7a565b612977612a0f8484612db5565b6129776122b08484612e2c565b6103498061437783390190565b60008083601f840112612f4d57600080fd5b50813567ffffffffffffffff811115612f6557600080fd5b602083019150836020828501011115612f7d57600080fd5b9250929050565b60008060208385031215612f9757600080fd5b823567ffffffffffffffff811115612fae57600080fd5b612fba85828601612f3b565b90969095509350505050565b600080600060408486031215612fdb57600080fd5b833567ffffffffffffffff811115612ff257600080fd5b612ffe86828701612f3b565b909790965060209590950135949350505050565b60006020828403121561302457600080fd5b5035919050565b6020808252825182820181905260009190848201906040850190845b8181101561306c5783516001600160a01b031683529284019291840191600101613047565b50909695505050505050565b600080600080600080600080600060c08a8c03121561309657600080fd5b8935985060208a013567ffffffffffffffff808211156130b557600080fd5b6130c18d838e01612f3b565b909a50985060408c01359150808211156130da57600080fd5b6130e68d838e01612f3b565b909850965060608c0135955060808c013591508082111561310657600080fd5b506131138c828d01612f3b565b9a9d999c50979a9699959894979660a00135949350505050565b6000806000806000806060878903121561314657600080fd5b863567ffffffffffffffff8082111561315e57600080fd5b61316a8a838b01612f3b565b9098509650602089013591508082111561318357600080fd5b61318f8a838b01612f3b565b909650945060408901359150808211156131a857600080fd5b506131b589828a01612f3b565b979a9699509497509295939492505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715613206576132066131c7565b604052919050565b600067ffffffffffffffff821115613228576132286131c7565b50601f01601f191660200190565b600082601f83011261324757600080fd5b813561325a6132558261320e565b6131dd565b81815284602083860101111561326f57600080fd5b816020850160208301376000918101602001919091529392505050565b60006020828403121561329e57600080fd5b813567ffffffffffffffff8111156132b557600080fd5b6128cd84828501613236565b60008060008060008060006080888a0312156132dc57600080fd5b873567ffffffffffffffff808211156132f457600080fd5b6133008b838c01612f3b565b909950975060208a013591508082111561331957600080fd5b6133258b838c01612f3b565b909750955060408a013591508082111561333e57600080fd5b5061334b8a828b01612f3b565b989b979a50959894979596606090950135949350505050565b6000806000806000806080878903121561337d57600080fd5b86359550602087013567ffffffffffffffff8082111561339c57600080fd5b6133a88a838b01612f3b565b909750955060408901359150808211156133c157600080fd5b506133ce89828a01612f3b565b979a9699509497949695606090950135949350505050565b60008083601f8401126133f857600080fd5b50813567ffffffffffffffff81111561341057600080fd5b6020830191508360208260051b8501011115612f7d57600080fd5b6000806000806040858703121561344157600080fd5b843567ffffffffffffffff8082111561345957600080fd5b613465888389016133e6565b9096509450602087013591508082111561347e57600080fd5b5061348b878288016133e6565b95989497509550505050565b60005b838110156134b257818101518382015260200161349a565b838111156115b25750506000910152565b600081518084526134db816020860160208601613497565b601f01601f19169290920160200192915050565b60208152600061248a60208301846134c3565b6001600160a01b0381168114612a7a57600080fd5b6000806000806060858703121561352d57600080fd5b843561353881613502565b935060208501359250604085013567ffffffffffffffff81111561355b57600080fd5b61348b87828801612f3b565b600080600080600080600080600060a08a8c03121561358557600080fd5b893567ffffffffffffffff8082111561359d57600080fd5b6135a98d838e01612f3b565b909b50995060208c01359150808211156135c257600080fd5b6135ce8d838e01612f3b565b909950975060408c01359150808211156135e757600080fd5b6135f38d838e01612f3b565b909750955060608c013591508082111561360c57600080fd5b506136198c828d01612f3b565b9a9d999c50979a9699959894979660800135949350505050565b60008060008060008060008060008060e08b8d03121561365257600080fd5b8a35995060208b013567ffffffffffffffff8082111561367157600080fd5b61367d8e838f01612f3b565b909b50995060408d013591508082111561369657600080fd5b6136a28e838f01612f3b565b909950975060608d013591506136b782613502565b90955060808c0135945060a08c013590808211156136d457600080fd5b506136e18d828e01612f3b565b9150809450508092505060c08b013590509295989b9194979a5092959850565b600080600080600080600060a0888a03121561371c57600080fd5b87359650602088013567ffffffffffffffff8082111561373b57600080fd5b6137478b838c01612f3b565b909850965060408a013591508082111561376057600080fd5b5061376d8a828b01612f3b565b909550935050606088013561378181613502565b809250506080880135905092959891949750929550565b600080604083850312156137ab57600080fd5b823567ffffffffffffffff808211156137c357600080fd5b6137cf86838701613236565b935060208501359150808211156137e557600080fd5b506137f285828601613236565b9150509250929050565b8281526040602082015260006128cd60408301846134c3565b8051801515811461382557600080fd5b919050565b60006020828403121561383c57600080fd5b61248a82613815565b600067ffffffffffffffff82111561385f5761385f6131c7565b5060051b60200190565b60006138776132558461320e565b905082815283838301111561388b57600080fd5b61248a836020830184613497565b600082601f8301126138aa57600080fd5b815160206138ba61325583613845565b82815260059290921b840181019181810190868411156138d957600080fd5b8286015b8481101561133057805167ffffffffffffffff8111156138fd5760008081fd5b8701603f8101891361390f5760008081fd5b613920898683015160408401613869565b8452509183019183016138dd565b600082601f83011261393f57600080fd5b61248a83835160208501613869565b600082601f83011261395f57600080fd5b8151602061396f61325583613845565b82815260059290921b8401810191818101908684111561398e57600080fd5b8286015b8481101561133057805167ffffffffffffffff8111156139b25760008081fd5b6139c08986838b010161392e565b845250918301918301613992565b600080600080608085870312156139e457600080fd5b8451935060208086015167ffffffffffffffff80821115613a0457600080fd5b818801915088601f830112613a1857600080fd5b8151613a2661325582613845565b81815260059190911b8301840190848101908b831115613a4557600080fd5b938501935b82851015613a6357845182529385019390850190613a4a565b60408b01519098509450505080831115613a7c57600080fd5b613a8889848a01613899565b94506060880151925080831115613a9e57600080fd5b5050613aac8782880161394e565b91505092959194509250565b634e487b7160e01b600052603260045260246000fd5b60008251613ae0818460208701613497565b9190910192915050565b604081526000613afd60408301856134c3565b90508260208301529392505050565b634e487b7160e01b600052601160045260246000fd5b6000600019821415613b3657613b36613b0c565b5060010190565b803561382581613502565b600080600060608486031215613b5d57600080fd5b833567ffffffffffffffff811115613b7457600080fd5b613b8086828701613236565b9350506020840135613b9181613502565b929592945050506040919091013590565b8183823760009101908152919050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b606081526000613bef60608301888a613bb2565b8281036020840152613c02818789613bb2565b90508281036040840152613c17818587613bb2565b9998505050505050505050565b608081526000613c3860808301898b613bb2565b8281036020840152613c4b81888a613bb2565b90508281036040840152613c60818688613bb2565b91505082606083015298975050505050505050565b60008060408385031215613c8857600080fd5b823567ffffffffffffffff811115613c9f57600080fd5b613cab85828601613236565b95602094909401359450505050565b634e487b7160e01b600052602160045260246000fd5b600060208284031215613ce257600080fd5b5051919050565b6001600160a01b03831681526040602082015260006128cd60408301846134c3565b60008060408385031215613d1e57600080fd5b613d2783613815565b9150602083015167ffffffffffffffff811115613d4357600080fd5b6137f28582860161392e565b600080600080600080600080610100898b031215613d6c57600080fd5b883567ffffffffffffffff80821115613d8457600080fd5b613d908c838d01613236565b995060208b0135915080821115613da657600080fd5b613db28c838d01613236565b9850613dc060408c01613b3d565b975060608b0135965060808b0135915080821115613ddd57600080fd5b50613dea8b828c01613236565b989b979a50959894979660a0860135965060c08601359560e00135945092505050565b60c081526000613e2060c08301896134c3565b8281036020840152613e3281896134c3565b90508281036040840152613e4681886134c3565b60608401969096525050608081019290925260a0909101529392505050565b60008219821115613e7857613e78613b0c565b500190565b6000808335601e19843603018112613e9457600080fd5b83018035915067ffffffffffffffff821115613eaf57600080fd5b602001915036819003821315612f7d57600080fd5b60008060008060008060c08789031215613edd57600080fd5b863567ffffffffffffffff80821115613ef557600080fd5b613f018a838b01613236565b97506020890135915080821115613f1757600080fd5b50613f2489828a01613236565b955050604087013560ff81168114613f3b57600080fd5b9350606087013592506080870135613f5281613502565b8092505060a087013590509295509295509295565b60a081526000613f7a60a08301886134c3565b8281036020840152613f8c81886134c3565b60ff9690961660408401525050606081019290925260809091015292915050565b600060208284031215613fbf57600080fd5b815161248a81613502565b604081526000613fdd60408301856134c3565b90506001600160a01b03831660208301529392505050565b6020815260006128cd602083018486613bb2565b600181811c9082168061401d57607f821691505b6020821081141561403e57634e487b7160e01b600052602260045260246000fd5b50919050565b60008060006060848603121561405957600080fd5b833567ffffffffffffffff8082111561407157600080fd5b818601915086601f83011261408557600080fd5b8135602061409561325583613845565b82815260059290921b8401810191818101908a8411156140b457600080fd5b948201945b838610156140db5785356140cc81613502565b825294820194908201906140b9565b97505087013594505060408601359150808211156140f857600080fd5b5061410586828701613236565b9150509250925092565b60a08152600061412360a083018b8d613bb2565b8281036020840152614136818a8c613bb2565b9050828103604084015261414b81888a613bb2565b90508281036060840152614160818688613bb2565b9150508260808301529a9950505050505050505050565b60008261419457634e487b7160e01b600052601260045260246000fd5b500490565b60008060008060008060c087890312156141b257600080fd5b863567ffffffffffffffff808211156141ca57600080fd5b6141d68a838b01613236565b975060208901359150808211156141ec57600080fd5b506141f989828a01613236565b955050604087013561420a81613502565b959894975094956060810135955060808101359460a0909101359350915050565b60808152600061423e60808301876134c3565b828103602084015261425081876134c3565b604084019590955250506060015292915050565b60006101008a83528960208401528060408401526142848184018a6134c3565b9050828103606084015261429881896134c3565b90506001600160a01b03871660808401528560a084015282810360c08401526142c181866134c3565b9150508260e08301529998505050505050505050565b828152600082516142ef816020850160208701613497565b919091016020019392505050565b86815285602082015260c06040820152600061431c60c08301876134c3565b828103606084015261432e81876134c3565b6001600160a01b03959095166080840152505060a00152949350505050565b83815260606020820152600061436660608301856134c3565b905082604083015294935050505056fe6080604052600160005534801561001557600080fd5b50610324806100256000396000f3fe608060405234801561001057600080fd5b50600436106100355760003560e01c8062f55d9d1461003a5780631cff79cd1461004f575b600080fd5b61004d6100483660046101da565b610079565b005b61006261005d3660046101fc565b6100bb565b60405161007092919061027f565b60405180910390f35b6002600054141561009d5760405163caa30f5560e01b815260040160405180910390fd5b600260005573ffffffffffffffffffffffffffffffffffffffff8116ff5b60006060600260005414156100e35760405163caa30f5560e01b815260040160405180910390fd5b600260005573ffffffffffffffffffffffffffffffffffffffff85163b610136576040517f6f7c43f100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8473ffffffffffffffffffffffffffffffffffffffff16848460405161015d9291906102de565b6000604051808303816000865af19150503d806000811461019a576040519150601f19603f3d011682016040523d82523d6000602084013e61019f565b606091505b50600160005590969095509350505050565b803573ffffffffffffffffffffffffffffffffffffffff811681146101d557600080fd5b919050565b6000602082840312156101ec57600080fd5b6101f5826101b1565b9392505050565b60008060006040848603121561021157600080fd5b61021a846101b1565b9250602084013567ffffffffffffffff8082111561023757600080fd5b818601915086601f83011261024b57600080fd5b81358181111561025a57600080fd5b87602082850101111561026c57600080fd5b6020830194508093505050509250925092565b821515815260006020604081840152835180604085015260005b818110156102b557858101830151858201606001528201610299565b818111156102c7576000606083870101525b50601f01601f191692909201606001949350505050565b818382376000910190815291905056fea2646970667358221220dfb702492c35c6a884ac11997b483e3fee4ff8145c7abb0799d2a2fc8674c39364736f6c63430008090033a2646970667358221220dc548d17af80e97d180d0272635e72abcf1708c4b6eb58d2f6544f6247efb70064736f6c63430008090033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/AxelarGatewayProxy.sol/AxelarGatewayProxy.dbg.json b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/AxelarGatewayProxy.sol/AxelarGatewayProxy.dbg.json deleted file mode 100644 index ad925cc8..00000000 --- a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/AxelarGatewayProxy.sol/AxelarGatewayProxy.dbg.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "_format": "hh-sol-dbg-1", - "buildInfo": "../../../../build-info/3aa2fc6680ec7dd0d7e17835f8008fcc.json" -} diff --git a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/AxelarGatewayProxy.sol/AxelarGatewayProxy.json b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/AxelarGatewayProxy.sol/AxelarGatewayProxy.json deleted file mode 100644 index 537dc754..00000000 --- a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/AxelarGatewayProxy.sol/AxelarGatewayProxy.json +++ /dev/null @@ -1,177 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "AxelarGatewayProxy", - "sourceName": "@axelar-network/axelar-cgp-solidity/contracts/AxelarGatewayProxy.sol", - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "gatewayImplementation", - "type": "address" - }, - { - "internalType": "bytes", - "name": "params", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "name": "InvalidImplementation", - "type": "error" - }, - { - "inputs": [], - "name": "NativeCurrencyNotAccepted", - "type": "error" - }, - { - "inputs": [], - "name": "SetupFailed", - "type": "error" - }, - { - "stateMutability": "payable", - "type": "fallback" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "key", - "type": "bytes32" - } - ], - "name": "getAddress", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "key", - "type": "bytes32" - } - ], - "name": "getBool", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "key", - "type": "bytes32" - } - ], - "name": "getBytes", - "outputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "key", - "type": "bytes32" - } - ], - "name": "getInt", - "outputs": [ - { - "internalType": "int256", - "name": "", - "type": "int256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "key", - "type": "bytes32" - } - ], - "name": "getString", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "key", - "type": "bytes32" - } - ], - "name": "getUint", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "params", - "type": "bytes" - } - ], - "name": "setup", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "stateMutability": "payable", - "type": "receive" - } - ], - "bytecode": "0x608060405234801561001057600080fd5b506040516107e93803806107e983398101604081905261002f916101cd565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60005260026020527f11141f466c69fd409e1990e063b49cd6d61ed2ecff27a2e402e259ca6b9a01a380546001600160a01b0319166001600160a01b0384161790556001600160a01b0382163b6100ba5760405163340aafcd60e11b815260040160405180910390fd5b6000826001600160a01b0316639ded06df60e01b836040516024016100df919061029b565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b031990941693909317909252905161011d91906102ce565b600060405180830381855af49150503d8060008114610158576040519150601f19603f3d011682016040523d82523d6000602084013e61015d565b606091505b505090508061017f576040516397905dfb60e01b815260040160405180910390fd5b5050506102ea565b634e487b7160e01b600052604160045260246000fd5b60005b838110156101b85781810151838201526020016101a0565b838111156101c7576000848401525b50505050565b600080604083850312156101e057600080fd5b82516001600160a01b03811681146101f757600080fd5b60208401519092506001600160401b038082111561021457600080fd5b818501915085601f83011261022857600080fd5b81518181111561023a5761023a610187565b604051601f8201601f19908116603f0116810190838211818310171561026257610262610187565b8160405282815288602084870101111561027b57600080fd5b61028c83602083016020880161019d565b80955050505050509250929050565b60208152600082518060208401526102ba81604085016020870161019d565b601f01601f19169190910160400192915050565b600082516102e081846020870161019d565b9190910192915050565b6104f0806102f96000396000f3fe6080604052600436106100745760003560e01c80639ded06df1161004e5780639ded06df1461020c578063bd02d0f51461022d578063c031a18014610268578063dc97d96214610288576100ab565b806321f8a721146101325780637ae1cfca1461019f578063986e791a146101df576100ab565b366100ab576040517f858d70bd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc600090815260026020527f11141f466c69fd409e1990e063b49cd6d61ed2ecff27a2e402e259ca6b9a01a35473ffffffffffffffffffffffffffffffffffffffff169036908037600080366000845af43d6000803e80801561012d573d6000f35b3d6000fd5b34801561013e57600080fd5b5061017561014d366004610374565b60009081526002602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b3480156101ab57600080fd5b506101cf6101ba366004610374565b60009081526004602052604090205460ff1690565b6040519015158152602001610196565b3480156101eb57600080fd5b506101ff6101fa366004610374565b6102b5565b60405161019691906103da565b34801561021857600080fd5b5061022b6102273660046103f4565b5050565b005b34801561023957600080fd5b5061025a610248366004610374565b60009081526020819052604090205490565b604051908152602001610196565b34801561027457600080fd5b506101ff610283366004610374565b610357565b34801561029457600080fd5b5061025a6102a3366004610374565b60009081526005602052604090205490565b60008181526001602052604090208054606091906102d290610466565b80601f01602080910402602001604051908101604052809291908181526020018280546102fe90610466565b801561034b5780601f106103205761010080835404028352916020019161034b565b820191906000526020600020905b81548152906001019060200180831161032e57829003601f168201915b50505050509050919050565b60008181526003602052604090208054606091906102d290610466565b60006020828403121561038657600080fd5b5035919050565b6000815180845260005b818110156103b357602081850181015186830182015201610397565b818111156103c5576000602083870101525b50601f01601f19169290920160200192915050565b6020815260006103ed602083018461038d565b9392505050565b6000806020838503121561040757600080fd5b823567ffffffffffffffff8082111561041f57600080fd5b818501915085601f83011261043357600080fd5b81358181111561044257600080fd5b86602082850101111561045457600080fd5b60209290920196919550909350505050565b600181811c9082168061047a57607f821691505b602082108114156104b4577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b5091905056fea2646970667358221220fd6cfb26423ca357ce6ba49b124ceb7fd46b20b0659b30b17529b45a13a0d34564736f6c63430008090033", - "deployedBytecode": "0x6080604052600436106100745760003560e01c80639ded06df1161004e5780639ded06df1461020c578063bd02d0f51461022d578063c031a18014610268578063dc97d96214610288576100ab565b806321f8a721146101325780637ae1cfca1461019f578063986e791a146101df576100ab565b366100ab576040517f858d70bd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc600090815260026020527f11141f466c69fd409e1990e063b49cd6d61ed2ecff27a2e402e259ca6b9a01a35473ffffffffffffffffffffffffffffffffffffffff169036908037600080366000845af43d6000803e80801561012d573d6000f35b3d6000fd5b34801561013e57600080fd5b5061017561014d366004610374565b60009081526002602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b3480156101ab57600080fd5b506101cf6101ba366004610374565b60009081526004602052604090205460ff1690565b6040519015158152602001610196565b3480156101eb57600080fd5b506101ff6101fa366004610374565b6102b5565b60405161019691906103da565b34801561021857600080fd5b5061022b6102273660046103f4565b5050565b005b34801561023957600080fd5b5061025a610248366004610374565b60009081526020819052604090205490565b604051908152602001610196565b34801561027457600080fd5b506101ff610283366004610374565b610357565b34801561029457600080fd5b5061025a6102a3366004610374565b60009081526005602052604090205490565b60008181526001602052604090208054606091906102d290610466565b80601f01602080910402602001604051908101604052809291908181526020018280546102fe90610466565b801561034b5780601f106103205761010080835404028352916020019161034b565b820191906000526020600020905b81548152906001019060200180831161032e57829003601f168201915b50505050509050919050565b60008181526003602052604090208054606091906102d290610466565b60006020828403121561038657600080fd5b5035919050565b6000815180845260005b818110156103b357602081850181015186830182015201610397565b818111156103c5576000602083870101525b50601f01601f19169290920160200192915050565b6020815260006103ed602083018461038d565b9392505050565b6000806020838503121561040757600080fd5b823567ffffffffffffffff8082111561041f57600080fd5b818501915085601f83011261043357600080fd5b81358181111561044257600080fd5b86602082850101111561045457600080fd5b60209290920196919550909350505050565b600181811c9082168061047a57607f821691505b602082108114156104b4577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b5091905056fea2646970667358221220fd6cfb26423ca357ce6ba49b124ceb7fd46b20b0659b30b17529b45a13a0d34564736f6c63430008090033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/BurnableMintableCappedERC20.sol/BurnableMintableCappedERC20.dbg.json b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/BurnableMintableCappedERC20.sol/BurnableMintableCappedERC20.dbg.json deleted file mode 100644 index ad925cc8..00000000 --- a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/BurnableMintableCappedERC20.sol/BurnableMintableCappedERC20.dbg.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "_format": "hh-sol-dbg-1", - "buildInfo": "../../../../build-info/3aa2fc6680ec7dd0d7e17835f8008fcc.json" -} diff --git a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/BurnableMintableCappedERC20.sol/BurnableMintableCappedERC20.json b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/BurnableMintableCappedERC20.sol/BurnableMintableCappedERC20.json deleted file mode 100644 index d38194c1..00000000 --- a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/BurnableMintableCappedERC20.sol/BurnableMintableCappedERC20.json +++ /dev/null @@ -1,548 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "BurnableMintableCappedERC20", - "sourceName": "@axelar-network/axelar-cgp-solidity/contracts/BurnableMintableCappedERC20.sol", - "abi": [ - { - "inputs": [ - { - "internalType": "string", - "name": "name", - "type": "string" - }, - { - "internalType": "string", - "name": "symbol", - "type": "string" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "capacity", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "name": "CapExceeded", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidAccount", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidOwner", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidS", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidSignature", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidV", - "type": "error" - }, - { - "inputs": [], - "name": "NotOwner", - "type": "error" - }, - { - "inputs": [], - "name": "PermitExpired", - "type": "error" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Approval", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "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": "DOMAIN_SEPARATOR", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "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": "", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "salt", - "type": "bytes32" - } - ], - "name": "burn", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "burnFrom", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "cap", - "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": "salt", - "type": "bytes32" - } - ], - "name": "depositAddress", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "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": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "nonces", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "issuer", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "deadline", - "type": "uint256" - }, - { - "internalType": "uint8", - "name": "v", - "type": "uint8" - }, - { - "internalType": "bytes32", - "name": "r", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "s", - "type": "bytes32" - } - ], - "name": "permit", - "outputs": [], - "stateMutability": "nonpayable", - "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" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x60e06040523480156200001157600080fd5b5060405162001837380380620018378339810160408190526200003491620002e1565b83838383838484848260039080519060200190620000549291906200016e565b5081516200006a9060049060208501906200016e565b5060ff166080908152835160208086019190912060408051808201825260018152603160f81b9084015280517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f938101939093528201527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6606082015246918101919091523060a082015260c0019150620001029050565b60408051601f1981840301815290829052805160209091012060a052600680546001600160a01b0319163390811790915591506000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a360c05250620003a995505050505050565b8280546200017c906200036c565b90600052602060002090601f016020900481019282620001a05760008555620001eb565b82601f10620001bb57805160ff1916838001178555620001eb565b82800160010185558215620001eb579182015b82811115620001eb578251825591602001919060010190620001ce565b50620001f9929150620001fd565b5090565b5b80821115620001f95760008155600101620001fe565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200023c57600080fd5b81516001600160401b038082111562000259576200025962000214565b604051601f8301601f19908116603f0116810190828211818310171562000284576200028462000214565b81604052838152602092508683858801011115620002a157600080fd5b600091505b83821015620002c55785820183015181830184015290820190620002a6565b83821115620002d75760008385830101525b9695505050505050565b60008060008060808587031215620002f857600080fd5b84516001600160401b03808211156200031057600080fd5b6200031e888389016200022a565b955060208701519150808211156200033557600080fd5b5062000344878288016200022a565b935050604085015160ff811681146200035c57600080fd5b6060959095015193969295505050565b600181811c908216806200038157607f821691505b60208210811415620003a357634e487b7160e01b600052602260045260246000fd5b50919050565b60805160a05160c051611450620003e760003960008181610265015261067301526000818161028c01526108de0152600061020101526114506000f3fe608060405234801561001057600080fd5b50600436106101775760003560e01c806340c10f19116100d857806395d89b411161008c578063d505accf11610066578063d505accf14610368578063dd62ed3e1461037b578063f2fde38b146103a657600080fd5b806395d89b411461033a578063a457c2d714610342578063a9059cbb1461035557600080fd5b806379cc6790116100bd57806379cc6790146102f45780637ecebe00146103075780638da5cb5b1461032757600080fd5b806340c10f19146102c157806370a08231146102d457600080fd5b8063313ce5671161012f578063355274ea11610114578063355274ea146102605780633644e5151461028757806339509351146102ae57600080fd5b8063313ce567146101fc57806331eecaf41461023557600080fd5b8063095ea7b311610160578063095ea7b3146101af57806318160ddd146101d257806323b872dd146101e957600080fd5b806306fdde031461017c57806308a1eee11461019a575b600080fd5b6101846103b9565b6040516101919190610e5d565b60405180910390f35b6101ad6101a8366004610e90565b610447565b005b6101c26101bd366004610ec5565b6104a8565b6040519015158152602001610191565b6101db60025481565b604051908152602001610191565b6101c26101f7366004610eef565b6104be565b6102237f000000000000000000000000000000000000000000000000000000000000000081565b60405160ff9091168152602001610191565b610248610243366004610e90565b610515565b6040516001600160a01b039091168152602001610191565b6101db7f000000000000000000000000000000000000000000000000000000000000000081565b6101db7f000000000000000000000000000000000000000000000000000000000000000081565b6101c26102bc366004610ec5565b61060f565b6101ad6102cf366004610ec5565b610646565b6101db6102e2366004610f2b565b60006020819052908152604090205481565b6101ad610302366004610ec5565b6106e7565b6101db610315366004610f2b565b60056020526000908152604090205481565b600654610248906001600160a01b031681565b610184610758565b6101c2610350366004610ec5565b610765565b6101c2610363366004610ec5565b61079c565b6101ad610376366004610f4d565b6107a9565b6101db610389366004610fc0565b600160209081526000928352604080842090915290825290205481565b6101ad6103b4366004610f2b565b610a6c565b600380546103c690610ff3565b80601f01602080910402602001604051908101604052809291908181526020018280546103f290610ff3565b801561043f5780601f106104145761010080835404028352916020019161043f565b820191906000526020600020905b81548152906001019060200180831161042257829003601f168201915b505050505081565b6006546001600160a01b03163314610472576040516330cd747160e01b815260040160405180910390fd5b600061047d82610515565b6001600160a01b0381166000908152602081905260409020549091506104a4908290610b4b565b5050565b60006104b5338484610bfe565b50600192915050565b6001600160a01b038316600090815260016020908152604080832033845290915281205460001981146104ff576104ff85336104fa8685611044565b610bfe565b61050a858585610c9b565b506001949350505050565b6006546040516000917fff00000000000000000000000000000000000000000000000000000000000000916001600160a01b0390911690849061055a60208201610e20565b601f1982820381018352601f90910116604081905261057c919060200161105b565b604051602081830303815290604052805190602001206040516020016105f194939291907fff0000000000000000000000000000000000000000000000000000000000000094909416845260609290921b6bffffffffffffffffffffffff191660018401526015830152603582015260550190565b60408051601f19818403018152919052805160209091012092915050565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916104b59185906104fa908690611077565b6006546001600160a01b03163314610671576040516330cd747160e01b815260040160405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000061069c8383610d77565b806106a657505050565b8060025411156106e2576040517fa4875a4900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050565b6006546001600160a01b03163314610712576040516330cd747160e01b815260040160405180910390fd5b6001600160a01b0382166000908152600160209081526040808320338452909152902054600019811461074e5761074e83336104fa8585611044565b6106e28383610b4b565b600480546103c690610ff3565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916104b59185906104fa908690611044565b60006104b5338484610c9b565b834211156107e3576040517f1a15a3cc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a081111561083d576040517f40c1e74800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8260ff16601b1415801561085557508260ff16601c14155b1561088c576040517f119bce3900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080518082018252600281527f19010000000000000000000000000000000000000000000000000000000000006020808301919091526001600160a01b038a166000908152600590915291822080547f0000000000000000000000000000000000000000000000000000000000000000917f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9918c918c918c91886109308361108f565b909155506040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810188905260e00160405160208183030381529060405280519060200120604051602001610994939291906110aa565b60408051601f198184030181528282528051602091820120600080855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa1580156109ff573d6000803e3d6000fd5b505050602060405103519050886001600160a01b0316816001600160a01b031614610a56576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610a61898989610bfe565b505050505050505050565b6006546001600160a01b03163314610a97576040516330cd747160e01b815260040160405180910390fd5b6001600160a01b038116610ad7576040517f49e27cff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6006546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600680547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b6001600160a01b038216610b7257604051630da30f6560e31b815260040160405180910390fd5b6001600160a01b03821660009081526020819052604081208054839290610b9a908490611044565b925050819055508060026000828254610bb39190611044565b90915550506040518181526000906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906020015b60405180910390a35050565b6001600160a01b0383161580610c1b57506001600160a01b038216155b15610c3957604051630da30f6560e31b815260040160405180910390fd5b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b0383161580610cb857506001600160a01b038216155b15610cd657604051630da30f6560e31b815260040160405180910390fd5b6001600160a01b03831660009081526020819052604081208054839290610cfe908490611044565b90915550506001600160a01b03821660009081526020819052604081208054839290610d2b908490611077565b92505081905550816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610c8e91815260200190565b6001600160a01b038216610d9e57604051630da30f6560e31b815260040160405180910390fd5b8060026000828254610db09190611077565b90915550506001600160a01b03821660009081526020819052604081208054839290610ddd908490611077565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90602001610bf2565b610349806110d283390190565b60005b83811015610e48578181015183820152602001610e30565b83811115610e57576000848401525b50505050565b6020815260008251806020840152610e7c816040850160208701610e2d565b601f01601f19169190910160400192915050565b600060208284031215610ea257600080fd5b5035919050565b80356001600160a01b0381168114610ec057600080fd5b919050565b60008060408385031215610ed857600080fd5b610ee183610ea9565b946020939093013593505050565b600080600060608486031215610f0457600080fd5b610f0d84610ea9565b9250610f1b60208501610ea9565b9150604084013590509250925092565b600060208284031215610f3d57600080fd5b610f4682610ea9565b9392505050565b600080600080600080600060e0888a031215610f6857600080fd5b610f7188610ea9565b9650610f7f60208901610ea9565b95506040880135945060608801359350608088013560ff81168114610fa357600080fd5b9699959850939692959460a0840135945060c09093013592915050565b60008060408385031215610fd357600080fd5b610fdc83610ea9565b9150610fea60208401610ea9565b90509250929050565b600181811c9082168061100757607f821691505b6020821081141561102857634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b6000828210156110565761105661102e565b500390565b6000825161106d818460208701610e2d565b9190910192915050565b6000821982111561108a5761108a61102e565b500190565b60006000198214156110a3576110a361102e565b5060010190565b600084516110bc818460208901610e2d565b9190910192835250602082015260400191905056fe6080604052600160005534801561001557600080fd5b50610324806100256000396000f3fe608060405234801561001057600080fd5b50600436106100355760003560e01c8062f55d9d1461003a5780631cff79cd1461004f575b600080fd5b61004d6100483660046101da565b610079565b005b61006261005d3660046101fc565b6100bb565b60405161007092919061027f565b60405180910390f35b6002600054141561009d5760405163caa30f5560e01b815260040160405180910390fd5b600260005573ffffffffffffffffffffffffffffffffffffffff8116ff5b60006060600260005414156100e35760405163caa30f5560e01b815260040160405180910390fd5b600260005573ffffffffffffffffffffffffffffffffffffffff85163b610136576040517f6f7c43f100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8473ffffffffffffffffffffffffffffffffffffffff16848460405161015d9291906102de565b6000604051808303816000865af19150503d806000811461019a576040519150601f19603f3d011682016040523d82523d6000602084013e61019f565b606091505b50600160005590969095509350505050565b803573ffffffffffffffffffffffffffffffffffffffff811681146101d557600080fd5b919050565b6000602082840312156101ec57600080fd5b6101f5826101b1565b9392505050565b60008060006040848603121561021157600080fd5b61021a846101b1565b9250602084013567ffffffffffffffff8082111561023757600080fd5b818601915086601f83011261024b57600080fd5b81358181111561025a57600080fd5b87602082850101111561026c57600080fd5b6020830194508093505050509250925092565b821515815260006020604081840152835180604085015260005b818110156102b557858101830151858201606001528201610299565b818111156102c7576000606083870101525b50601f01601f191692909201606001949350505050565b818382376000910190815291905056fea2646970667358221220dfb702492c35c6a884ac11997b483e3fee4ff8145c7abb0799d2a2fc8674c39364736f6c63430008090033a26469706673582212200c91fd2c0c0716a838a82654afcb7fba074539452c7c6cd867f9add7ce181d4a64736f6c63430008090033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101775760003560e01c806340c10f19116100d857806395d89b411161008c578063d505accf11610066578063d505accf14610368578063dd62ed3e1461037b578063f2fde38b146103a657600080fd5b806395d89b411461033a578063a457c2d714610342578063a9059cbb1461035557600080fd5b806379cc6790116100bd57806379cc6790146102f45780637ecebe00146103075780638da5cb5b1461032757600080fd5b806340c10f19146102c157806370a08231146102d457600080fd5b8063313ce5671161012f578063355274ea11610114578063355274ea146102605780633644e5151461028757806339509351146102ae57600080fd5b8063313ce567146101fc57806331eecaf41461023557600080fd5b8063095ea7b311610160578063095ea7b3146101af57806318160ddd146101d257806323b872dd146101e957600080fd5b806306fdde031461017c57806308a1eee11461019a575b600080fd5b6101846103b9565b6040516101919190610e5d565b60405180910390f35b6101ad6101a8366004610e90565b610447565b005b6101c26101bd366004610ec5565b6104a8565b6040519015158152602001610191565b6101db60025481565b604051908152602001610191565b6101c26101f7366004610eef565b6104be565b6102237f000000000000000000000000000000000000000000000000000000000000000081565b60405160ff9091168152602001610191565b610248610243366004610e90565b610515565b6040516001600160a01b039091168152602001610191565b6101db7f000000000000000000000000000000000000000000000000000000000000000081565b6101db7f000000000000000000000000000000000000000000000000000000000000000081565b6101c26102bc366004610ec5565b61060f565b6101ad6102cf366004610ec5565b610646565b6101db6102e2366004610f2b565b60006020819052908152604090205481565b6101ad610302366004610ec5565b6106e7565b6101db610315366004610f2b565b60056020526000908152604090205481565b600654610248906001600160a01b031681565b610184610758565b6101c2610350366004610ec5565b610765565b6101c2610363366004610ec5565b61079c565b6101ad610376366004610f4d565b6107a9565b6101db610389366004610fc0565b600160209081526000928352604080842090915290825290205481565b6101ad6103b4366004610f2b565b610a6c565b600380546103c690610ff3565b80601f01602080910402602001604051908101604052809291908181526020018280546103f290610ff3565b801561043f5780601f106104145761010080835404028352916020019161043f565b820191906000526020600020905b81548152906001019060200180831161042257829003601f168201915b505050505081565b6006546001600160a01b03163314610472576040516330cd747160e01b815260040160405180910390fd5b600061047d82610515565b6001600160a01b0381166000908152602081905260409020549091506104a4908290610b4b565b5050565b60006104b5338484610bfe565b50600192915050565b6001600160a01b038316600090815260016020908152604080832033845290915281205460001981146104ff576104ff85336104fa8685611044565b610bfe565b61050a858585610c9b565b506001949350505050565b6006546040516000917fff00000000000000000000000000000000000000000000000000000000000000916001600160a01b0390911690849061055a60208201610e20565b601f1982820381018352601f90910116604081905261057c919060200161105b565b604051602081830303815290604052805190602001206040516020016105f194939291907fff0000000000000000000000000000000000000000000000000000000000000094909416845260609290921b6bffffffffffffffffffffffff191660018401526015830152603582015260550190565b60408051601f19818403018152919052805160209091012092915050565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916104b59185906104fa908690611077565b6006546001600160a01b03163314610671576040516330cd747160e01b815260040160405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000061069c8383610d77565b806106a657505050565b8060025411156106e2576040517fa4875a4900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050565b6006546001600160a01b03163314610712576040516330cd747160e01b815260040160405180910390fd5b6001600160a01b0382166000908152600160209081526040808320338452909152902054600019811461074e5761074e83336104fa8585611044565b6106e28383610b4b565b600480546103c690610ff3565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916104b59185906104fa908690611044565b60006104b5338484610c9b565b834211156107e3576040517f1a15a3cc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a081111561083d576040517f40c1e74800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8260ff16601b1415801561085557508260ff16601c14155b1561088c576040517f119bce3900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080518082018252600281527f19010000000000000000000000000000000000000000000000000000000000006020808301919091526001600160a01b038a166000908152600590915291822080547f0000000000000000000000000000000000000000000000000000000000000000917f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9918c918c918c91886109308361108f565b909155506040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810188905260e00160405160208183030381529060405280519060200120604051602001610994939291906110aa565b60408051601f198184030181528282528051602091820120600080855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa1580156109ff573d6000803e3d6000fd5b505050602060405103519050886001600160a01b0316816001600160a01b031614610a56576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610a61898989610bfe565b505050505050505050565b6006546001600160a01b03163314610a97576040516330cd747160e01b815260040160405180910390fd5b6001600160a01b038116610ad7576040517f49e27cff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6006546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600680547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b6001600160a01b038216610b7257604051630da30f6560e31b815260040160405180910390fd5b6001600160a01b03821660009081526020819052604081208054839290610b9a908490611044565b925050819055508060026000828254610bb39190611044565b90915550506040518181526000906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906020015b60405180910390a35050565b6001600160a01b0383161580610c1b57506001600160a01b038216155b15610c3957604051630da30f6560e31b815260040160405180910390fd5b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b0383161580610cb857506001600160a01b038216155b15610cd657604051630da30f6560e31b815260040160405180910390fd5b6001600160a01b03831660009081526020819052604081208054839290610cfe908490611044565b90915550506001600160a01b03821660009081526020819052604081208054839290610d2b908490611077565b92505081905550816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610c8e91815260200190565b6001600160a01b038216610d9e57604051630da30f6560e31b815260040160405180910390fd5b8060026000828254610db09190611077565b90915550506001600160a01b03821660009081526020819052604081208054839290610ddd908490611077565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90602001610bf2565b610349806110d283390190565b60005b83811015610e48578181015183820152602001610e30565b83811115610e57576000848401525b50505050565b6020815260008251806020840152610e7c816040850160208701610e2d565b601f01601f19169190910160400192915050565b600060208284031215610ea257600080fd5b5035919050565b80356001600160a01b0381168114610ec057600080fd5b919050565b60008060408385031215610ed857600080fd5b610ee183610ea9565b946020939093013593505050565b600080600060608486031215610f0457600080fd5b610f0d84610ea9565b9250610f1b60208501610ea9565b9150604084013590509250925092565b600060208284031215610f3d57600080fd5b610f4682610ea9565b9392505050565b600080600080600080600060e0888a031215610f6857600080fd5b610f7188610ea9565b9650610f7f60208901610ea9565b95506040880135945060608801359350608088013560ff81168114610fa357600080fd5b9699959850939692959460a0840135945060c09093013592915050565b60008060408385031215610fd357600080fd5b610fdc83610ea9565b9150610fea60208401610ea9565b90509250929050565b600181811c9082168061100757607f821691505b6020821081141561102857634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b6000828210156110565761105661102e565b500390565b6000825161106d818460208701610e2d565b9190910192915050565b6000821982111561108a5761108a61102e565b500190565b60006000198214156110a3576110a361102e565b5060010190565b600084516110bc818460208901610e2d565b9190910192835250602082015260400191905056fe6080604052600160005534801561001557600080fd5b50610324806100256000396000f3fe608060405234801561001057600080fd5b50600436106100355760003560e01c8062f55d9d1461003a5780631cff79cd1461004f575b600080fd5b61004d6100483660046101da565b610079565b005b61006261005d3660046101fc565b6100bb565b60405161007092919061027f565b60405180910390f35b6002600054141561009d5760405163caa30f5560e01b815260040160405180910390fd5b600260005573ffffffffffffffffffffffffffffffffffffffff8116ff5b60006060600260005414156100e35760405163caa30f5560e01b815260040160405180910390fd5b600260005573ffffffffffffffffffffffffffffffffffffffff85163b610136576040517f6f7c43f100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8473ffffffffffffffffffffffffffffffffffffffff16848460405161015d9291906102de565b6000604051808303816000865af19150503d806000811461019a576040519150601f19603f3d011682016040523d82523d6000602084013e61019f565b606091505b50600160005590969095509350505050565b803573ffffffffffffffffffffffffffffffffffffffff811681146101d557600080fd5b919050565b6000602082840312156101ec57600080fd5b6101f5826101b1565b9392505050565b60008060006040848603121561021157600080fd5b61021a846101b1565b9250602084013567ffffffffffffffff8082111561023757600080fd5b818601915086601f83011261024b57600080fd5b81358181111561025a57600080fd5b87602082850101111561026c57600080fd5b6020830194508093505050509250925092565b821515815260006020604081840152835180604085015260005b818110156102b557858101830151858201606001528201610299565b818111156102c7576000606083870101525b50601f01601f191692909201606001949350505050565b818382376000910190815291905056fea2646970667358221220dfb702492c35c6a884ac11997b483e3fee4ff8145c7abb0799d2a2fc8674c39364736f6c63430008090033a26469706673582212200c91fd2c0c0716a838a82654afcb7fba074539452c7c6cd867f9add7ce181d4a64736f6c63430008090033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/DepositHandler.sol/DepositHandler.dbg.json b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/DepositHandler.sol/DepositHandler.dbg.json deleted file mode 100644 index ad925cc8..00000000 --- a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/DepositHandler.sol/DepositHandler.dbg.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "_format": "hh-sol-dbg-1", - "buildInfo": "../../../../build-info/3aa2fc6680ec7dd0d7e17835f8008fcc.json" -} diff --git a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/DepositHandler.sol/DepositHandler.json b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/DepositHandler.sol/DepositHandler.json deleted file mode 100644 index 2e29676d..00000000 --- a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/DepositHandler.sol/DepositHandler.json +++ /dev/null @@ -1,63 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "DepositHandler", - "sourceName": "@axelar-network/axelar-cgp-solidity/contracts/DepositHandler.sol", - "abi": [ - { - "inputs": [], - "name": "IsLocked", - "type": "error" - }, - { - "inputs": [], - "name": "NotContract", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "etherDestination", - "type": "address" - } - ], - "name": "destroy", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "callee", - "type": "address" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "execute", - "outputs": [ - { - "internalType": "bool", - "name": "success", - "type": "bool" - }, - { - "internalType": "bytes", - "name": "returnData", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x6080604052600160005534801561001557600080fd5b50610324806100256000396000f3fe608060405234801561001057600080fd5b50600436106100355760003560e01c8062f55d9d1461003a5780631cff79cd1461004f575b600080fd5b61004d6100483660046101da565b610079565b005b61006261005d3660046101fc565b6100bb565b60405161007092919061027f565b60405180910390f35b6002600054141561009d5760405163caa30f5560e01b815260040160405180910390fd5b600260005573ffffffffffffffffffffffffffffffffffffffff8116ff5b60006060600260005414156100e35760405163caa30f5560e01b815260040160405180910390fd5b600260005573ffffffffffffffffffffffffffffffffffffffff85163b610136576040517f6f7c43f100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8473ffffffffffffffffffffffffffffffffffffffff16848460405161015d9291906102de565b6000604051808303816000865af19150503d806000811461019a576040519150601f19603f3d011682016040523d82523d6000602084013e61019f565b606091505b50600160005590969095509350505050565b803573ffffffffffffffffffffffffffffffffffffffff811681146101d557600080fd5b919050565b6000602082840312156101ec57600080fd5b6101f5826101b1565b9392505050565b60008060006040848603121561021157600080fd5b61021a846101b1565b9250602084013567ffffffffffffffff8082111561023757600080fd5b818601915086601f83011261024b57600080fd5b81358181111561025a57600080fd5b87602082850101111561026c57600080fd5b6020830194508093505050509250925092565b821515815260006020604081840152835180604085015260005b818110156102b557858101830151858201606001528201610299565b818111156102c7576000606083870101525b50601f01601f191692909201606001949350505050565b818382376000910190815291905056fea2646970667358221220dfb702492c35c6a884ac11997b483e3fee4ff8145c7abb0799d2a2fc8674c39364736f6c63430008090033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100355760003560e01c8062f55d9d1461003a5780631cff79cd1461004f575b600080fd5b61004d6100483660046101da565b610079565b005b61006261005d3660046101fc565b6100bb565b60405161007092919061027f565b60405180910390f35b6002600054141561009d5760405163caa30f5560e01b815260040160405180910390fd5b600260005573ffffffffffffffffffffffffffffffffffffffff8116ff5b60006060600260005414156100e35760405163caa30f5560e01b815260040160405180910390fd5b600260005573ffffffffffffffffffffffffffffffffffffffff85163b610136576040517f6f7c43f100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8473ffffffffffffffffffffffffffffffffffffffff16848460405161015d9291906102de565b6000604051808303816000865af19150503d806000811461019a576040519150601f19603f3d011682016040523d82523d6000602084013e61019f565b606091505b50600160005590969095509350505050565b803573ffffffffffffffffffffffffffffffffffffffff811681146101d557600080fd5b919050565b6000602082840312156101ec57600080fd5b6101f5826101b1565b9392505050565b60008060006040848603121561021157600080fd5b61021a846101b1565b9250602084013567ffffffffffffffff8082111561023757600080fd5b818601915086601f83011261024b57600080fd5b81358181111561025a57600080fd5b87602082850101111561026c57600080fd5b6020830194508093505050509250925092565b821515815260006020604081840152835180604085015260005b818110156102b557858101830151858201606001528201610299565b818111156102c7576000606083870101525b50601f01601f191692909201606001949350505050565b818382376000910190815291905056fea2646970667358221220dfb702492c35c6a884ac11997b483e3fee4ff8145c7abb0799d2a2fc8674c39364736f6c63430008090033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/ECDSA.sol/ECDSA.dbg.json b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/ECDSA.sol/ECDSA.dbg.json deleted file mode 100644 index ad925cc8..00000000 --- a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/ECDSA.sol/ECDSA.dbg.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "_format": "hh-sol-dbg-1", - "buildInfo": "../../../../build-info/3aa2fc6680ec7dd0d7e17835f8008fcc.json" -} diff --git a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/ECDSA.sol/ECDSA.json b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/ECDSA.sol/ECDSA.json deleted file mode 100644 index 6813414d..00000000 --- a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/ECDSA.sol/ECDSA.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "ECDSA", - "sourceName": "@axelar-network/axelar-cgp-solidity/contracts/ECDSA.sol", - "abi": [ - { - "inputs": [], - "name": "InvalidS", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidSignature", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidSignatureLength", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidV", - "type": "error" - } - ], - "bytecode": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220c973dc0bf6d26a5fb3bd1ac29fea4a0699ff7d3335fd64e09b2bb2ca8a76336164736f6c63430008090033", - "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220c973dc0bf6d26a5fb3bd1ac29fea4a0699ff7d3335fd64e09b2bb2ca8a76336164736f6c63430008090033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/ERC20.sol/ERC20.dbg.json b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/ERC20.sol/ERC20.dbg.json deleted file mode 100644 index ad925cc8..00000000 --- a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/ERC20.sol/ERC20.dbg.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "_format": "hh-sol-dbg-1", - "buildInfo": "../../../../build-info/3aa2fc6680ec7dd0d7e17835f8008fcc.json" -} diff --git a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/ERC20.sol/ERC20.json b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/ERC20.sol/ERC20.json deleted file mode 100644 index 9bddf6c7..00000000 --- a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/ERC20.sol/ERC20.json +++ /dev/null @@ -1,307 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "ERC20", - "sourceName": "@axelar-network/axelar-cgp-solidity/contracts/ERC20.sol", - "abi": [ - { - "inputs": [ - { - "internalType": "string", - "name": "name_", - "type": "string" - }, - { - "internalType": "string", - "name": "symbol_", - "type": "string" - }, - { - "internalType": "uint8", - "name": "decimals_", - "type": "uint8" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "name": "InvalidAccount", - "type": "error" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Approval", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Transfer", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "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": "", - "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": "0x60a06040523480156200001157600080fd5b506040516200099c3803806200099c8339810160408190526200003491620001e2565b8251620000499060039060208601906200006f565b5081516200005f9060049060208501906200006f565b5060ff1660805250620002a49050565b8280546200007d9062000267565b90600052602060002090601f016020900481019282620000a15760008555620000ec565b82601f10620000bc57805160ff1916838001178555620000ec565b82800160010185558215620000ec579182015b82811115620000ec578251825591602001919060010190620000cf565b50620000fa929150620000fe565b5090565b5b80821115620000fa5760008155600101620000ff565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200013d57600080fd5b81516001600160401b03808211156200015a576200015a62000115565b604051601f8301601f19908116603f0116810190828211818310171562000185576200018562000115565b81604052838152602092508683858801011115620001a257600080fd5b600091505b83821015620001c65785820183015181830184015290820190620001a7565b83821115620001d85760008385830101525b9695505050505050565b600080600060608486031215620001f857600080fd5b83516001600160401b03808211156200021057600080fd5b6200021e878388016200012b565b945060208601519150808211156200023557600080fd5b5062000244868287016200012b565b925050604084015160ff811681146200025c57600080fd5b809150509250925092565b600181811c908216806200027c57607f821691505b602082108114156200029e57634e487b7160e01b600052602260045260246000fd5b50919050565b6080516106dc620002c0600039600061013e01526106dc6000f3fe608060405234801561001057600080fd5b50600436106100c95760003560e01c80633950935111610081578063a457c2d71161005b578063a457c2d7146101ad578063a9059cbb146101c0578063dd62ed3e146101d357600080fd5b8063395093511461017257806370a082311461018557806395d89b41146101a557600080fd5b806318160ddd116100b257806318160ddd1461010f57806323b872dd14610126578063313ce5671461013957600080fd5b806306fdde03146100ce578063095ea7b3146100ec575b600080fd5b6100d66101fe565b6040516100e391906104fa565b60405180910390f35b6100ff6100fa36600461056b565b61028c565b60405190151581526020016100e3565b61011860025481565b6040519081526020016100e3565b6100ff610134366004610595565b6102a2565b6101607f000000000000000000000000000000000000000000000000000000000000000081565b60405160ff90911681526020016100e3565b6100ff61018036600461056b565b6102f9565b6101186101933660046105d1565b60006020819052908152604090205481565b6100d6610330565b6100ff6101bb36600461056b565b61033d565b6100ff6101ce36600461056b565b610374565b6101186101e13660046105f3565b600160209081526000928352604080842090915290825290205481565b6003805461020b90610626565b80601f016020809104026020016040519081016040528092919081815260200182805461023790610626565b80156102845780601f1061025957610100808354040283529160200191610284565b820191906000526020600020905b81548152906001019060200180831161026757829003601f168201915b505050505081565b6000610299338484610381565b50600192915050565b6001600160a01b038316600090815260016020908152604080832033845290915281205460001981146102e3576102e385336102de8685610677565b610381565b6102ee85858561041e565b506001949350505050565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916102999185906102de90869061068e565b6004805461020b90610626565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916102999185906102de908690610677565b600061029933848461041e565b6001600160a01b038316158061039e57506001600160a01b038216155b156103bc57604051630da30f6560e31b815260040160405180910390fd5b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b038316158061043b57506001600160a01b038216155b1561045957604051630da30f6560e31b815260040160405180910390fd5b6001600160a01b03831660009081526020819052604081208054839290610481908490610677565b90915550506001600160a01b038216600090815260208190526040812080548392906104ae90849061068e565b92505081905550816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161041191815260200190565b600060208083528351808285015260005b818110156105275785810183015185820160400152820161050b565b81811115610539576000604083870101525b50601f01601f1916929092016040019392505050565b80356001600160a01b038116811461056657600080fd5b919050565b6000806040838503121561057e57600080fd5b6105878361054f565b946020939093013593505050565b6000806000606084860312156105aa57600080fd5b6105b38461054f565b92506105c16020850161054f565b9150604084013590509250925092565b6000602082840312156105e357600080fd5b6105ec8261054f565b9392505050565b6000806040838503121561060657600080fd5b61060f8361054f565b915061061d6020840161054f565b90509250929050565b600181811c9082168061063a57607f821691505b6020821081141561065b57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b60008282101561068957610689610661565b500390565b600082198211156106a1576106a1610661565b50019056fea2646970667358221220ae146ee9affdef0fa2ab00f5bb0867f9e130212fc134c4307d5535c1f425843a64736f6c63430008090033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100c95760003560e01c80633950935111610081578063a457c2d71161005b578063a457c2d7146101ad578063a9059cbb146101c0578063dd62ed3e146101d357600080fd5b8063395093511461017257806370a082311461018557806395d89b41146101a557600080fd5b806318160ddd116100b257806318160ddd1461010f57806323b872dd14610126578063313ce5671461013957600080fd5b806306fdde03146100ce578063095ea7b3146100ec575b600080fd5b6100d66101fe565b6040516100e391906104fa565b60405180910390f35b6100ff6100fa36600461056b565b61028c565b60405190151581526020016100e3565b61011860025481565b6040519081526020016100e3565b6100ff610134366004610595565b6102a2565b6101607f000000000000000000000000000000000000000000000000000000000000000081565b60405160ff90911681526020016100e3565b6100ff61018036600461056b565b6102f9565b6101186101933660046105d1565b60006020819052908152604090205481565b6100d6610330565b6100ff6101bb36600461056b565b61033d565b6100ff6101ce36600461056b565b610374565b6101186101e13660046105f3565b600160209081526000928352604080842090915290825290205481565b6003805461020b90610626565b80601f016020809104026020016040519081016040528092919081815260200182805461023790610626565b80156102845780601f1061025957610100808354040283529160200191610284565b820191906000526020600020905b81548152906001019060200180831161026757829003601f168201915b505050505081565b6000610299338484610381565b50600192915050565b6001600160a01b038316600090815260016020908152604080832033845290915281205460001981146102e3576102e385336102de8685610677565b610381565b6102ee85858561041e565b506001949350505050565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916102999185906102de90869061068e565b6004805461020b90610626565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916102999185906102de908690610677565b600061029933848461041e565b6001600160a01b038316158061039e57506001600160a01b038216155b156103bc57604051630da30f6560e31b815260040160405180910390fd5b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b038316158061043b57506001600160a01b038216155b1561045957604051630da30f6560e31b815260040160405180910390fd5b6001600160a01b03831660009081526020819052604081208054839290610481908490610677565b90915550506001600160a01b038216600090815260208190526040812080548392906104ae90849061068e565b92505081905550816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161041191815260200190565b600060208083528351808285015260005b818110156105275785810183015185820160400152820161050b565b81811115610539576000604083870101525b50601f01601f1916929092016040019392505050565b80356001600160a01b038116811461056657600080fd5b919050565b6000806040838503121561057e57600080fd5b6105878361054f565b946020939093013593505050565b6000806000606084860312156105aa57600080fd5b6105b38461054f565b92506105c16020850161054f565b9150604084013590509250925092565b6000602082840312156105e357600080fd5b6105ec8261054f565b9392505050565b6000806040838503121561060657600080fd5b61060f8361054f565b915061061d6020840161054f565b90509250929050565b600181811c9082168061063a57607f821691505b6020821081141561065b57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b60008282101561068957610689610661565b500390565b600082198211156106a1576106a1610661565b50019056fea2646970667358221220ae146ee9affdef0fa2ab00f5bb0867f9e130212fc134c4307d5535c1f425843a64736f6c63430008090033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/ERC20Permit.sol/ERC20Permit.dbg.json b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/ERC20Permit.sol/ERC20Permit.dbg.json deleted file mode 100644 index ad925cc8..00000000 --- a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/ERC20Permit.sol/ERC20Permit.dbg.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "_format": "hh-sol-dbg-1", - "buildInfo": "../../../../build-info/3aa2fc6680ec7dd0d7e17835f8008fcc.json" -} diff --git a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/ERC20Permit.sol/ERC20Permit.json b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/ERC20Permit.sol/ERC20Permit.json deleted file mode 100644 index 773f9096..00000000 --- a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/ERC20Permit.sol/ERC20Permit.json +++ /dev/null @@ -1,381 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "ERC20Permit", - "sourceName": "@axelar-network/axelar-cgp-solidity/contracts/ERC20Permit.sol", - "abi": [ - { - "inputs": [], - "name": "InvalidAccount", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidS", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidSignature", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidV", - "type": "error" - }, - { - "inputs": [], - "name": "PermitExpired", - "type": "error" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Approval", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Transfer", - "type": "event" - }, - { - "inputs": [], - "name": "DOMAIN_SEPARATOR", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "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": "", - "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": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "nonces", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "issuer", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "deadline", - "type": "uint256" - }, - { - "internalType": "uint8", - "name": "v", - "type": "uint8" - }, - { - "internalType": "bytes32", - "name": "r", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "s", - "type": "bytes32" - } - ], - "name": "permit", - "outputs": [], - "stateMutability": "nonpayable", - "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": "0x", - "deployedBytecode": "0x", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/EternalStorage.sol/EternalStorage.dbg.json b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/EternalStorage.sol/EternalStorage.dbg.json deleted file mode 100644 index ad925cc8..00000000 --- a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/EternalStorage.sol/EternalStorage.dbg.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "_format": "hh-sol-dbg-1", - "buildInfo": "../../../../build-info/3aa2fc6680ec7dd0d7e17835f8008fcc.json" -} diff --git a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/EternalStorage.sol/EternalStorage.json b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/EternalStorage.sol/EternalStorage.json deleted file mode 100644 index e9ab30ed..00000000 --- a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/EternalStorage.sol/EternalStorage.json +++ /dev/null @@ -1,125 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "EternalStorage", - "sourceName": "@axelar-network/axelar-cgp-solidity/contracts/EternalStorage.sol", - "abi": [ - { - "inputs": [ - { - "internalType": "bytes32", - "name": "key", - "type": "bytes32" - } - ], - "name": "getAddress", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "key", - "type": "bytes32" - } - ], - "name": "getBool", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "key", - "type": "bytes32" - } - ], - "name": "getBytes", - "outputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "key", - "type": "bytes32" - } - ], - "name": "getInt", - "outputs": [ - { - "internalType": "int256", - "name": "", - "type": "int256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "key", - "type": "bytes32" - } - ], - "name": "getString", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "key", - "type": "bytes32" - } - ], - "name": "getUint", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": "0x608060405234801561001057600080fd5b50610354806100206000396000f3fe608060405234801561001057600080fd5b50600436106100725760003560e01c8063bd02d0f511610050578063bd02d0f51461012a578063c031a18014610158578063dc97d9621461016b57600080fd5b806321f8a721146100775780637ae1cfca146100d7578063986e791a1461010a575b600080fd5b6100ad61008536600461024a565b60009081526002602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b6100fa6100e536600461024a565b60009081526004602052604090205460ff1690565b60405190151581526020016100ce565b61011d61011836600461024a565b61018b565b6040516100ce91906102b0565b61014a61013836600461024a565b60009081526020819052604090205490565b6040519081526020016100ce565b61011d61016636600461024a565b61022d565b61014a61017936600461024a565b60009081526005602052604090205490565b60008181526001602052604090208054606091906101a8906102ca565b80601f01602080910402602001604051908101604052809291908181526020018280546101d4906102ca565b80156102215780601f106101f657610100808354040283529160200191610221565b820191906000526020600020905b81548152906001019060200180831161020457829003601f168201915b50505050509050919050565b60008181526003602052604090208054606091906101a8906102ca565b60006020828403121561025c57600080fd5b5035919050565b6000815180845260005b818110156102895760208185018101518683018201520161026d565b8181111561029b576000602083870101525b50601f01601f19169290920160200192915050565b6020815260006102c36020830184610263565b9392505050565b600181811c908216806102de57607f821691505b60208210811415610318577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b5091905056fea26469706673582212208de82a6c8b596ef7873260649031385260e4e63c6aa2f8f8e58736df69b41b0a64736f6c63430008090033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100725760003560e01c8063bd02d0f511610050578063bd02d0f51461012a578063c031a18014610158578063dc97d9621461016b57600080fd5b806321f8a721146100775780637ae1cfca146100d7578063986e791a1461010a575b600080fd5b6100ad61008536600461024a565b60009081526002602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b6100fa6100e536600461024a565b60009081526004602052604090205460ff1690565b60405190151581526020016100ce565b61011d61011836600461024a565b61018b565b6040516100ce91906102b0565b61014a61013836600461024a565b60009081526020819052604090205490565b6040519081526020016100ce565b61011d61016636600461024a565b61022d565b61014a61017936600461024a565b60009081526005602052604090205490565b60008181526001602052604090208054606091906101a8906102ca565b80601f01602080910402602001604051908101604052809291908181526020018280546101d4906102ca565b80156102215780601f106101f657610100808354040283529160200191610221565b820191906000526020600020905b81548152906001019060200180831161020457829003601f168201915b50505050509050919050565b60008181526003602052604090208054606091906101a8906102ca565b60006020828403121561025c57600080fd5b5035919050565b6000815180845260005b818110156102895760208185018101518683018201520161026d565b8181111561029b576000602083870101525b50601f01601f19169290920160200192915050565b6020815260006102c36020830184610263565b9392505050565b600181811c908216806102de57607f821691505b60208210811415610318577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b5091905056fea26469706673582212208de82a6c8b596ef7873260649031385260e4e63c6aa2f8f8e58736df69b41b0a64736f6c63430008090033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/MintableCappedERC20.sol/MintableCappedERC20.dbg.json b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/MintableCappedERC20.sol/MintableCappedERC20.dbg.json deleted file mode 100644 index ad925cc8..00000000 --- a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/MintableCappedERC20.sol/MintableCappedERC20.dbg.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "_format": "hh-sol-dbg-1", - "buildInfo": "../../../../build-info/3aa2fc6680ec7dd0d7e17835f8008fcc.json" -} diff --git a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/MintableCappedERC20.sol/MintableCappedERC20.json b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/MintableCappedERC20.sol/MintableCappedERC20.json deleted file mode 100644 index 595b58df..00000000 --- a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/MintableCappedERC20.sol/MintableCappedERC20.json +++ /dev/null @@ -1,498 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "MintableCappedERC20", - "sourceName": "@axelar-network/axelar-cgp-solidity/contracts/MintableCappedERC20.sol", - "abi": [ - { - "inputs": [ - { - "internalType": "string", - "name": "name", - "type": "string" - }, - { - "internalType": "string", - "name": "symbol", - "type": "string" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "capacity", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "name": "CapExceeded", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidAccount", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidOwner", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidS", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidSignature", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidV", - "type": "error" - }, - { - "inputs": [], - "name": "NotOwner", - "type": "error" - }, - { - "inputs": [], - "name": "PermitExpired", - "type": "error" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Approval", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "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": "DOMAIN_SEPARATOR", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "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": "", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "cap", - "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": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "mint", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "nonces", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "issuer", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "deadline", - "type": "uint256" - }, - { - "internalType": "uint8", - "name": "v", - "type": "uint8" - }, - { - "internalType": "bytes32", - "name": "r", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "s", - "type": "bytes32" - } - ], - "name": "permit", - "outputs": [], - "stateMutability": "nonpayable", - "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" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x60e06040523480156200001157600080fd5b50604051620011b2380380620011b28339810160408190526200003491620002d9565b8384848482600390805190602001906200005092919062000166565b5081516200006690600490602085019062000166565b5060ff166080908152835160208086019190912060408051808201825260018152603160f81b9084015280517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f938101939093528201527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6606082015246918101919091523060a082015260c0019150620000fe9050565b60408051601f1981840301815290829052805160209091012060a052600680546001600160a01b0319163390811790915591506000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a360c05250620003a1915050565b828054620001749062000364565b90600052602060002090601f016020900481019282620001985760008555620001e3565b82601f10620001b357805160ff1916838001178555620001e3565b82800160010185558215620001e3579182015b82811115620001e3578251825591602001919060010190620001c6565b50620001f1929150620001f5565b5090565b5b80821115620001f15760008155600101620001f6565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200023457600080fd5b81516001600160401b03808211156200025157620002516200020c565b604051601f8301601f19908116603f011681019082821181831017156200027c576200027c6200020c565b816040528381526020925086838588010111156200029957600080fd5b600091505b83821015620002bd57858201830151818301840152908201906200029e565b83821115620002cf5760008385830101525b9695505050505050565b60008060008060808587031215620002f057600080fd5b84516001600160401b03808211156200030857600080fd5b620003168883890162000222565b955060208701519150808211156200032d57600080fd5b506200033c8782880162000222565b935050604085015160ff811681146200035457600080fd5b6060959095015193969295505050565b600181811c908216806200037957607f821691505b602082108114156200039b57634e487b7160e01b600052602260045260246000fd5b50919050565b60805160a05160c051610dd3620003df600039600081816101e4015261049e01526000818161020b0152610698015260006101ab0152610dd36000f3fe608060405234801561001057600080fd5b50600436106101365760003560e01c806370a08231116100b2578063a457c2d711610081578063d505accf11610066578063d505accf146102ee578063dd62ed3e14610301578063f2fde38b1461032c57600080fd5b8063a457c2d7146102c8578063a9059cbb146102db57600080fd5b806370a08231146102555780637ecebe00146102755780638da5cb5b1461029557806395d89b41146102c057600080fd5b8063313ce567116101095780633644e515116100ee5780633644e51514610206578063395093511461022d57806340c10f191461024057600080fd5b8063313ce567146101a6578063355274ea146101df57600080fd5b806306fdde031461013b578063095ea7b31461015957806318160ddd1461017c57806323b872dd14610193575b600080fd5b61014361033f565b6040516101509190610b5e565b60405180910390f35b61016c610167366004610bad565b6103cd565b6040519015158152602001610150565b61018560025481565b604051908152602001610150565b61016c6101a1366004610bd7565b6103e3565b6101cd7f000000000000000000000000000000000000000000000000000000000000000081565b60405160ff9091168152602001610150565b6101857f000000000000000000000000000000000000000000000000000000000000000081565b6101857f000000000000000000000000000000000000000000000000000000000000000081565b61016c61023b366004610bad565b61043a565b61025361024e366004610bad565b610471565b005b610185610263366004610c13565b60006020819052908152604090205481565b610185610283366004610c13565b60056020526000908152604090205481565b6006546102a8906001600160a01b031681565b6040516001600160a01b039091168152602001610150565b610143610512565b61016c6102d6366004610bad565b61051f565b61016c6102e9366004610bad565b610556565b6102536102fc366004610c35565b610563565b61018561030f366004610ca8565b600160209081526000928352604080842090915290825290205481565b61025361033a366004610c13565b610826565b6003805461034c90610cdb565b80601f016020809104026020016040519081016040528092919081815260200182805461037890610cdb565b80156103c55780601f1061039a576101008083540402835291602001916103c5565b820191906000526020600020905b8154815290600101906020018083116103a857829003601f168201915b505050505081565b60006103da338484610905565b50600192915050565b6001600160a01b0383166000908152600160209081526040808320338452909152812054600019811461042457610424853361041f8685610d2c565b610905565b61042f8585856109a2565b506001949350505050565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916103da91859061041f908690610d43565b6006546001600160a01b0316331461049c576040516330cd747160e01b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006104c78383610a7e565b806104d157505050565b80600254111561050d576040517fa4875a4900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050565b6004805461034c90610cdb565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916103da91859061041f908690610d2c565b60006103da3384846109a2565b8342111561059d576040517f1a15a3cc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08111156105f7576040517f40c1e74800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8260ff16601b1415801561060f57508260ff16601c14155b15610646576040517f119bce3900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080518082018252600281527f19010000000000000000000000000000000000000000000000000000000000006020808301919091526001600160a01b038a166000908152600590915291822080547f0000000000000000000000000000000000000000000000000000000000000000917f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9918c918c918c91886106ea83610d5b565b909155506040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810188905260e0016040516020818303038152906040528051906020012060405160200161074e93929190610d76565b60408051601f198184030181528282528051602091820120600080855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa1580156107b9573d6000803e3d6000fd5b505050602060405103519050886001600160a01b0316816001600160a01b031614610810576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61081b898989610905565b505050505050505050565b6006546001600160a01b03163314610851576040516330cd747160e01b815260040160405180910390fd5b6001600160a01b038116610891576040517f49e27cff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6006546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600680547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b6001600160a01b038316158061092257506001600160a01b038216155b1561094057604051630da30f6560e31b815260040160405180910390fd5b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b03831615806109bf57506001600160a01b038216155b156109dd57604051630da30f6560e31b815260040160405180910390fd5b6001600160a01b03831660009081526020819052604081208054839290610a05908490610d2c565b90915550506001600160a01b03821660009081526020819052604081208054839290610a32908490610d43565b92505081905550816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161099591815260200190565b6001600160a01b038216610aa557604051630da30f6560e31b815260040160405180910390fd5b8060026000828254610ab79190610d43565b90915550506001600160a01b03821660009081526020819052604081208054839290610ae4908490610d43565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b60005b83811015610b49578181015183820152602001610b31565b83811115610b58576000848401525b50505050565b6020815260008251806020840152610b7d816040850160208701610b2e565b601f01601f19169190910160400192915050565b80356001600160a01b0381168114610ba857600080fd5b919050565b60008060408385031215610bc057600080fd5b610bc983610b91565b946020939093013593505050565b600080600060608486031215610bec57600080fd5b610bf584610b91565b9250610c0360208501610b91565b9150604084013590509250925092565b600060208284031215610c2557600080fd5b610c2e82610b91565b9392505050565b600080600080600080600060e0888a031215610c5057600080fd5b610c5988610b91565b9650610c6760208901610b91565b95506040880135945060608801359350608088013560ff81168114610c8b57600080fd5b9699959850939692959460a0840135945060c09093013592915050565b60008060408385031215610cbb57600080fd5b610cc483610b91565b9150610cd260208401610b91565b90509250929050565b600181811c90821680610cef57607f821691505b60208210811415610d1057634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b600082821015610d3e57610d3e610d16565b500390565b60008219821115610d5657610d56610d16565b500190565b6000600019821415610d6f57610d6f610d16565b5060010190565b60008451610d88818460208901610b2e565b9190910192835250602082015260400191905056fea264697066735822122076f9ae7af78c925b19714fc4d3ff220bc0456630f9bebac6598eb4a0c24a3eac64736f6c63430008090033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101365760003560e01c806370a08231116100b2578063a457c2d711610081578063d505accf11610066578063d505accf146102ee578063dd62ed3e14610301578063f2fde38b1461032c57600080fd5b8063a457c2d7146102c8578063a9059cbb146102db57600080fd5b806370a08231146102555780637ecebe00146102755780638da5cb5b1461029557806395d89b41146102c057600080fd5b8063313ce567116101095780633644e515116100ee5780633644e51514610206578063395093511461022d57806340c10f191461024057600080fd5b8063313ce567146101a6578063355274ea146101df57600080fd5b806306fdde031461013b578063095ea7b31461015957806318160ddd1461017c57806323b872dd14610193575b600080fd5b61014361033f565b6040516101509190610b5e565b60405180910390f35b61016c610167366004610bad565b6103cd565b6040519015158152602001610150565b61018560025481565b604051908152602001610150565b61016c6101a1366004610bd7565b6103e3565b6101cd7f000000000000000000000000000000000000000000000000000000000000000081565b60405160ff9091168152602001610150565b6101857f000000000000000000000000000000000000000000000000000000000000000081565b6101857f000000000000000000000000000000000000000000000000000000000000000081565b61016c61023b366004610bad565b61043a565b61025361024e366004610bad565b610471565b005b610185610263366004610c13565b60006020819052908152604090205481565b610185610283366004610c13565b60056020526000908152604090205481565b6006546102a8906001600160a01b031681565b6040516001600160a01b039091168152602001610150565b610143610512565b61016c6102d6366004610bad565b61051f565b61016c6102e9366004610bad565b610556565b6102536102fc366004610c35565b610563565b61018561030f366004610ca8565b600160209081526000928352604080842090915290825290205481565b61025361033a366004610c13565b610826565b6003805461034c90610cdb565b80601f016020809104026020016040519081016040528092919081815260200182805461037890610cdb565b80156103c55780601f1061039a576101008083540402835291602001916103c5565b820191906000526020600020905b8154815290600101906020018083116103a857829003601f168201915b505050505081565b60006103da338484610905565b50600192915050565b6001600160a01b0383166000908152600160209081526040808320338452909152812054600019811461042457610424853361041f8685610d2c565b610905565b61042f8585856109a2565b506001949350505050565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916103da91859061041f908690610d43565b6006546001600160a01b0316331461049c576040516330cd747160e01b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006104c78383610a7e565b806104d157505050565b80600254111561050d576040517fa4875a4900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050565b6004805461034c90610cdb565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916103da91859061041f908690610d2c565b60006103da3384846109a2565b8342111561059d576040517f1a15a3cc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08111156105f7576040517f40c1e74800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8260ff16601b1415801561060f57508260ff16601c14155b15610646576040517f119bce3900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080518082018252600281527f19010000000000000000000000000000000000000000000000000000000000006020808301919091526001600160a01b038a166000908152600590915291822080547f0000000000000000000000000000000000000000000000000000000000000000917f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9918c918c918c91886106ea83610d5b565b909155506040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810188905260e0016040516020818303038152906040528051906020012060405160200161074e93929190610d76565b60408051601f198184030181528282528051602091820120600080855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa1580156107b9573d6000803e3d6000fd5b505050602060405103519050886001600160a01b0316816001600160a01b031614610810576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61081b898989610905565b505050505050505050565b6006546001600160a01b03163314610851576040516330cd747160e01b815260040160405180910390fd5b6001600160a01b038116610891576040517f49e27cff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6006546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600680547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b6001600160a01b038316158061092257506001600160a01b038216155b1561094057604051630da30f6560e31b815260040160405180910390fd5b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b03831615806109bf57506001600160a01b038216155b156109dd57604051630da30f6560e31b815260040160405180910390fd5b6001600160a01b03831660009081526020819052604081208054839290610a05908490610d2c565b90915550506001600160a01b03821660009081526020819052604081208054839290610a32908490610d43565b92505081905550816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161099591815260200190565b6001600160a01b038216610aa557604051630da30f6560e31b815260040160405180910390fd5b8060026000828254610ab79190610d43565b90915550506001600160a01b03821660009081526020819052604081208054839290610ae4908490610d43565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b60005b83811015610b49578181015183820152602001610b31565b83811115610b58576000848401525b50505050565b6020815260008251806020840152610b7d816040850160208701610b2e565b601f01601f19169190910160400192915050565b80356001600160a01b0381168114610ba857600080fd5b919050565b60008060408385031215610bc057600080fd5b610bc983610b91565b946020939093013593505050565b600080600060608486031215610bec57600080fd5b610bf584610b91565b9250610c0360208501610b91565b9150604084013590509250925092565b600060208284031215610c2557600080fd5b610c2e82610b91565b9392505050565b600080600080600080600060e0888a031215610c5057600080fd5b610c5988610b91565b9650610c6760208901610b91565b95506040880135945060608801359350608088013560ff81168114610c8b57600080fd5b9699959850939692959460a0840135945060c09093013592915050565b60008060408385031215610cbb57600080fd5b610cc483610b91565b9150610cd260208401610b91565b90509250929050565b600181811c90821680610cef57607f821691505b60208210811415610d1057634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b600082821015610d3e57610d3e610d16565b500390565b60008219821115610d5657610d56610d16565b500190565b6000600019821415610d6f57610d6f610d16565b5060010190565b60008451610d88818460208901610b2e565b9190910192835250602082015260400191905056fea264697066735822122076f9ae7af78c925b19714fc4d3ff220bc0456630f9bebac6598eb4a0c24a3eac64736f6c63430008090033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/Ownable.sol/Ownable.dbg.json b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/Ownable.sol/Ownable.dbg.json deleted file mode 100644 index ad925cc8..00000000 --- a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/Ownable.sol/Ownable.dbg.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "_format": "hh-sol-dbg-1", - "buildInfo": "../../../../build-info/3aa2fc6680ec7dd0d7e17835f8008fcc.json" -} diff --git a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/Ownable.sol/Ownable.json b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/Ownable.sol/Ownable.json deleted file mode 100644 index 77527fd9..00000000 --- a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/Ownable.sol/Ownable.json +++ /dev/null @@ -1,66 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "Ownable", - "sourceName": "@axelar-network/axelar-cgp-solidity/contracts/Ownable.sol", - "abi": [ - { - "inputs": [], - "name": "InvalidOwner", - "type": "error" - }, - { - "inputs": [], - "name": "NotOwner", - "type": "error" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x", - "deployedBytecode": "0x", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/TokenDeployer.sol/TokenDeployer.dbg.json b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/TokenDeployer.sol/TokenDeployer.dbg.json deleted file mode 100644 index ad925cc8..00000000 --- a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/TokenDeployer.sol/TokenDeployer.dbg.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "_format": "hh-sol-dbg-1", - "buildInfo": "../../../../build-info/3aa2fc6680ec7dd0d7e17835f8008fcc.json" -} diff --git a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/TokenDeployer.sol/TokenDeployer.json b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/TokenDeployer.sol/TokenDeployer.json deleted file mode 100644 index 2453ade9..00000000 --- a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/TokenDeployer.sol/TokenDeployer.json +++ /dev/null @@ -1,50 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "TokenDeployer", - "sourceName": "@axelar-network/axelar-cgp-solidity/contracts/TokenDeployer.sol", - "abi": [ - { - "inputs": [ - { - "internalType": "string", - "name": "name", - "type": "string" - }, - { - "internalType": "string", - "name": "symbol", - "type": "string" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "cap", - "type": "uint256" - }, - { - "internalType": "bytes32", - "name": "salt", - "type": "bytes32" - } - ], - "name": "deployToken", - "outputs": [ - { - "internalType": "address", - "name": "tokenAddress", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x608060405234801561001057600080fd5b50611a85806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c80636fc95b3414610030575b600080fd5b61004361003e366004610113565b61006c565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b600081888888888888604051610081906100bd565b610090969594939291906101d8565b8190604051809103906000f59050801580156100b0573d6000803e3d6000fd5b5098975050505050505050565b6118378061021983390190565b60008083601f8401126100dc57600080fd5b50813567ffffffffffffffff8111156100f457600080fd5b60208301915083602082850101111561010c57600080fd5b9250929050565b600080600080600080600060a0888a03121561012e57600080fd5b873567ffffffffffffffff8082111561014657600080fd5b6101528b838c016100ca565b909950975060208a013591508082111561016b57600080fd5b506101788a828b016100ca565b909650945050604088013560ff8116811461019257600080fd5b969995985093969295946060840135945060809093013592915050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6080815260006101ec60808301888a6101af565b82810360208401526101ff8187896101af565b60ff95909516604084015250506060015294935050505056fe60e06040523480156200001157600080fd5b5060405162001837380380620018378339810160408190526200003491620002e1565b83838383838484848260039080519060200190620000549291906200016e565b5081516200006a9060049060208501906200016e565b5060ff166080908152835160208086019190912060408051808201825260018152603160f81b9084015280517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f938101939093528201527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6606082015246918101919091523060a082015260c0019150620001029050565b60408051601f1981840301815290829052805160209091012060a052600680546001600160a01b0319163390811790915591506000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a360c05250620003a995505050505050565b8280546200017c906200036c565b90600052602060002090601f016020900481019282620001a05760008555620001eb565b82601f10620001bb57805160ff1916838001178555620001eb565b82800160010185558215620001eb579182015b82811115620001eb578251825591602001919060010190620001ce565b50620001f9929150620001fd565b5090565b5b80821115620001f95760008155600101620001fe565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200023c57600080fd5b81516001600160401b038082111562000259576200025962000214565b604051601f8301601f19908116603f0116810190828211818310171562000284576200028462000214565b81604052838152602092508683858801011115620002a157600080fd5b600091505b83821015620002c55785820183015181830184015290820190620002a6565b83821115620002d75760008385830101525b9695505050505050565b60008060008060808587031215620002f857600080fd5b84516001600160401b03808211156200031057600080fd5b6200031e888389016200022a565b955060208701519150808211156200033557600080fd5b5062000344878288016200022a565b935050604085015160ff811681146200035c57600080fd5b6060959095015193969295505050565b600181811c908216806200038157607f821691505b60208210811415620003a357634e487b7160e01b600052602260045260246000fd5b50919050565b60805160a05160c051611450620003e760003960008181610265015261067301526000818161028c01526108de0152600061020101526114506000f3fe608060405234801561001057600080fd5b50600436106101775760003560e01c806340c10f19116100d857806395d89b411161008c578063d505accf11610066578063d505accf14610368578063dd62ed3e1461037b578063f2fde38b146103a657600080fd5b806395d89b411461033a578063a457c2d714610342578063a9059cbb1461035557600080fd5b806379cc6790116100bd57806379cc6790146102f45780637ecebe00146103075780638da5cb5b1461032757600080fd5b806340c10f19146102c157806370a08231146102d457600080fd5b8063313ce5671161012f578063355274ea11610114578063355274ea146102605780633644e5151461028757806339509351146102ae57600080fd5b8063313ce567146101fc57806331eecaf41461023557600080fd5b8063095ea7b311610160578063095ea7b3146101af57806318160ddd146101d257806323b872dd146101e957600080fd5b806306fdde031461017c57806308a1eee11461019a575b600080fd5b6101846103b9565b6040516101919190610e5d565b60405180910390f35b6101ad6101a8366004610e90565b610447565b005b6101c26101bd366004610ec5565b6104a8565b6040519015158152602001610191565b6101db60025481565b604051908152602001610191565b6101c26101f7366004610eef565b6104be565b6102237f000000000000000000000000000000000000000000000000000000000000000081565b60405160ff9091168152602001610191565b610248610243366004610e90565b610515565b6040516001600160a01b039091168152602001610191565b6101db7f000000000000000000000000000000000000000000000000000000000000000081565b6101db7f000000000000000000000000000000000000000000000000000000000000000081565b6101c26102bc366004610ec5565b61060f565b6101ad6102cf366004610ec5565b610646565b6101db6102e2366004610f2b565b60006020819052908152604090205481565b6101ad610302366004610ec5565b6106e7565b6101db610315366004610f2b565b60056020526000908152604090205481565b600654610248906001600160a01b031681565b610184610758565b6101c2610350366004610ec5565b610765565b6101c2610363366004610ec5565b61079c565b6101ad610376366004610f4d565b6107a9565b6101db610389366004610fc0565b600160209081526000928352604080842090915290825290205481565b6101ad6103b4366004610f2b565b610a6c565b600380546103c690610ff3565b80601f01602080910402602001604051908101604052809291908181526020018280546103f290610ff3565b801561043f5780601f106104145761010080835404028352916020019161043f565b820191906000526020600020905b81548152906001019060200180831161042257829003601f168201915b505050505081565b6006546001600160a01b03163314610472576040516330cd747160e01b815260040160405180910390fd5b600061047d82610515565b6001600160a01b0381166000908152602081905260409020549091506104a4908290610b4b565b5050565b60006104b5338484610bfe565b50600192915050565b6001600160a01b038316600090815260016020908152604080832033845290915281205460001981146104ff576104ff85336104fa8685611044565b610bfe565b61050a858585610c9b565b506001949350505050565b6006546040516000917fff00000000000000000000000000000000000000000000000000000000000000916001600160a01b0390911690849061055a60208201610e20565b601f1982820381018352601f90910116604081905261057c919060200161105b565b604051602081830303815290604052805190602001206040516020016105f194939291907fff0000000000000000000000000000000000000000000000000000000000000094909416845260609290921b6bffffffffffffffffffffffff191660018401526015830152603582015260550190565b60408051601f19818403018152919052805160209091012092915050565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916104b59185906104fa908690611077565b6006546001600160a01b03163314610671576040516330cd747160e01b815260040160405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000061069c8383610d77565b806106a657505050565b8060025411156106e2576040517fa4875a4900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050565b6006546001600160a01b03163314610712576040516330cd747160e01b815260040160405180910390fd5b6001600160a01b0382166000908152600160209081526040808320338452909152902054600019811461074e5761074e83336104fa8585611044565b6106e28383610b4b565b600480546103c690610ff3565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916104b59185906104fa908690611044565b60006104b5338484610c9b565b834211156107e3576040517f1a15a3cc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a081111561083d576040517f40c1e74800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8260ff16601b1415801561085557508260ff16601c14155b1561088c576040517f119bce3900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080518082018252600281527f19010000000000000000000000000000000000000000000000000000000000006020808301919091526001600160a01b038a166000908152600590915291822080547f0000000000000000000000000000000000000000000000000000000000000000917f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9918c918c918c91886109308361108f565b909155506040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810188905260e00160405160208183030381529060405280519060200120604051602001610994939291906110aa565b60408051601f198184030181528282528051602091820120600080855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa1580156109ff573d6000803e3d6000fd5b505050602060405103519050886001600160a01b0316816001600160a01b031614610a56576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610a61898989610bfe565b505050505050505050565b6006546001600160a01b03163314610a97576040516330cd747160e01b815260040160405180910390fd5b6001600160a01b038116610ad7576040517f49e27cff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6006546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600680547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b6001600160a01b038216610b7257604051630da30f6560e31b815260040160405180910390fd5b6001600160a01b03821660009081526020819052604081208054839290610b9a908490611044565b925050819055508060026000828254610bb39190611044565b90915550506040518181526000906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906020015b60405180910390a35050565b6001600160a01b0383161580610c1b57506001600160a01b038216155b15610c3957604051630da30f6560e31b815260040160405180910390fd5b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b0383161580610cb857506001600160a01b038216155b15610cd657604051630da30f6560e31b815260040160405180910390fd5b6001600160a01b03831660009081526020819052604081208054839290610cfe908490611044565b90915550506001600160a01b03821660009081526020819052604081208054839290610d2b908490611077565b92505081905550816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610c8e91815260200190565b6001600160a01b038216610d9e57604051630da30f6560e31b815260040160405180910390fd5b8060026000828254610db09190611077565b90915550506001600160a01b03821660009081526020819052604081208054839290610ddd908490611077565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90602001610bf2565b610349806110d283390190565b60005b83811015610e48578181015183820152602001610e30565b83811115610e57576000848401525b50505050565b6020815260008251806020840152610e7c816040850160208701610e2d565b601f01601f19169190910160400192915050565b600060208284031215610ea257600080fd5b5035919050565b80356001600160a01b0381168114610ec057600080fd5b919050565b60008060408385031215610ed857600080fd5b610ee183610ea9565b946020939093013593505050565b600080600060608486031215610f0457600080fd5b610f0d84610ea9565b9250610f1b60208501610ea9565b9150604084013590509250925092565b600060208284031215610f3d57600080fd5b610f4682610ea9565b9392505050565b600080600080600080600060e0888a031215610f6857600080fd5b610f7188610ea9565b9650610f7f60208901610ea9565b95506040880135945060608801359350608088013560ff81168114610fa357600080fd5b9699959850939692959460a0840135945060c09093013592915050565b60008060408385031215610fd357600080fd5b610fdc83610ea9565b9150610fea60208401610ea9565b90509250929050565b600181811c9082168061100757607f821691505b6020821081141561102857634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b6000828210156110565761105661102e565b500390565b6000825161106d818460208701610e2d565b9190910192915050565b6000821982111561108a5761108a61102e565b500190565b60006000198214156110a3576110a361102e565b5060010190565b600084516110bc818460208901610e2d565b9190910192835250602082015260400191905056fe6080604052600160005534801561001557600080fd5b50610324806100256000396000f3fe608060405234801561001057600080fd5b50600436106100355760003560e01c8062f55d9d1461003a5780631cff79cd1461004f575b600080fd5b61004d6100483660046101da565b610079565b005b61006261005d3660046101fc565b6100bb565b60405161007092919061027f565b60405180910390f35b6002600054141561009d5760405163caa30f5560e01b815260040160405180910390fd5b600260005573ffffffffffffffffffffffffffffffffffffffff8116ff5b60006060600260005414156100e35760405163caa30f5560e01b815260040160405180910390fd5b600260005573ffffffffffffffffffffffffffffffffffffffff85163b610136576040517f6f7c43f100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8473ffffffffffffffffffffffffffffffffffffffff16848460405161015d9291906102de565b6000604051808303816000865af19150503d806000811461019a576040519150601f19603f3d011682016040523d82523d6000602084013e61019f565b606091505b50600160005590969095509350505050565b803573ffffffffffffffffffffffffffffffffffffffff811681146101d557600080fd5b919050565b6000602082840312156101ec57600080fd5b6101f5826101b1565b9392505050565b60008060006040848603121561021157600080fd5b61021a846101b1565b9250602084013567ffffffffffffffff8082111561023757600080fd5b818601915086601f83011261024b57600080fd5b81358181111561025a57600080fd5b87602082850101111561026c57600080fd5b6020830194508093505050509250925092565b821515815260006020604081840152835180604085015260005b818110156102b557858101830151858201606001528201610299565b818111156102c7576000606083870101525b50601f01601f191692909201606001949350505050565b818382376000910190815291905056fea2646970667358221220dfb702492c35c6a884ac11997b483e3fee4ff8145c7abb0799d2a2fc8674c39364736f6c63430008090033a26469706673582212200c91fd2c0c0716a838a82654afcb7fba074539452c7c6cd867f9add7ce181d4a64736f6c63430008090033a2646970667358221220f353c41cd4ed6206c4282f2f493c7ccfaa3d7d29a1bafa7407ad53753f7d5de964736f6c63430008090033", - "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061002b5760003560e01c80636fc95b3414610030575b600080fd5b61004361003e366004610113565b61006c565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b600081888888888888604051610081906100bd565b610090969594939291906101d8565b8190604051809103906000f59050801580156100b0573d6000803e3d6000fd5b5098975050505050505050565b6118378061021983390190565b60008083601f8401126100dc57600080fd5b50813567ffffffffffffffff8111156100f457600080fd5b60208301915083602082850101111561010c57600080fd5b9250929050565b600080600080600080600060a0888a03121561012e57600080fd5b873567ffffffffffffffff8082111561014657600080fd5b6101528b838c016100ca565b909950975060208a013591508082111561016b57600080fd5b506101788a828b016100ca565b909650945050604088013560ff8116811461019257600080fd5b969995985093969295946060840135945060809093013592915050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6080815260006101ec60808301888a6101af565b82810360208401526101ff8187896101af565b60ff95909516604084015250506060015294935050505056fe60e06040523480156200001157600080fd5b5060405162001837380380620018378339810160408190526200003491620002e1565b83838383838484848260039080519060200190620000549291906200016e565b5081516200006a9060049060208501906200016e565b5060ff166080908152835160208086019190912060408051808201825260018152603160f81b9084015280517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f938101939093528201527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6606082015246918101919091523060a082015260c0019150620001029050565b60408051601f1981840301815290829052805160209091012060a052600680546001600160a01b0319163390811790915591506000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a360c05250620003a995505050505050565b8280546200017c906200036c565b90600052602060002090601f016020900481019282620001a05760008555620001eb565b82601f10620001bb57805160ff1916838001178555620001eb565b82800160010185558215620001eb579182015b82811115620001eb578251825591602001919060010190620001ce565b50620001f9929150620001fd565b5090565b5b80821115620001f95760008155600101620001fe565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200023c57600080fd5b81516001600160401b038082111562000259576200025962000214565b604051601f8301601f19908116603f0116810190828211818310171562000284576200028462000214565b81604052838152602092508683858801011115620002a157600080fd5b600091505b83821015620002c55785820183015181830184015290820190620002a6565b83821115620002d75760008385830101525b9695505050505050565b60008060008060808587031215620002f857600080fd5b84516001600160401b03808211156200031057600080fd5b6200031e888389016200022a565b955060208701519150808211156200033557600080fd5b5062000344878288016200022a565b935050604085015160ff811681146200035c57600080fd5b6060959095015193969295505050565b600181811c908216806200038157607f821691505b60208210811415620003a357634e487b7160e01b600052602260045260246000fd5b50919050565b60805160a05160c051611450620003e760003960008181610265015261067301526000818161028c01526108de0152600061020101526114506000f3fe608060405234801561001057600080fd5b50600436106101775760003560e01c806340c10f19116100d857806395d89b411161008c578063d505accf11610066578063d505accf14610368578063dd62ed3e1461037b578063f2fde38b146103a657600080fd5b806395d89b411461033a578063a457c2d714610342578063a9059cbb1461035557600080fd5b806379cc6790116100bd57806379cc6790146102f45780637ecebe00146103075780638da5cb5b1461032757600080fd5b806340c10f19146102c157806370a08231146102d457600080fd5b8063313ce5671161012f578063355274ea11610114578063355274ea146102605780633644e5151461028757806339509351146102ae57600080fd5b8063313ce567146101fc57806331eecaf41461023557600080fd5b8063095ea7b311610160578063095ea7b3146101af57806318160ddd146101d257806323b872dd146101e957600080fd5b806306fdde031461017c57806308a1eee11461019a575b600080fd5b6101846103b9565b6040516101919190610e5d565b60405180910390f35b6101ad6101a8366004610e90565b610447565b005b6101c26101bd366004610ec5565b6104a8565b6040519015158152602001610191565b6101db60025481565b604051908152602001610191565b6101c26101f7366004610eef565b6104be565b6102237f000000000000000000000000000000000000000000000000000000000000000081565b60405160ff9091168152602001610191565b610248610243366004610e90565b610515565b6040516001600160a01b039091168152602001610191565b6101db7f000000000000000000000000000000000000000000000000000000000000000081565b6101db7f000000000000000000000000000000000000000000000000000000000000000081565b6101c26102bc366004610ec5565b61060f565b6101ad6102cf366004610ec5565b610646565b6101db6102e2366004610f2b565b60006020819052908152604090205481565b6101ad610302366004610ec5565b6106e7565b6101db610315366004610f2b565b60056020526000908152604090205481565b600654610248906001600160a01b031681565b610184610758565b6101c2610350366004610ec5565b610765565b6101c2610363366004610ec5565b61079c565b6101ad610376366004610f4d565b6107a9565b6101db610389366004610fc0565b600160209081526000928352604080842090915290825290205481565b6101ad6103b4366004610f2b565b610a6c565b600380546103c690610ff3565b80601f01602080910402602001604051908101604052809291908181526020018280546103f290610ff3565b801561043f5780601f106104145761010080835404028352916020019161043f565b820191906000526020600020905b81548152906001019060200180831161042257829003601f168201915b505050505081565b6006546001600160a01b03163314610472576040516330cd747160e01b815260040160405180910390fd5b600061047d82610515565b6001600160a01b0381166000908152602081905260409020549091506104a4908290610b4b565b5050565b60006104b5338484610bfe565b50600192915050565b6001600160a01b038316600090815260016020908152604080832033845290915281205460001981146104ff576104ff85336104fa8685611044565b610bfe565b61050a858585610c9b565b506001949350505050565b6006546040516000917fff00000000000000000000000000000000000000000000000000000000000000916001600160a01b0390911690849061055a60208201610e20565b601f1982820381018352601f90910116604081905261057c919060200161105b565b604051602081830303815290604052805190602001206040516020016105f194939291907fff0000000000000000000000000000000000000000000000000000000000000094909416845260609290921b6bffffffffffffffffffffffff191660018401526015830152603582015260550190565b60408051601f19818403018152919052805160209091012092915050565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916104b59185906104fa908690611077565b6006546001600160a01b03163314610671576040516330cd747160e01b815260040160405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000061069c8383610d77565b806106a657505050565b8060025411156106e2576040517fa4875a4900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050565b6006546001600160a01b03163314610712576040516330cd747160e01b815260040160405180910390fd5b6001600160a01b0382166000908152600160209081526040808320338452909152902054600019811461074e5761074e83336104fa8585611044565b6106e28383610b4b565b600480546103c690610ff3565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916104b59185906104fa908690611044565b60006104b5338484610c9b565b834211156107e3576040517f1a15a3cc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a081111561083d576040517f40c1e74800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8260ff16601b1415801561085557508260ff16601c14155b1561088c576040517f119bce3900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080518082018252600281527f19010000000000000000000000000000000000000000000000000000000000006020808301919091526001600160a01b038a166000908152600590915291822080547f0000000000000000000000000000000000000000000000000000000000000000917f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9918c918c918c91886109308361108f565b909155506040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810188905260e00160405160208183030381529060405280519060200120604051602001610994939291906110aa565b60408051601f198184030181528282528051602091820120600080855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa1580156109ff573d6000803e3d6000fd5b505050602060405103519050886001600160a01b0316816001600160a01b031614610a56576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610a61898989610bfe565b505050505050505050565b6006546001600160a01b03163314610a97576040516330cd747160e01b815260040160405180910390fd5b6001600160a01b038116610ad7576040517f49e27cff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6006546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600680547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b6001600160a01b038216610b7257604051630da30f6560e31b815260040160405180910390fd5b6001600160a01b03821660009081526020819052604081208054839290610b9a908490611044565b925050819055508060026000828254610bb39190611044565b90915550506040518181526000906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906020015b60405180910390a35050565b6001600160a01b0383161580610c1b57506001600160a01b038216155b15610c3957604051630da30f6560e31b815260040160405180910390fd5b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b0383161580610cb857506001600160a01b038216155b15610cd657604051630da30f6560e31b815260040160405180910390fd5b6001600160a01b03831660009081526020819052604081208054839290610cfe908490611044565b90915550506001600160a01b03821660009081526020819052604081208054839290610d2b908490611077565b92505081905550816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610c8e91815260200190565b6001600160a01b038216610d9e57604051630da30f6560e31b815260040160405180910390fd5b8060026000828254610db09190611077565b90915550506001600160a01b03821660009081526020819052604081208054839290610ddd908490611077565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90602001610bf2565b610349806110d283390190565b60005b83811015610e48578181015183820152602001610e30565b83811115610e57576000848401525b50505050565b6020815260008251806020840152610e7c816040850160208701610e2d565b601f01601f19169190910160400192915050565b600060208284031215610ea257600080fd5b5035919050565b80356001600160a01b0381168114610ec057600080fd5b919050565b60008060408385031215610ed857600080fd5b610ee183610ea9565b946020939093013593505050565b600080600060608486031215610f0457600080fd5b610f0d84610ea9565b9250610f1b60208501610ea9565b9150604084013590509250925092565b600060208284031215610f3d57600080fd5b610f4682610ea9565b9392505050565b600080600080600080600060e0888a031215610f6857600080fd5b610f7188610ea9565b9650610f7f60208901610ea9565b95506040880135945060608801359350608088013560ff81168114610fa357600080fd5b9699959850939692959460a0840135945060c09093013592915050565b60008060408385031215610fd357600080fd5b610fdc83610ea9565b9150610fea60208401610ea9565b90509250929050565b600181811c9082168061100757607f821691505b6020821081141561102857634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b6000828210156110565761105661102e565b500390565b6000825161106d818460208701610e2d565b9190910192915050565b6000821982111561108a5761108a61102e565b500190565b60006000198214156110a3576110a361102e565b5060010190565b600084516110bc818460208901610e2d565b9190910192835250602082015260400191905056fe6080604052600160005534801561001557600080fd5b50610324806100256000396000f3fe608060405234801561001057600080fd5b50600436106100355760003560e01c8062f55d9d1461003a5780631cff79cd1461004f575b600080fd5b61004d6100483660046101da565b610079565b005b61006261005d3660046101fc565b6100bb565b60405161007092919061027f565b60405180910390f35b6002600054141561009d5760405163caa30f5560e01b815260040160405180910390fd5b600260005573ffffffffffffffffffffffffffffffffffffffff8116ff5b60006060600260005414156100e35760405163caa30f5560e01b815260040160405180910390fd5b600260005573ffffffffffffffffffffffffffffffffffffffff85163b610136576040517f6f7c43f100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8473ffffffffffffffffffffffffffffffffffffffff16848460405161015d9291906102de565b6000604051808303816000865af19150503d806000811461019a576040519150601f19603f3d011682016040523d82523d6000602084013e61019f565b606091505b50600160005590969095509350505050565b803573ffffffffffffffffffffffffffffffffffffffff811681146101d557600080fd5b919050565b6000602082840312156101ec57600080fd5b6101f5826101b1565b9392505050565b60008060006040848603121561021157600080fd5b61021a846101b1565b9250602084013567ffffffffffffffff8082111561023757600080fd5b818601915086601f83011261024b57600080fd5b81358181111561025a57600080fd5b87602082850101111561026c57600080fd5b6020830194508093505050509250925092565b821515815260006020604081840152835180604085015260005b818110156102b557858101830151858201606001528201610299565b818111156102c7576000606083870101525b50601f01601f191692909201606001949350505050565b818382376000910190815291905056fea2646970667358221220dfb702492c35c6a884ac11997b483e3fee4ff8145c7abb0799d2a2fc8674c39364736f6c63430008090033a26469706673582212200c91fd2c0c0716a838a82654afcb7fba074539452c7c6cd867f9add7ce181d4a64736f6c63430008090033a2646970667358221220f353c41cd4ed6206c4282f2f493c7ccfaa3d7d29a1bafa7407ad53753f7d5de964736f6c63430008090033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/auth/AxelarAuthWeighted.sol/AxelarAuthWeighted.dbg.json b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/auth/AxelarAuthWeighted.sol/AxelarAuthWeighted.dbg.json deleted file mode 100644 index 34bc47b6..00000000 --- a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/auth/AxelarAuthWeighted.sol/AxelarAuthWeighted.dbg.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "_format": "hh-sol-dbg-1", - "buildInfo": "../../../../../build-info/3aa2fc6680ec7dd0d7e17835f8008fcc.json" -} diff --git a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/auth/AxelarAuthWeighted.sol/AxelarAuthWeighted.json b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/auth/AxelarAuthWeighted.sol/AxelarAuthWeighted.json deleted file mode 100644 index 0d3bdabe..00000000 --- a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/auth/AxelarAuthWeighted.sol/AxelarAuthWeighted.json +++ /dev/null @@ -1,240 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "AxelarAuthWeighted", - "sourceName": "@axelar-network/axelar-cgp-solidity/contracts/auth/AxelarAuthWeighted.sol", - "abi": [ - { - "inputs": [ - { - "internalType": "bytes[]", - "name": "recentOperators", - "type": "bytes[]" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "name": "DuplicateOperators", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidOperators", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidOwner", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidS", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidSignature", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidSignatureLength", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidThreshold", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidV", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidWeights", - "type": "error" - }, - { - "inputs": [], - "name": "LowSignaturesWeight", - "type": "error" - }, - { - "inputs": [], - "name": "MalformedSigners", - "type": "error" - }, - { - "inputs": [], - "name": "NotOwner", - "type": "error" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address[]", - "name": "newOperators", - "type": "address[]" - }, - { - "indexed": false, - "internalType": "uint256[]", - "name": "newWeights", - "type": "uint256[]" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "newThreshold", - "type": "uint256" - } - ], - "name": "OperatorshipTransferred", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "inputs": [], - "name": "currentEpoch", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "name": "epochForHash", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "hashForEpoch", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "params", - "type": "bytes" - } - ], - "name": "transferOperatorship", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "messageHash", - "type": "bytes32" - }, - { - "internalType": "bytes", - "name": "proof", - "type": "bytes" - } - ], - "name": "validateProof", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": "0x60806040523480156200001157600080fd5b5060405162001693380380620016938339810160408190526200003491620003bf565b600080546001600160a01b0319163390811782556040519091907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a360005b8151811015620000c057620000ad828281518110620000995762000099620004fd565b6020026020010151620000c860201b60201c565b620000b88162000529565b905062000076565b505062000761565b600080600083806020019051810190620000e39190620005b4565b8251825193965091945092509081158062000106575062000104856200027e565b155b156200012557604051630849699d60e11b815260040160405180910390fd5b818114620001465760405163108cef9d60e31b815260040160405180910390fd5b6000805b828110156200019257858181518110620001685762000168620004fd565b6020026020010151826200017d91906200069b565b91506200018a8162000529565b90506200014a565b50831580620001a057508381105b15620001bf5760405163aabd5a0960e01b815260040160405180910390fd5b86516020808901919091206000818152600390925260409091205415620001f95760405163adda47f760e01b815260040160405180910390fd5b600060015460016200020c91906200069b565b60018190556000818152600260209081526040808320869055858352600390915290819020829055519091507f05b53362d4afea7533e835bd99f6c0f2c251e2f08b5c461734829516519dd5ac906200026b908a908a908a90620006b6565b60405180910390a1505050505050505050565b6000805b6001835162000292919062000747565b811015620003145782620002a88260016200069b565b81518110620002bb57620002bb620004fd565b60200260200101516001600160a01b0316838281518110620002e157620002e1620004fd565b60200260200101516001600160a01b031610620003015750600092915050565b6200030c8162000529565b905062000282565b5060006001600160a01b031682600081518110620003365762000336620004fd565b60200260200101516001600160a01b031614159050919050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b038111828210171562000391576200039162000350565b604052919050565b60006001600160401b03821115620003b557620003b562000350565b5060051b60200190565b60006020808385031215620003d357600080fd5b82516001600160401b0380821115620003eb57600080fd5b8185019150601f86818401126200040157600080fd5b825162000418620004128262000399565b62000366565b81815260059190911b840185019085810190898311156200043857600080fd5b8686015b83811015620004ef57805186811115620004565760008081fd5b8701603f81018c13620004695760008081fd5b888101518781111562000480576200048062000350565b62000493818801601f19168b0162000366565b81815260408e81848601011115620004ab5760008081fd5b60005b83811015620004cb578481018201518382018e01528c01620004ae565b83811115620004dd5760008d85850101525b5050855250509187019187016200043c565b509998505050505050505050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060001982141562000540576200054062000513565b5060010190565b600082601f8301126200055957600080fd5b815160206200056c620004128362000399565b82815260059290921b840181019181810190868411156200058c57600080fd5b8286015b84811015620005a9578051835291830191830162000590565b509695505050505050565b600080600060608486031215620005ca57600080fd5b83516001600160401b0380821115620005e257600080fd5b818601915086601f830112620005f757600080fd5b815160206200060a620004128362000399565b82815260059290921b8401810191818101908a8411156200062a57600080fd5b948201945b83861015620006615785516001600160a01b0381168114620006515760008081fd5b825294820194908201906200062f565b918901519197509093505050808211156200067b57600080fd5b506200068a8682870162000547565b925050604084015190509250925092565b60008219821115620006b157620006b162000513565b500190565b606080825284519082018190526000906020906080840190828801845b82811015620006fa5781516001600160a01b031684529284019290840190600101620006d3565b5050508381038285015285518082528683019183019060005b81811015620007315783518352928401929184019160010162000713565b5050809350505050826040830152949350505050565b6000828210156200075c576200075c62000513565b500390565b610f2280620007716000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c8063ba6742e51161005b578063ba6742e5146100ec578063d289d1cb1461010c578063f1501c8914610121578063f2fde38b1461014157600080fd5b806373e3d66a1461008257806376671808146100aa5780638da5cb5b146100c1575b600080fd5b610095610090366004610933565b610154565b60405190151581526020015b60405180910390f35b6100b360015481565b6040519081526020016100a1565b6000546100d4906001600160a01b031681565b6040516001600160a01b0390911681526020016100a1565b6100b36100fa36600461097f565b60026020526000908152604090205481565b61011f61011a366004610998565b610201565b005b6100b361012f36600461097f565b60036020526000908152604090205481565b61011f61014f3660046109f2565b61026f565b60008080808061016686880188610bd0565b9350935093509350600084848460405160200161018593929190610cc0565b60408051601f19818403018152918152815160209283012060008181526003909352912054600154919250908115806101c8575060106101c58383610d63565b10155b156101e657604051630849699d60e11b815260040160405180910390fd5b6101f38b8888888861034d565b149998505050505050505050565b6000546001600160a01b0316331461022c576040516330cd747160e01b815260040160405180910390fd5b61026b82828080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061049d92505050565b5050565b6000546001600160a01b0316331461029a576040516330cd747160e01b815260040160405180910390fd5b6001600160a01b0381166102da576040517f49e27cff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b8351600080805b84518110156104635760006103828a87848151811061037557610375610d7a565b6020026020010151610687565b90505b84841080156103bf57508884815181106103a1576103a1610d7a565b60200260200101516001600160a01b0316816001600160a01b031614155b156103d4576103cd84610d90565b9350610385565b8484141561040e576040517fc6fb539300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b87848151811061042057610420610d7a565b6020026020010151836104339190610dab565b9250868310610446575050505050610496565b61044f84610d90565b9350508061045c90610d90565b9050610354565b506040517f203b225800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050505050565b6000806000838060200190518101906104b69190610e1e565b825182519396509194509250908115806104d657506104d48561082a565b155b156104f457604051630849699d60e11b815260040160405180910390fd5b81811461052d576040517f84677ce800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000805b828110156105705785818151811061054b5761054b610d7a565b60200260200101518261055e9190610dab565b915061056981610d90565b9050610531565b5083158061057d57508381105b156105b4576040517faabd5a0900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b86516020808901919091206000818152600390925260409091205415610606576040517fadda47f700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060015460016106179190610dab565b60018190556000818152600260209081526040808320869055858352600390915290819020829055519091507f05b53362d4afea7533e835bd99f6c0f2c251e2f08b5c461734829516519dd5ac90610674908a908a908a90610cc0565b60405180910390a1505050505050505050565b600081516041146106c4576040517f4be6321b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60208201516040830151606084015160001a7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0821115610730576040517f40c1e74800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8060ff16601b1415801561074857508060ff16601c14155b1561077f576040517f119bce3900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040805160008082526020820180845289905260ff841692820192909252606081018590526080810184905260019060a0016020604051602081039080840390855afa1580156107d3573d6000803e3d6000fd5b505050602060405103519450846001600160a01b03161415610821576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50505092915050565b6000805b6001835161083c9190610d63565b8110156108b1578261084f826001610dab565b8151811061085f5761085f610d7a565b60200260200101516001600160a01b031683828151811061088257610882610d7a565b60200260200101516001600160a01b0316106108a15750600092915050565b6108aa81610d90565b905061082e565b5060006001600160a01b0316826000815181106108d0576108d0610d7a565b60200260200101516001600160a01b031614159050919050565b60008083601f8401126108fc57600080fd5b50813567ffffffffffffffff81111561091457600080fd5b60208301915083602082850101111561092c57600080fd5b9250929050565b60008060006040848603121561094857600080fd5b83359250602084013567ffffffffffffffff81111561096657600080fd5b610972868287016108ea565b9497909650939450505050565b60006020828403121561099157600080fd5b5035919050565b600080602083850312156109ab57600080fd5b823567ffffffffffffffff8111156109c257600080fd5b6109ce858286016108ea565b90969095509350505050565b6001600160a01b03811681146109ef57600080fd5b50565b600060208284031215610a0457600080fd5b8135610a0f816109da565b9392505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715610a5557610a55610a16565b604052919050565b600067ffffffffffffffff821115610a7757610a77610a16565b5060051b60200190565b600082601f830112610a9257600080fd5b81356020610aa7610aa283610a5d565b610a2c565b82815260059290921b84018101918181019086841115610ac657600080fd5b8286015b84811015610ae15780358352918301918301610aca565b509695505050505050565b6000601f8381840112610afe57600080fd5b82356020610b0e610aa283610a5d565b82815260059290921b85018101918181019087841115610b2d57600080fd5b8287015b84811015610bc457803567ffffffffffffffff80821115610b525760008081fd5b818a0191508a603f830112610b675760008081fd5b85820135604082821115610b7d57610b7d610a16565b610b8e828b01601f19168901610a2c565b92508183528c81838601011115610ba55760008081fd5b8181850189850137506000908201870152845250918301918301610b31565b50979650505050505050565b60008060008060808587031215610be657600080fd5b843567ffffffffffffffff80821115610bfe57600080fd5b818701915087601f830112610c1257600080fd5b81356020610c22610aa283610a5d565b82815260059290921b8401810191818101908b841115610c4157600080fd5b948201945b83861015610c68578535610c59816109da565b82529482019490820190610c46565b98505088013592505080821115610c7e57600080fd5b610c8a88838901610a81565b9450604087013593506060870135915080821115610ca757600080fd5b50610cb487828801610aec565b91505092959194509250565b606080825284519082018190526000906020906080840190828801845b82811015610d025781516001600160a01b031684529284019290840190600101610cdd565b5050508381038285015285518082528683019183019060005b81811015610d3757835183529284019291840191600101610d1b565b5050809350505050826040830152949350505050565b634e487b7160e01b600052601160045260246000fd5b600082821015610d7557610d75610d4d565b500390565b634e487b7160e01b600052603260045260246000fd5b6000600019821415610da457610da4610d4d565b5060010190565b60008219821115610dbe57610dbe610d4d565b500190565b600082601f830112610dd457600080fd5b81516020610de4610aa283610a5d565b82815260059290921b84018101918181019086841115610e0357600080fd5b8286015b84811015610ae15780518352918301918301610e07565b600080600060608486031215610e3357600080fd5b835167ffffffffffffffff80821115610e4b57600080fd5b818601915086601f830112610e5f57600080fd5b81516020610e6f610aa283610a5d565b82815260059290921b8401810191818101908a841115610e8e57600080fd5b948201945b83861015610eb5578551610ea6816109da565b82529482019490820190610e93565b91890151919750909350505080821115610ece57600080fd5b50610edb86828701610dc3565b92505060408401519050925092509256fea2646970667358221220b2b16cebc6a5c29962a37cc463b89f47fd536606cd0b85d6474a2fc4ad714c4d64736f6c63430008090033", - "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061007d5760003560e01c8063ba6742e51161005b578063ba6742e5146100ec578063d289d1cb1461010c578063f1501c8914610121578063f2fde38b1461014157600080fd5b806373e3d66a1461008257806376671808146100aa5780638da5cb5b146100c1575b600080fd5b610095610090366004610933565b610154565b60405190151581526020015b60405180910390f35b6100b360015481565b6040519081526020016100a1565b6000546100d4906001600160a01b031681565b6040516001600160a01b0390911681526020016100a1565b6100b36100fa36600461097f565b60026020526000908152604090205481565b61011f61011a366004610998565b610201565b005b6100b361012f36600461097f565b60036020526000908152604090205481565b61011f61014f3660046109f2565b61026f565b60008080808061016686880188610bd0565b9350935093509350600084848460405160200161018593929190610cc0565b60408051601f19818403018152918152815160209283012060008181526003909352912054600154919250908115806101c8575060106101c58383610d63565b10155b156101e657604051630849699d60e11b815260040160405180910390fd5b6101f38b8888888861034d565b149998505050505050505050565b6000546001600160a01b0316331461022c576040516330cd747160e01b815260040160405180910390fd5b61026b82828080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061049d92505050565b5050565b6000546001600160a01b0316331461029a576040516330cd747160e01b815260040160405180910390fd5b6001600160a01b0381166102da576040517f49e27cff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b8351600080805b84518110156104635760006103828a87848151811061037557610375610d7a565b6020026020010151610687565b90505b84841080156103bf57508884815181106103a1576103a1610d7a565b60200260200101516001600160a01b0316816001600160a01b031614155b156103d4576103cd84610d90565b9350610385565b8484141561040e576040517fc6fb539300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b87848151811061042057610420610d7a565b6020026020010151836104339190610dab565b9250868310610446575050505050610496565b61044f84610d90565b9350508061045c90610d90565b9050610354565b506040517f203b225800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050505050565b6000806000838060200190518101906104b69190610e1e565b825182519396509194509250908115806104d657506104d48561082a565b155b156104f457604051630849699d60e11b815260040160405180910390fd5b81811461052d576040517f84677ce800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000805b828110156105705785818151811061054b5761054b610d7a565b60200260200101518261055e9190610dab565b915061056981610d90565b9050610531565b5083158061057d57508381105b156105b4576040517faabd5a0900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b86516020808901919091206000818152600390925260409091205415610606576040517fadda47f700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060015460016106179190610dab565b60018190556000818152600260209081526040808320869055858352600390915290819020829055519091507f05b53362d4afea7533e835bd99f6c0f2c251e2f08b5c461734829516519dd5ac90610674908a908a908a90610cc0565b60405180910390a1505050505050505050565b600081516041146106c4576040517f4be6321b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60208201516040830151606084015160001a7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0821115610730576040517f40c1e74800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8060ff16601b1415801561074857508060ff16601c14155b1561077f576040517f119bce3900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040805160008082526020820180845289905260ff841692820192909252606081018590526080810184905260019060a0016020604051602081039080840390855afa1580156107d3573d6000803e3d6000fd5b505050602060405103519450846001600160a01b03161415610821576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50505092915050565b6000805b6001835161083c9190610d63565b8110156108b1578261084f826001610dab565b8151811061085f5761085f610d7a565b60200260200101516001600160a01b031683828151811061088257610882610d7a565b60200260200101516001600160a01b0316106108a15750600092915050565b6108aa81610d90565b905061082e565b5060006001600160a01b0316826000815181106108d0576108d0610d7a565b60200260200101516001600160a01b031614159050919050565b60008083601f8401126108fc57600080fd5b50813567ffffffffffffffff81111561091457600080fd5b60208301915083602082850101111561092c57600080fd5b9250929050565b60008060006040848603121561094857600080fd5b83359250602084013567ffffffffffffffff81111561096657600080fd5b610972868287016108ea565b9497909650939450505050565b60006020828403121561099157600080fd5b5035919050565b600080602083850312156109ab57600080fd5b823567ffffffffffffffff8111156109c257600080fd5b6109ce858286016108ea565b90969095509350505050565b6001600160a01b03811681146109ef57600080fd5b50565b600060208284031215610a0457600080fd5b8135610a0f816109da565b9392505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715610a5557610a55610a16565b604052919050565b600067ffffffffffffffff821115610a7757610a77610a16565b5060051b60200190565b600082601f830112610a9257600080fd5b81356020610aa7610aa283610a5d565b610a2c565b82815260059290921b84018101918181019086841115610ac657600080fd5b8286015b84811015610ae15780358352918301918301610aca565b509695505050505050565b6000601f8381840112610afe57600080fd5b82356020610b0e610aa283610a5d565b82815260059290921b85018101918181019087841115610b2d57600080fd5b8287015b84811015610bc457803567ffffffffffffffff80821115610b525760008081fd5b818a0191508a603f830112610b675760008081fd5b85820135604082821115610b7d57610b7d610a16565b610b8e828b01601f19168901610a2c565b92508183528c81838601011115610ba55760008081fd5b8181850189850137506000908201870152845250918301918301610b31565b50979650505050505050565b60008060008060808587031215610be657600080fd5b843567ffffffffffffffff80821115610bfe57600080fd5b818701915087601f830112610c1257600080fd5b81356020610c22610aa283610a5d565b82815260059290921b8401810191818101908b841115610c4157600080fd5b948201945b83861015610c68578535610c59816109da565b82529482019490820190610c46565b98505088013592505080821115610c7e57600080fd5b610c8a88838901610a81565b9450604087013593506060870135915080821115610ca757600080fd5b50610cb487828801610aec565b91505092959194509250565b606080825284519082018190526000906020906080840190828801845b82811015610d025781516001600160a01b031684529284019290840190600101610cdd565b5050508381038285015285518082528683019183019060005b81811015610d3757835183529284019291840191600101610d1b565b5050809350505050826040830152949350505050565b634e487b7160e01b600052601160045260246000fd5b600082821015610d7557610d75610d4d565b500390565b634e487b7160e01b600052603260045260246000fd5b6000600019821415610da457610da4610d4d565b5060010190565b60008219821115610dbe57610dbe610d4d565b500190565b600082601f830112610dd457600080fd5b81516020610de4610aa283610a5d565b82815260059290921b84018101918181019086841115610e0357600080fd5b8286015b84811015610ae15780518352918301918301610e07565b600080600060608486031215610e3357600080fd5b835167ffffffffffffffff80821115610e4b57600080fd5b818601915086601f830112610e5f57600080fd5b81516020610e6f610aa283610a5d565b82815260059290921b8401810191818101908a841115610e8e57600080fd5b948201945b83861015610eb5578551610ea6816109da565b82529482019490820190610e93565b91890151919750909350505080821115610ece57600080fd5b50610edb86828701610dc3565b92505060408401519050925092509256fea2646970667358221220b2b16cebc6a5c29962a37cc463b89f47fd536606cd0b85d6474a2fc4ad714c4d64736f6c63430008090033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/gas-service/AxelarGasService.sol/AxelarGasService.dbg.json b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/gas-service/AxelarGasService.sol/AxelarGasService.dbg.json deleted file mode 100644 index 34bc47b6..00000000 --- a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/gas-service/AxelarGasService.sol/AxelarGasService.dbg.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "_format": "hh-sol-dbg-1", - "buildInfo": "../../../../../build-info/3aa2fc6680ec7dd0d7e17835f8008fcc.json" -} diff --git a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/gas-service/AxelarGasService.sol/AxelarGasService.json b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/gas-service/AxelarGasService.sol/AxelarGasService.json deleted file mode 100644 index cea28d09..00000000 --- a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/gas-service/AxelarGasService.sol/AxelarGasService.json +++ /dev/null @@ -1,715 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "AxelarGasService", - "sourceName": "@axelar-network/axelar-cgp-solidity/contracts/gas-service/AxelarGasService.sol", - "abi": [ - { - "inputs": [], - "name": "InvalidAddress", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidCodeHash", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidImplementation", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidOwner", - "type": "error" - }, - { - "inputs": [], - "name": "NotOwner", - "type": "error" - }, - { - "inputs": [], - "name": "NotProxy", - "type": "error" - }, - { - "inputs": [], - "name": "NothingReceived", - "type": "error" - }, - { - "inputs": [], - "name": "SetupFailed", - "type": "error" - }, - { - "inputs": [], - "name": "TransferFailed", - "type": "error" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "txHash", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "logIndex", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "gasToken", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "gasFeeAmount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "refundAddress", - "type": "address" - } - ], - "name": "GasAdded", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "sourceAddress", - "type": "address" - }, - { - "indexed": false, - "internalType": "string", - "name": "destinationChain", - "type": "string" - }, - { - "indexed": false, - "internalType": "string", - "name": "destinationAddress", - "type": "string" - }, - { - "indexed": true, - "internalType": "bytes32", - "name": "payloadHash", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "address", - "name": "gasToken", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "gasFeeAmount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "refundAddress", - "type": "address" - } - ], - "name": "GasPaidForContractCall", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "sourceAddress", - "type": "address" - }, - { - "indexed": false, - "internalType": "string", - "name": "destinationChain", - "type": "string" - }, - { - "indexed": false, - "internalType": "string", - "name": "destinationAddress", - "type": "string" - }, - { - "indexed": true, - "internalType": "bytes32", - "name": "payloadHash", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "string", - "name": "symbol", - "type": "string" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "gasToken", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "gasFeeAmount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "refundAddress", - "type": "address" - } - ], - "name": "GasPaidForContractCallWithToken", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "txHash", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "logIndex", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "gasFeeAmount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "refundAddress", - "type": "address" - } - ], - "name": "NativeGasAdded", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "sourceAddress", - "type": "address" - }, - { - "indexed": false, - "internalType": "string", - "name": "destinationChain", - "type": "string" - }, - { - "indexed": false, - "internalType": "string", - "name": "destinationAddress", - "type": "string" - }, - { - "indexed": true, - "internalType": "bytes32", - "name": "payloadHash", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "gasFeeAmount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "refundAddress", - "type": "address" - } - ], - "name": "NativeGasPaidForContractCall", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "sourceAddress", - "type": "address" - }, - { - "indexed": false, - "internalType": "string", - "name": "destinationChain", - "type": "string" - }, - { - "indexed": false, - "internalType": "string", - "name": "destinationAddress", - "type": "string" - }, - { - "indexed": true, - "internalType": "bytes32", - "name": "payloadHash", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "string", - "name": "symbol", - "type": "string" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "gasFeeAmount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "refundAddress", - "type": "address" - } - ], - "name": "NativeGasPaidForContractCallWithToken", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "newImplementation", - "type": "address" - } - ], - "name": "Upgraded", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "txHash", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "logIndex", - "type": "uint256" - }, - { - "internalType": "address", - "name": "gasToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "gasFeeAmount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "refundAddress", - "type": "address" - } - ], - "name": "addGas", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "txHash", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "logIndex", - "type": "uint256" - }, - { - "internalType": "address", - "name": "refundAddress", - "type": "address" - } - ], - "name": "addNativeGas", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address payable", - "name": "receiver", - "type": "address" - }, - { - "internalType": "address[]", - "name": "tokens", - "type": "address[]" - } - ], - "name": "collectFees", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "contractId", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "implementation", - "outputs": [ - { - "internalType": "address", - "name": "implementation_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "owner_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "internalType": "string", - "name": "destinationChain", - "type": "string" - }, - { - "internalType": "string", - "name": "destinationAddress", - "type": "string" - }, - { - "internalType": "bytes", - "name": "payload", - "type": "bytes" - }, - { - "internalType": "address", - "name": "gasToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "gasFeeAmount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "refundAddress", - "type": "address" - } - ], - "name": "payGasForContractCall", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "internalType": "string", - "name": "destinationChain", - "type": "string" - }, - { - "internalType": "string", - "name": "destinationAddress", - "type": "string" - }, - { - "internalType": "bytes", - "name": "payload", - "type": "bytes" - }, - { - "internalType": "string", - "name": "symbol", - "type": "string" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "gasToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "gasFeeAmount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "refundAddress", - "type": "address" - } - ], - "name": "payGasForContractCallWithToken", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "internalType": "string", - "name": "destinationChain", - "type": "string" - }, - { - "internalType": "string", - "name": "destinationAddress", - "type": "string" - }, - { - "internalType": "bytes", - "name": "payload", - "type": "bytes" - }, - { - "internalType": "address", - "name": "refundAddress", - "type": "address" - } - ], - "name": "payNativeGasForContractCall", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "internalType": "string", - "name": "destinationChain", - "type": "string" - }, - { - "internalType": "string", - "name": "destinationAddress", - "type": "string" - }, - { - "internalType": "bytes", - "name": "payload", - "type": "bytes" - }, - { - "internalType": "string", - "name": "symbol", - "type": "string" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "refundAddress", - "type": "address" - } - ], - "name": "payNativeGasForContractCallWithToken", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address payable", - "name": "receiver", - "type": "address" - }, - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "refund", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "setup", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newImplementation", - "type": "address" - }, - { - "internalType": "bytes32", - "name": "newImplementationCodeHash", - "type": "bytes32" - }, - { - "internalType": "bytes", - "name": "params", - "type": "bytes" - } - ], - "name": "upgrade", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x608060405234801561001057600080fd5b50611874806100206000396000f3fe6080604052600436106100dd5760003560e01c8063ab1999ba1161007f578063da854d7511610059578063da854d7514610259578063edb6b3a514610279578063f2fde38b14610299578063fd09e3bd146102b957600080fd5b8063ab1999ba14610213578063c62c200214610233578063cd433ada1461024657600080fd5b806382ad6f35116100bb57806382ad6f351461017f5780638da5cb5b1461019f5780639ded06df146101d3578063a3499c73146101f357600080fd5b80630c93e3bb146100e25780635c60da1b146100f75780638291286c14610144575b600080fd5b6100f56100f0366004610f33565b6102d9565b005b34801561010357600080fd5b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc545b6040516001600160a01b0390911681526020015b60405180910390f35b34801561015057600080fd5b506040517ffaa2f015f2ce5aee225904728de2def86eb8837491efd21f1a04fc20d8e923f6815260200161013b565b34801561018b57600080fd5b506100f561019a366004610ff3565b610364565b3480156101ab57600080fd5b507f02016836a56b71f0d02689e69e326f4f4c1b9057164ef592671cf0d37c8040c054610127565b3480156101df57600080fd5b506100f56101ee366004611034565b610435565b3480156101ff57600080fd5b506100f561020e366004611076565b6104a4565b34801561021f57600080fd5b506100f561022e3660046110d2565b6107c0565b6100f5610241366004611128565b610820565b6100f561025436600461121b565b6108b4565b34801561026557600080fd5b506100f5610274366004611254565b61091c565b34801561028557600080fd5b506100f561029436600461137f565b610ad7565b3480156102a557600080fd5b506100f56102b436600461149d565b610b59565b3480156102c557600080fd5b506100f56102d43660046114c1565b610c41565b346102f75760405163b5c74a2760e01b815260040160405180910390fd5b8282604051610307929190611599565b6040518091039020886001600160a01b03167f617332c1832058df6ee45fcbdf471251474c9945a8e5d229287a21a5f67ccf0a898989893488604051610352969594939291906115d2565b60405180910390a35050505050505050565b3361038d7f02016836a56b71f0d02689e69e326f4f4c1b9057164ef592671cf0d37c8040c05490565b6001600160a01b0316146103b4576040516330cd747160e01b815260040160405180910390fd5b6001600160a01b0383166103db5760405163e6c4247b60e01b815260040160405180910390fd5b6001600160a01b038216610425576040516001600160a01b0384169082156108fc029083906000818181858888f1935050505015801561041f573d6000803e3d6000fd5b50505050565b610430828483610cbd565b505050565b600061045f7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b031614156104a0576040517fbf10dd3a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b336104cd7f02016836a56b71f0d02689e69e326f4f4c1b9057164ef592671cf0d37c8040c05490565b6001600160a01b0316146104f4576040516330cd747160e01b815260040160405180910390fd5b306001600160a01b0316638291286c6040518163ffffffff1660e01b815260040160206040518083038186803b15801561052d57600080fd5b505afa158015610541573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610565919061161c565b846001600160a01b0316638291286c6040518163ffffffff1660e01b815260040160206040518083038186803b15801561059e57600080fd5b505afa1580156105b2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105d6919061161c565b1461060d576040517f68155f9a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b836001600160a01b03163f8314610650576040517f8f84fb2400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8015610765576000846001600160a01b0316639ded06df60e01b848460405160240161067d929190611635565b60408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009094169390931790925290516106e8919061167d565b600060405180830381855af49150503d8060008114610723576040519150601f19603f3d011682016040523d82523d6000602084013e610728565b606091505b5050905080610763576040517f97905dfb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505b6040516001600160a01b038516907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a25050507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b6107cb833384610e52565b604080516001600160a01b038581168252602082018590528316818301529051859187917f2275e75614080f9782f72563c2c1688c901c5339c7f9f436d323f9386fed700a9181900360600190a35050505050565b3461083e5760405163b5c74a2760e01b815260040160405180910390fd5b858560405161084e929190611599565b60405180910390208b6001600160a01b03167f999d431b58761213cf53af96262b67a069cbd963499fd8effd1e21556217b8418c8c8c8c8a8a8a348b60405161089f99989796959493929190611699565b60405180910390a35050505050505050505050565b346108d25760405163b5c74a2760e01b815260040160405180910390fd5b604080513481526001600160a01b0383166020820152839185917ffeb6b00343feee0f29a1a4345f8bf93ca1c73ee922248a4237a4e50d6447604e910160405180910390a3505050565b336109457f02016836a56b71f0d02689e69e326f4f4c1b9057164ef592671cf0d37c8040c05490565b6001600160a01b03161461096c576040516330cd747160e01b815260040160405180910390fd5b6001600160a01b0383166109935760405163e6c4247b60e01b815260040160405180910390fd5b60005b8181101561041f5760008383838181106109b2576109b2611700565b90506020020160208101906109c7919061149d565b90506001600160a01b038116610a1c57478015610a16576040516001600160a01b0387169082156108fc029083906000818181858888f19350505050158015610a14573d6000803e3d6000fd5b505b50610ac4565b6040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526000906001600160a01b038316906370a082319060240160206040518083038186803b158015610a7757600080fd5b505afa158015610a8b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aaf919061161c565b90508015610ac257610ac2828783610cbd565b505b5080610acf81611716565b915050610996565b610ae2833384610e52565b8686604051610af2929190611599565b60405180910390208c6001600160a01b03167f8875f9764f28fa82d3e7ff1b80bd5c8f665e1f42fcd8c2faebc7c400a4ba1bbd8d8d8d8d8b8b8b8b8b604051610b439998979695949392919061173f565b60405180910390a3505050505050505050505050565b33610b827f02016836a56b71f0d02689e69e326f4f4c1b9057164ef592671cf0d37c8040c05490565b6001600160a01b031614610ba9576040516330cd747160e01b815260040160405180910390fd5b6001600160a01b038116610be9576040517f49e27cff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040516001600160a01b038216907f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc68616390600090a27f02016836a56b71f0d02689e69e326f4f4c1b9057164ef592671cf0d37c8040c055565b610c4c833384610e52565b8484604051610c5c929190611599565b60405180910390208a6001600160a01b03167f99206760f0be19dd093729bd35e5924daff5e217bcedc5223ed067b60008cf8a8b8b8b8b898989604051610ca997969594939291906117c8565b60405180910390a350505050505050505050565b80610cdb5760405163b5c74a2760e01b815260040160405180910390fd5b6040516001600160a01b0383811660248301526044820183905260009182918616907fa9059cbb00000000000000000000000000000000000000000000000000000000906064015b60408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909416939093179092529051610d8e919061167d565b6000604051808303816000865af19150503d8060008114610dcb576040519150601f19603f3d011682016040523d82523d6000602084013e610dd0565b606091505b50915091506000828015610dfc575081511580610dfc575081806020019051810190610dfc919061181c565b9050801580610e1357506001600160a01b0386163b155b15610e4a576040517f90b8ec1800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050505050565b80610e705760405163b5c74a2760e01b815260040160405180910390fd5b6040516001600160a01b0383811660248301523060448301526064820183905260009182918616907f23b872dd0000000000000000000000000000000000000000000000000000000090608401610d23565b6001600160a01b0381168114610ed757600080fd5b50565b8035610ee581610ec2565b919050565b60008083601f840112610efc57600080fd5b50813567ffffffffffffffff811115610f1457600080fd5b602083019150836020828501011115610f2c57600080fd5b9250929050565b60008060008060008060008060a0898b031215610f4f57600080fd5b8835610f5a81610ec2565b9750602089013567ffffffffffffffff80821115610f7757600080fd5b610f838c838d01610eea565b909950975060408b0135915080821115610f9c57600080fd5b610fa88c838d01610eea565b909750955060608b0135915080821115610fc157600080fd5b50610fce8b828c01610eea565b9094509250506080890135610fe281610ec2565b809150509295985092959890939650565b60008060006060848603121561100857600080fd5b833561101381610ec2565b9250602084013561102381610ec2565b929592945050506040919091013590565b6000806020838503121561104757600080fd5b823567ffffffffffffffff81111561105e57600080fd5b61106a85828601610eea565b90969095509350505050565b6000806000806060858703121561108c57600080fd5b843561109781610ec2565b935060208501359250604085013567ffffffffffffffff8111156110ba57600080fd5b6110c687828801610eea565b95989497509550505050565b600080600080600060a086880312156110ea57600080fd5b8535945060208601359350604086013561110381610ec2565b925060608601359150608086013561111a81610ec2565b809150509295509295909350565b600080600080600080600080600080600060e08c8e03121561114957600080fd5b6111528c610eda565b9a5067ffffffffffffffff8060208e0135111561116e57600080fd5b61117e8e60208f01358f01610eea565b909b50995060408d013581101561119457600080fd5b6111a48e60408f01358f01610eea565b909950975060608d01358110156111ba57600080fd5b6111ca8e60608f01358f01610eea565b909750955060808d01358110156111e057600080fd5b506111f18d60808e01358e01610eea565b909450925060a08c0135915061120960c08d01610eda565b90509295989b509295989b9093969950565b60008060006060848603121561123057600080fd5b8335925060208401359150604084013561124981610ec2565b809150509250925092565b60008060006040848603121561126957600080fd5b833561127481610ec2565b9250602084013567ffffffffffffffff8082111561129157600080fd5b818601915086601f8301126112a557600080fd5b8135818111156112b457600080fd5b8760208260051b85010111156112c957600080fd5b6020830194508093505050509250925092565b634e487b7160e01b600052604160045260246000fd5b600082601f83011261130357600080fd5b813567ffffffffffffffff8082111561131e5761131e6112dc565b604051601f8301601f19908116603f01168101908282118183101715611346576113466112dc565b8160405283815286602085880101111561135f57600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000806000806000806000806000806000806101208d8f0312156113a257600080fd5b6113ab8d610eda565b9b5067ffffffffffffffff60208e013511156113c657600080fd5b6113d68e60208f01358f01610eea565b909b50995067ffffffffffffffff60408e013511156113f457600080fd5b6114048e60408f01358f01610eea565b909950975067ffffffffffffffff60608e0135111561142257600080fd5b6114328e60608f01358f01610eea565b909750955067ffffffffffffffff60808e0135111561145057600080fd5b6114608e60808f01358f016112f2565b945060a08d0135935061147560c08e01610eda565b925060e08d0135915061148b6101008e01610eda565b90509295989b509295989b509295989b565b6000602082840312156114af57600080fd5b81356114ba81610ec2565b9392505050565b60008060008060008060008060008060e08b8d0312156114e057600080fd5b8a356114eb81610ec2565b995060208b013567ffffffffffffffff8082111561150857600080fd5b6115148e838f01610eea565b909b50995060408d013591508082111561152d57600080fd5b6115398e838f01610eea565b909950975060608d013591508082111561155257600080fd5b5061155f8d828e01610eea565b90965094505060808b013561157381610ec2565b925060a08b0135915061158860c08c01610eda565b90509295989b9194979a5092959850565b8183823760009101908152919050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6080815260006115e660808301888a6115a9565b82810360208401526115f98187896115a9565b9150508360408301526001600160a01b0383166060830152979650505050505050565b60006020828403121561162e57600080fd5b5051919050565b6020815260006116496020830184866115a9565b949350505050565b60005b8381101561166c578181015183820152602001611654565b8381111561041f5750506000910152565b6000825161168f818460208701611651565b9190910192915050565b60c0815260006116ad60c083018b8d6115a9565b82810360208401526116c0818a8c6115a9565b905082810360408401526116d581888a6115a9565b6060840196909652505060808101929092526001600160a01b031660a0909101529695505050505050565b634e487b7160e01b600052603260045260246000fd5b600060001982141561173857634e487b7160e01b600052601160045260246000fd5b5060010190565b60e08152600061175360e083018b8d6115a9565b8281036020840152611766818a8c6115a9565b905082810360408401528751808252611786816020840160208c01611651565b60608401979097526001600160a01b03958616608084015260a083019490945250921660c0909201919091526020601f909201601f1916010195945050505050565b60a0815260006117dc60a08301898b6115a9565b82810360208401526117ef81888a6115a9565b6001600160a01b039687166040850152606084019590955250509216608090920191909152949350505050565b60006020828403121561182e57600080fd5b815180151581146114ba57600080fdfea2646970667358221220ac57334720401ac9274c7c8abe4ce41af814847d9b2d6fdeb3d1832e5719fb8464736f6c63430008090033", - "deployedBytecode": "0x6080604052600436106100dd5760003560e01c8063ab1999ba1161007f578063da854d7511610059578063da854d7514610259578063edb6b3a514610279578063f2fde38b14610299578063fd09e3bd146102b957600080fd5b8063ab1999ba14610213578063c62c200214610233578063cd433ada1461024657600080fd5b806382ad6f35116100bb57806382ad6f351461017f5780638da5cb5b1461019f5780639ded06df146101d3578063a3499c73146101f357600080fd5b80630c93e3bb146100e25780635c60da1b146100f75780638291286c14610144575b600080fd5b6100f56100f0366004610f33565b6102d9565b005b34801561010357600080fd5b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc545b6040516001600160a01b0390911681526020015b60405180910390f35b34801561015057600080fd5b506040517ffaa2f015f2ce5aee225904728de2def86eb8837491efd21f1a04fc20d8e923f6815260200161013b565b34801561018b57600080fd5b506100f561019a366004610ff3565b610364565b3480156101ab57600080fd5b507f02016836a56b71f0d02689e69e326f4f4c1b9057164ef592671cf0d37c8040c054610127565b3480156101df57600080fd5b506100f56101ee366004611034565b610435565b3480156101ff57600080fd5b506100f561020e366004611076565b6104a4565b34801561021f57600080fd5b506100f561022e3660046110d2565b6107c0565b6100f5610241366004611128565b610820565b6100f561025436600461121b565b6108b4565b34801561026557600080fd5b506100f5610274366004611254565b61091c565b34801561028557600080fd5b506100f561029436600461137f565b610ad7565b3480156102a557600080fd5b506100f56102b436600461149d565b610b59565b3480156102c557600080fd5b506100f56102d43660046114c1565b610c41565b346102f75760405163b5c74a2760e01b815260040160405180910390fd5b8282604051610307929190611599565b6040518091039020886001600160a01b03167f617332c1832058df6ee45fcbdf471251474c9945a8e5d229287a21a5f67ccf0a898989893488604051610352969594939291906115d2565b60405180910390a35050505050505050565b3361038d7f02016836a56b71f0d02689e69e326f4f4c1b9057164ef592671cf0d37c8040c05490565b6001600160a01b0316146103b4576040516330cd747160e01b815260040160405180910390fd5b6001600160a01b0383166103db5760405163e6c4247b60e01b815260040160405180910390fd5b6001600160a01b038216610425576040516001600160a01b0384169082156108fc029083906000818181858888f1935050505015801561041f573d6000803e3d6000fd5b50505050565b610430828483610cbd565b505050565b600061045f7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b031614156104a0576040517fbf10dd3a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b336104cd7f02016836a56b71f0d02689e69e326f4f4c1b9057164ef592671cf0d37c8040c05490565b6001600160a01b0316146104f4576040516330cd747160e01b815260040160405180910390fd5b306001600160a01b0316638291286c6040518163ffffffff1660e01b815260040160206040518083038186803b15801561052d57600080fd5b505afa158015610541573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610565919061161c565b846001600160a01b0316638291286c6040518163ffffffff1660e01b815260040160206040518083038186803b15801561059e57600080fd5b505afa1580156105b2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105d6919061161c565b1461060d576040517f68155f9a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b836001600160a01b03163f8314610650576040517f8f84fb2400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8015610765576000846001600160a01b0316639ded06df60e01b848460405160240161067d929190611635565b60408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009094169390931790925290516106e8919061167d565b600060405180830381855af49150503d8060008114610723576040519150601f19603f3d011682016040523d82523d6000602084013e610728565b606091505b5050905080610763576040517f97905dfb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505b6040516001600160a01b038516907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a25050507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b6107cb833384610e52565b604080516001600160a01b038581168252602082018590528316818301529051859187917f2275e75614080f9782f72563c2c1688c901c5339c7f9f436d323f9386fed700a9181900360600190a35050505050565b3461083e5760405163b5c74a2760e01b815260040160405180910390fd5b858560405161084e929190611599565b60405180910390208b6001600160a01b03167f999d431b58761213cf53af96262b67a069cbd963499fd8effd1e21556217b8418c8c8c8c8a8a8a348b60405161089f99989796959493929190611699565b60405180910390a35050505050505050505050565b346108d25760405163b5c74a2760e01b815260040160405180910390fd5b604080513481526001600160a01b0383166020820152839185917ffeb6b00343feee0f29a1a4345f8bf93ca1c73ee922248a4237a4e50d6447604e910160405180910390a3505050565b336109457f02016836a56b71f0d02689e69e326f4f4c1b9057164ef592671cf0d37c8040c05490565b6001600160a01b03161461096c576040516330cd747160e01b815260040160405180910390fd5b6001600160a01b0383166109935760405163e6c4247b60e01b815260040160405180910390fd5b60005b8181101561041f5760008383838181106109b2576109b2611700565b90506020020160208101906109c7919061149d565b90506001600160a01b038116610a1c57478015610a16576040516001600160a01b0387169082156108fc029083906000818181858888f19350505050158015610a14573d6000803e3d6000fd5b505b50610ac4565b6040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526000906001600160a01b038316906370a082319060240160206040518083038186803b158015610a7757600080fd5b505afa158015610a8b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aaf919061161c565b90508015610ac257610ac2828783610cbd565b505b5080610acf81611716565b915050610996565b610ae2833384610e52565b8686604051610af2929190611599565b60405180910390208c6001600160a01b03167f8875f9764f28fa82d3e7ff1b80bd5c8f665e1f42fcd8c2faebc7c400a4ba1bbd8d8d8d8d8b8b8b8b8b604051610b439998979695949392919061173f565b60405180910390a3505050505050505050505050565b33610b827f02016836a56b71f0d02689e69e326f4f4c1b9057164ef592671cf0d37c8040c05490565b6001600160a01b031614610ba9576040516330cd747160e01b815260040160405180910390fd5b6001600160a01b038116610be9576040517f49e27cff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040516001600160a01b038216907f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc68616390600090a27f02016836a56b71f0d02689e69e326f4f4c1b9057164ef592671cf0d37c8040c055565b610c4c833384610e52565b8484604051610c5c929190611599565b60405180910390208a6001600160a01b03167f99206760f0be19dd093729bd35e5924daff5e217bcedc5223ed067b60008cf8a8b8b8b8b898989604051610ca997969594939291906117c8565b60405180910390a350505050505050505050565b80610cdb5760405163b5c74a2760e01b815260040160405180910390fd5b6040516001600160a01b0383811660248301526044820183905260009182918616907fa9059cbb00000000000000000000000000000000000000000000000000000000906064015b60408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909416939093179092529051610d8e919061167d565b6000604051808303816000865af19150503d8060008114610dcb576040519150601f19603f3d011682016040523d82523d6000602084013e610dd0565b606091505b50915091506000828015610dfc575081511580610dfc575081806020019051810190610dfc919061181c565b9050801580610e1357506001600160a01b0386163b155b15610e4a576040517f90b8ec1800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050505050565b80610e705760405163b5c74a2760e01b815260040160405180910390fd5b6040516001600160a01b0383811660248301523060448301526064820183905260009182918616907f23b872dd0000000000000000000000000000000000000000000000000000000090608401610d23565b6001600160a01b0381168114610ed757600080fd5b50565b8035610ee581610ec2565b919050565b60008083601f840112610efc57600080fd5b50813567ffffffffffffffff811115610f1457600080fd5b602083019150836020828501011115610f2c57600080fd5b9250929050565b60008060008060008060008060a0898b031215610f4f57600080fd5b8835610f5a81610ec2565b9750602089013567ffffffffffffffff80821115610f7757600080fd5b610f838c838d01610eea565b909950975060408b0135915080821115610f9c57600080fd5b610fa88c838d01610eea565b909750955060608b0135915080821115610fc157600080fd5b50610fce8b828c01610eea565b9094509250506080890135610fe281610ec2565b809150509295985092959890939650565b60008060006060848603121561100857600080fd5b833561101381610ec2565b9250602084013561102381610ec2565b929592945050506040919091013590565b6000806020838503121561104757600080fd5b823567ffffffffffffffff81111561105e57600080fd5b61106a85828601610eea565b90969095509350505050565b6000806000806060858703121561108c57600080fd5b843561109781610ec2565b935060208501359250604085013567ffffffffffffffff8111156110ba57600080fd5b6110c687828801610eea565b95989497509550505050565b600080600080600060a086880312156110ea57600080fd5b8535945060208601359350604086013561110381610ec2565b925060608601359150608086013561111a81610ec2565b809150509295509295909350565b600080600080600080600080600080600060e08c8e03121561114957600080fd5b6111528c610eda565b9a5067ffffffffffffffff8060208e0135111561116e57600080fd5b61117e8e60208f01358f01610eea565b909b50995060408d013581101561119457600080fd5b6111a48e60408f01358f01610eea565b909950975060608d01358110156111ba57600080fd5b6111ca8e60608f01358f01610eea565b909750955060808d01358110156111e057600080fd5b506111f18d60808e01358e01610eea565b909450925060a08c0135915061120960c08d01610eda565b90509295989b509295989b9093969950565b60008060006060848603121561123057600080fd5b8335925060208401359150604084013561124981610ec2565b809150509250925092565b60008060006040848603121561126957600080fd5b833561127481610ec2565b9250602084013567ffffffffffffffff8082111561129157600080fd5b818601915086601f8301126112a557600080fd5b8135818111156112b457600080fd5b8760208260051b85010111156112c957600080fd5b6020830194508093505050509250925092565b634e487b7160e01b600052604160045260246000fd5b600082601f83011261130357600080fd5b813567ffffffffffffffff8082111561131e5761131e6112dc565b604051601f8301601f19908116603f01168101908282118183101715611346576113466112dc565b8160405283815286602085880101111561135f57600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000806000806000806000806000806000806101208d8f0312156113a257600080fd5b6113ab8d610eda565b9b5067ffffffffffffffff60208e013511156113c657600080fd5b6113d68e60208f01358f01610eea565b909b50995067ffffffffffffffff60408e013511156113f457600080fd5b6114048e60408f01358f01610eea565b909950975067ffffffffffffffff60608e0135111561142257600080fd5b6114328e60608f01358f01610eea565b909750955067ffffffffffffffff60808e0135111561145057600080fd5b6114608e60808f01358f016112f2565b945060a08d0135935061147560c08e01610eda565b925060e08d0135915061148b6101008e01610eda565b90509295989b509295989b509295989b565b6000602082840312156114af57600080fd5b81356114ba81610ec2565b9392505050565b60008060008060008060008060008060e08b8d0312156114e057600080fd5b8a356114eb81610ec2565b995060208b013567ffffffffffffffff8082111561150857600080fd5b6115148e838f01610eea565b909b50995060408d013591508082111561152d57600080fd5b6115398e838f01610eea565b909950975060608d013591508082111561155257600080fd5b5061155f8d828e01610eea565b90965094505060808b013561157381610ec2565b925060a08b0135915061158860c08c01610eda565b90509295989b9194979a5092959850565b8183823760009101908152919050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6080815260006115e660808301888a6115a9565b82810360208401526115f98187896115a9565b9150508360408301526001600160a01b0383166060830152979650505050505050565b60006020828403121561162e57600080fd5b5051919050565b6020815260006116496020830184866115a9565b949350505050565b60005b8381101561166c578181015183820152602001611654565b8381111561041f5750506000910152565b6000825161168f818460208701611651565b9190910192915050565b60c0815260006116ad60c083018b8d6115a9565b82810360208401526116c0818a8c6115a9565b905082810360408401526116d581888a6115a9565b6060840196909652505060808101929092526001600160a01b031660a0909101529695505050505050565b634e487b7160e01b600052603260045260246000fd5b600060001982141561173857634e487b7160e01b600052601160045260246000fd5b5060010190565b60e08152600061175360e083018b8d6115a9565b8281036020840152611766818a8c6115a9565b905082810360408401528751808252611786816020840160208c01611651565b60608401979097526001600160a01b03958616608084015260a083019490945250921660c0909201919091526020601f909201601f1916010195945050505050565b60a0815260006117dc60a08301898b6115a9565b82810360208401526117ef81888a6115a9565b6001600160a01b039687166040850152606084019590955250509216608090920191909152949350505050565b60006020828403121561182e57600080fd5b815180151581146114ba57600080fdfea2646970667358221220ac57334720401ac9274c7c8abe4ce41af814847d9b2d6fdeb3d1832e5719fb8464736f6c63430008090033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/gas-service/AxelarGasServiceProxy.sol/AxelarGasServiceProxy.dbg.json b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/gas-service/AxelarGasServiceProxy.sol/AxelarGasServiceProxy.dbg.json deleted file mode 100644 index 34bc47b6..00000000 --- a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/gas-service/AxelarGasServiceProxy.sol/AxelarGasServiceProxy.dbg.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "_format": "hh-sol-dbg-1", - "buildInfo": "../../../../../build-info/3aa2fc6680ec7dd0d7e17835f8008fcc.json" -} diff --git a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/gas-service/AxelarGasServiceProxy.sol/AxelarGasServiceProxy.json b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/gas-service/AxelarGasServiceProxy.sol/AxelarGasServiceProxy.json deleted file mode 100644 index 11381c99..00000000 --- a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/gas-service/AxelarGasServiceProxy.sol/AxelarGasServiceProxy.json +++ /dev/null @@ -1,93 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "AxelarGasServiceProxy", - "sourceName": "@axelar-network/axelar-cgp-solidity/contracts/gas-service/AxelarGasServiceProxy.sol", - "abi": [ - { - "inputs": [], - "name": "AlreadyInitialized", - "type": "error" - }, - { - "inputs": [], - "name": "EtherNotAccepted", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidImplementation", - "type": "error" - }, - { - "inputs": [], - "name": "NotOwner", - "type": "error" - }, - { - "inputs": [], - "name": "SetupFailed", - "type": "error" - }, - { - "stateMutability": "payable", - "type": "fallback" - }, - { - "inputs": [], - "name": "implementation", - "outputs": [ - { - "internalType": "address", - "name": "implementation_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "implementationAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "newOwner", - "type": "address" - }, - { - "internalType": "bytes", - "name": "params", - "type": "bytes" - } - ], - "name": "init", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "setup", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "stateMutability": "payable", - "type": "receive" - } - ], - "bytecode": "0x608060405234801561001057600080fd5b50337f02016836a56b71f0d02689e69e326f4f4c1b9057164ef592671cf0d37c8040c055610677806100436000396000f3fe6080604052600436106100385760003560e01c8063378dfd8e146100bf5780635c60da1b146100e15780639ded06df1461012c5761006f565b3661006f576040517f3733483400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006100997f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b90503660008037600080366000845af43d6000803e8080156100ba573d6000f35b3d6000fd5b3480156100cb57600080fd5b506100df6100da366004610465565b61014b565b005b3480156100ed57600080fd5b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546040516001600160a01b03909116815260200160405180910390f35b34801561013857600080fd5b506100df610147366004610537565b5050565b7f02016836a56b71f0d02689e69e326f4f4c1b9057164ef592671cf0d37c8040c054336001600160a01b038216146101af576040517f30cd747100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006101d97f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b031614610219576040517f0dc149f000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7ffaa2f015f2ce5aee225904728de2def86eb8837491efd21f1a04fc20d8e923f6846001600160a01b0316638291286c6040518163ffffffff1660e01b815260040160206040518083038186803b15801561027357600080fd5b505afa158015610287573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102ab91906105a9565b146102e2576040517f68155f9a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b837f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55827f02016836a56b71f0d02689e69e326f4f4c1b9057164ef592671cf0d37c8040c0556000846001600160a01b0316639ded06df8460405160240161034a91906105f2565b6040516020818303038152906040529060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516103989190610625565b600060405180830381855af49150503d80600081146103d3576040519150601f19603f3d011682016040523d82523d6000602084013e6103d8565b606091505b5050905080610413576040517f97905dfb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050505050565b80356001600160a01b038116811461043157600080fd5b919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60008060006060848603121561047a57600080fd5b6104838461041a565b92506104916020850161041a565b9150604084013567ffffffffffffffff808211156104ae57600080fd5b818601915086601f8301126104c257600080fd5b8135818111156104d4576104d4610436565b604051601f8201601f19908116603f011681019083821181831017156104fc576104fc610436565b8160405282815289602084870101111561051557600080fd5b8260208601602083013760006020848301015280955050505050509250925092565b6000806020838503121561054a57600080fd5b823567ffffffffffffffff8082111561056257600080fd5b818501915085601f83011261057657600080fd5b81358181111561058557600080fd5b86602082850101111561059757600080fd5b60209290920196919550909350505050565b6000602082840312156105bb57600080fd5b5051919050565b60005b838110156105dd5781810151838201526020016105c5565b838111156105ec576000848401525b50505050565b60208152600082518060208401526106118160408501602087016105c2565b601f01601f19169190910160400192915050565b600082516106378184602087016105c2565b919091019291505056fea264697066735822122044deadf3bb8d86bf5b45e8cceb5d28e1df8037df43d4e7d18bb3b5e963bee29a64736f6c63430008090033", - "deployedBytecode": "0x6080604052600436106100385760003560e01c8063378dfd8e146100bf5780635c60da1b146100e15780639ded06df1461012c5761006f565b3661006f576040517f3733483400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006100997f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b90503660008037600080366000845af43d6000803e8080156100ba573d6000f35b3d6000fd5b3480156100cb57600080fd5b506100df6100da366004610465565b61014b565b005b3480156100ed57600080fd5b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546040516001600160a01b03909116815260200160405180910390f35b34801561013857600080fd5b506100df610147366004610537565b5050565b7f02016836a56b71f0d02689e69e326f4f4c1b9057164ef592671cf0d37c8040c054336001600160a01b038216146101af576040517f30cd747100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006101d97f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b031614610219576040517f0dc149f000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7ffaa2f015f2ce5aee225904728de2def86eb8837491efd21f1a04fc20d8e923f6846001600160a01b0316638291286c6040518163ffffffff1660e01b815260040160206040518083038186803b15801561027357600080fd5b505afa158015610287573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102ab91906105a9565b146102e2576040517f68155f9a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b837f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55827f02016836a56b71f0d02689e69e326f4f4c1b9057164ef592671cf0d37c8040c0556000846001600160a01b0316639ded06df8460405160240161034a91906105f2565b6040516020818303038152906040529060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516103989190610625565b600060405180830381855af49150503d80600081146103d3576040519150601f19603f3d011682016040523d82523d6000602084013e6103d8565b606091505b5050905080610413576040517f97905dfb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050505050565b80356001600160a01b038116811461043157600080fd5b919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60008060006060848603121561047a57600080fd5b6104838461041a565b92506104916020850161041a565b9150604084013567ffffffffffffffff808211156104ae57600080fd5b818601915086601f8301126104c257600080fd5b8135818111156104d4576104d4610436565b604051601f8201601f19908116603f011681019083821181831017156104fc576104fc610436565b8160405282815289602084870101111561051557600080fd5b8260208601602083013760006020848301015280955050505050509250925092565b6000806020838503121561054a57600080fd5b823567ffffffffffffffff8082111561056257600080fd5b818501915085601f83011261057657600080fd5b81358181111561058557600080fd5b86602082850101111561059757600080fd5b60209290920196919550909350505050565b6000602082840312156105bb57600080fd5b5051919050565b60005b838110156105dd5781810151838201526020016105c5565b838111156105ec576000848401525b50505050565b60208152600082518060208401526106118160408501602087016105c2565b601f01601f19169190910160400192915050565b600082516106378184602087016105c2565b919091019291505056fea264697066735822122044deadf3bb8d86bf5b45e8cceb5d28e1df8037df43d4e7d18bb3b5e963bee29a64736f6c63430008090033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarAuth.sol/IAxelarAuth.dbg.json b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarAuth.sol/IAxelarAuth.dbg.json deleted file mode 100644 index 34bc47b6..00000000 --- a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarAuth.sol/IAxelarAuth.dbg.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "_format": "hh-sol-dbg-1", - "buildInfo": "../../../../../build-info/3aa2fc6680ec7dd0d7e17835f8008fcc.json" -} diff --git a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarAuth.sol/IAxelarAuth.json b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarAuth.sol/IAxelarAuth.json deleted file mode 100644 index 3e47a45c..00000000 --- a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarAuth.sol/IAxelarAuth.json +++ /dev/null @@ -1,103 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "IAxelarAuth", - "sourceName": "@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarAuth.sol", - "abi": [ - { - "inputs": [], - "name": "InvalidOwner", - "type": "error" - }, - { - "inputs": [], - "name": "NotOwner", - "type": "error" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "params", - "type": "bytes" - } - ], - "name": "transferOperatorship", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "messageHash", - "type": "bytes32" - }, - { - "internalType": "bytes", - "name": "proof", - "type": "bytes" - } - ], - "name": "validateProof", - "outputs": [ - { - "internalType": "bool", - "name": "currentOperators", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x", - "deployedBytecode": "0x", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarAuthWeighted.sol/IAxelarAuthWeighted.dbg.json b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarAuthWeighted.sol/IAxelarAuthWeighted.dbg.json deleted file mode 100644 index 34bc47b6..00000000 --- a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarAuthWeighted.sol/IAxelarAuthWeighted.dbg.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "_format": "hh-sol-dbg-1", - "buildInfo": "../../../../../build-info/3aa2fc6680ec7dd0d7e17835f8008fcc.json" -} diff --git a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarAuthWeighted.sol/IAxelarAuthWeighted.json b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarAuthWeighted.sol/IAxelarAuthWeighted.json deleted file mode 100644 index d0ec72e5..00000000 --- a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarAuthWeighted.sol/IAxelarAuthWeighted.json +++ /dev/null @@ -1,209 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "IAxelarAuthWeighted", - "sourceName": "@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarAuthWeighted.sol", - "abi": [ - { - "inputs": [], - "name": "DuplicateOperators", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidOperators", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidOwner", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidThreshold", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidWeights", - "type": "error" - }, - { - "inputs": [], - "name": "LowSignaturesWeight", - "type": "error" - }, - { - "inputs": [], - "name": "MalformedSigners", - "type": "error" - }, - { - "inputs": [], - "name": "NotOwner", - "type": "error" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address[]", - "name": "newOperators", - "type": "address[]" - }, - { - "indexed": false, - "internalType": "uint256[]", - "name": "newWeights", - "type": "uint256[]" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "newThreshold", - "type": "uint256" - } - ], - "name": "OperatorshipTransferred", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "inputs": [], - "name": "currentEpoch", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "hash", - "type": "bytes32" - } - ], - "name": "epochForHash", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - } - ], - "name": "hashForEpoch", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "params", - "type": "bytes" - } - ], - "name": "transferOperatorship", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "messageHash", - "type": "bytes32" - }, - { - "internalType": "bytes", - "name": "proof", - "type": "bytes" - } - ], - "name": "validateProof", - "outputs": [ - { - "internalType": "bool", - "name": "currentOperators", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x", - "deployedBytecode": "0x", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarExecutable.sol/IAxelarExecutable.dbg.json b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarExecutable.sol/IAxelarExecutable.dbg.json deleted file mode 100644 index 34bc47b6..00000000 --- a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarExecutable.sol/IAxelarExecutable.dbg.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "_format": "hh-sol-dbg-1", - "buildInfo": "../../../../../build-info/3aa2fc6680ec7dd0d7e17835f8008fcc.json" -} diff --git a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarExecutable.sol/IAxelarExecutable.json b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarExecutable.sol/IAxelarExecutable.json deleted file mode 100644 index bd3c54fc..00000000 --- a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarExecutable.sol/IAxelarExecutable.json +++ /dev/null @@ -1,95 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "IAxelarExecutable", - "sourceName": "@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarExecutable.sol", - "abi": [ - { - "inputs": [], - "name": "NotApprovedByGateway", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "commandId", - "type": "bytes32" - }, - { - "internalType": "string", - "name": "sourceChain", - "type": "string" - }, - { - "internalType": "string", - "name": "sourceAddress", - "type": "string" - }, - { - "internalType": "bytes", - "name": "payload", - "type": "bytes" - } - ], - "name": "execute", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "commandId", - "type": "bytes32" - }, - { - "internalType": "string", - "name": "sourceChain", - "type": "string" - }, - { - "internalType": "string", - "name": "sourceAddress", - "type": "string" - }, - { - "internalType": "bytes", - "name": "payload", - "type": "bytes" - }, - { - "internalType": "string", - "name": "tokenSymbol", - "type": "string" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "executeWithToken", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "gateway", - "outputs": [ - { - "internalType": "contract IAxelarGateway", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": "0x", - "deployedBytecode": "0x", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarGasService.sol/IAxelarGasService.dbg.json b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarGasService.sol/IAxelarGasService.dbg.json deleted file mode 100644 index 34bc47b6..00000000 --- a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarGasService.sol/IAxelarGasService.dbg.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "_format": "hh-sol-dbg-1", - "buildInfo": "../../../../../build-info/3aa2fc6680ec7dd0d7e17835f8008fcc.json" -} diff --git a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarGasService.sol/IAxelarGasService.json b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarGasService.sol/IAxelarGasService.json deleted file mode 100644 index a7320c96..00000000 --- a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarGasService.sol/IAxelarGasService.json +++ /dev/null @@ -1,702 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "IAxelarGasService", - "sourceName": "@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarGasService.sol", - "abi": [ - { - "inputs": [], - "name": "InvalidAddress", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidCodeHash", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidImplementation", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidOwner", - "type": "error" - }, - { - "inputs": [], - "name": "NotOwner", - "type": "error" - }, - { - "inputs": [], - "name": "NotProxy", - "type": "error" - }, - { - "inputs": [], - "name": "NothingReceived", - "type": "error" - }, - { - "inputs": [], - "name": "SetupFailed", - "type": "error" - }, - { - "inputs": [], - "name": "TransferFailed", - "type": "error" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "txHash", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "logIndex", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "gasToken", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "gasFeeAmount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "refundAddress", - "type": "address" - } - ], - "name": "GasAdded", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "sourceAddress", - "type": "address" - }, - { - "indexed": false, - "internalType": "string", - "name": "destinationChain", - "type": "string" - }, - { - "indexed": false, - "internalType": "string", - "name": "destinationAddress", - "type": "string" - }, - { - "indexed": true, - "internalType": "bytes32", - "name": "payloadHash", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "address", - "name": "gasToken", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "gasFeeAmount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "refundAddress", - "type": "address" - } - ], - "name": "GasPaidForContractCall", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "sourceAddress", - "type": "address" - }, - { - "indexed": false, - "internalType": "string", - "name": "destinationChain", - "type": "string" - }, - { - "indexed": false, - "internalType": "string", - "name": "destinationAddress", - "type": "string" - }, - { - "indexed": true, - "internalType": "bytes32", - "name": "payloadHash", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "string", - "name": "symbol", - "type": "string" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "gasToken", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "gasFeeAmount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "refundAddress", - "type": "address" - } - ], - "name": "GasPaidForContractCallWithToken", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "txHash", - "type": "bytes32" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "logIndex", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "gasFeeAmount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "refundAddress", - "type": "address" - } - ], - "name": "NativeGasAdded", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "sourceAddress", - "type": "address" - }, - { - "indexed": false, - "internalType": "string", - "name": "destinationChain", - "type": "string" - }, - { - "indexed": false, - "internalType": "string", - "name": "destinationAddress", - "type": "string" - }, - { - "indexed": true, - "internalType": "bytes32", - "name": "payloadHash", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "gasFeeAmount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "refundAddress", - "type": "address" - } - ], - "name": "NativeGasPaidForContractCall", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "sourceAddress", - "type": "address" - }, - { - "indexed": false, - "internalType": "string", - "name": "destinationChain", - "type": "string" - }, - { - "indexed": false, - "internalType": "string", - "name": "destinationAddress", - "type": "string" - }, - { - "indexed": true, - "internalType": "bytes32", - "name": "payloadHash", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "string", - "name": "symbol", - "type": "string" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "gasFeeAmount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "refundAddress", - "type": "address" - } - ], - "name": "NativeGasPaidForContractCallWithToken", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "newImplementation", - "type": "address" - } - ], - "name": "Upgraded", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "txHash", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "txIndex", - "type": "uint256" - }, - { - "internalType": "address", - "name": "gasToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "gasFeeAmount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "refundAddress", - "type": "address" - } - ], - "name": "addGas", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "txHash", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "logIndex", - "type": "uint256" - }, - { - "internalType": "address", - "name": "refundAddress", - "type": "address" - } - ], - "name": "addNativeGas", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address payable", - "name": "receiver", - "type": "address" - }, - { - "internalType": "address[]", - "name": "tokens", - "type": "address[]" - } - ], - "name": "collectFees", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "contractId", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "implementation", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "internalType": "string", - "name": "destinationChain", - "type": "string" - }, - { - "internalType": "string", - "name": "destinationAddress", - "type": "string" - }, - { - "internalType": "bytes", - "name": "payload", - "type": "bytes" - }, - { - "internalType": "address", - "name": "gasToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "gasFeeAmount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "refundAddress", - "type": "address" - } - ], - "name": "payGasForContractCall", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "internalType": "string", - "name": "destinationChain", - "type": "string" - }, - { - "internalType": "string", - "name": "destinationAddress", - "type": "string" - }, - { - "internalType": "bytes", - "name": "payload", - "type": "bytes" - }, - { - "internalType": "string", - "name": "symbol", - "type": "string" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "gasToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "gasFeeAmount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "refundAddress", - "type": "address" - } - ], - "name": "payGasForContractCallWithToken", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "internalType": "string", - "name": "destinationChain", - "type": "string" - }, - { - "internalType": "string", - "name": "destinationAddress", - "type": "string" - }, - { - "internalType": "bytes", - "name": "payload", - "type": "bytes" - }, - { - "internalType": "address", - "name": "refundAddress", - "type": "address" - } - ], - "name": "payNativeGasForContractCall", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "internalType": "string", - "name": "destinationChain", - "type": "string" - }, - { - "internalType": "string", - "name": "destinationAddress", - "type": "string" - }, - { - "internalType": "bytes", - "name": "payload", - "type": "bytes" - }, - { - "internalType": "string", - "name": "symbol", - "type": "string" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "refundAddress", - "type": "address" - } - ], - "name": "payNativeGasForContractCallWithToken", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address payable", - "name": "receiver", - "type": "address" - }, - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "refund", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "setup", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newImplementation", - "type": "address" - }, - { - "internalType": "bytes32", - "name": "newImplementationCodeHash", - "type": "bytes32" - }, - { - "internalType": "bytes", - "name": "params", - "type": "bytes" - } - ], - "name": "upgrade", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x", - "deployedBytecode": "0x", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarGateway.sol/IAxelarGateway.dbg.json b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarGateway.sol/IAxelarGateway.dbg.json deleted file mode 100644 index 34bc47b6..00000000 --- a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarGateway.sol/IAxelarGateway.dbg.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "_format": "hh-sol-dbg-1", - "buildInfo": "../../../../../build-info/3aa2fc6680ec7dd0d7e17835f8008fcc.json" -} diff --git a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarGateway.sol/IAxelarGateway.json b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarGateway.sol/IAxelarGateway.json deleted file mode 100644 index d414ccbd..00000000 --- a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarGateway.sol/IAxelarGateway.json +++ /dev/null @@ -1,963 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "IAxelarGateway", - "sourceName": "@axelar-network/axelar-cgp-solidity/contracts/interfaces/IAxelarGateway.sol", - "abi": [ - { - "inputs": [ - { - "internalType": "string", - "name": "symbol", - "type": "string" - } - ], - "name": "BurnFailed", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "symbol", - "type": "string" - } - ], - "name": "ExceedMintLimit", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidAmount", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidAuthModule", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidChainId", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidCodeHash", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidCommands", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidSetMintLimitsParams", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidTokenDeployer", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "symbol", - "type": "string" - } - ], - "name": "MintFailed", - "type": "error" - }, - { - "inputs": [], - "name": "NotProxy", - "type": "error" - }, - { - "inputs": [], - "name": "NotSelf", - "type": "error" - }, - { - "inputs": [], - "name": "SetupFailed", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "symbol", - "type": "string" - } - ], - "name": "TokenAlreadyExists", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "token", - "type": "address" - } - ], - "name": "TokenContractDoesNotExist", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "symbol", - "type": "string" - } - ], - "name": "TokenDeployFailed", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "symbol", - "type": "string" - } - ], - "name": "TokenDoesNotExist", - "type": "error" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "indexed": false, - "internalType": "string", - "name": "destinationChain", - "type": "string" - }, - { - "indexed": false, - "internalType": "string", - "name": "destinationContractAddress", - "type": "string" - }, - { - "indexed": true, - "internalType": "bytes32", - "name": "payloadHash", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "bytes", - "name": "payload", - "type": "bytes" - } - ], - "name": "ContractCall", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "commandId", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "string", - "name": "sourceChain", - "type": "string" - }, - { - "indexed": false, - "internalType": "string", - "name": "sourceAddress", - "type": "string" - }, - { - "indexed": true, - "internalType": "address", - "name": "contractAddress", - "type": "address" - }, - { - "indexed": true, - "internalType": "bytes32", - "name": "payloadHash", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "bytes32", - "name": "sourceTxHash", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "sourceEventIndex", - "type": "uint256" - } - ], - "name": "ContractCallApproved", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "commandId", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "string", - "name": "sourceChain", - "type": "string" - }, - { - "indexed": false, - "internalType": "string", - "name": "sourceAddress", - "type": "string" - }, - { - "indexed": true, - "internalType": "address", - "name": "contractAddress", - "type": "address" - }, - { - "indexed": true, - "internalType": "bytes32", - "name": "payloadHash", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "string", - "name": "symbol", - "type": "string" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "bytes32", - "name": "sourceTxHash", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "sourceEventIndex", - "type": "uint256" - } - ], - "name": "ContractCallApprovedWithMint", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "indexed": false, - "internalType": "string", - "name": "destinationChain", - "type": "string" - }, - { - "indexed": false, - "internalType": "string", - "name": "destinationContractAddress", - "type": "string" - }, - { - "indexed": true, - "internalType": "bytes32", - "name": "payloadHash", - "type": "bytes32" - }, - { - "indexed": false, - "internalType": "bytes", - "name": "payload", - "type": "bytes" - }, - { - "indexed": false, - "internalType": "string", - "name": "symbol", - "type": "string" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "ContractCallWithToken", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes32", - "name": "commandId", - "type": "bytes32" - } - ], - "name": "Executed", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "bytes", - "name": "newOperatorsData", - "type": "bytes" - } - ], - "name": "OperatorshipTransferred", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "string", - "name": "symbol", - "type": "string" - }, - { - "indexed": false, - "internalType": "address", - "name": "tokenAddresses", - "type": "address" - } - ], - "name": "TokenDeployed", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "string", - "name": "symbol", - "type": "string" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "limit", - "type": "uint256" - } - ], - "name": "TokenMintLimitUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "indexed": false, - "internalType": "string", - "name": "destinationChain", - "type": "string" - }, - { - "indexed": false, - "internalType": "string", - "name": "destinationAddress", - "type": "string" - }, - { - "indexed": false, - "internalType": "string", - "name": "symbol", - "type": "string" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "TokenSent", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "implementation", - "type": "address" - } - ], - "name": "Upgraded", - "type": "event" - }, - { - "inputs": [], - "name": "adminEpoch", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - } - ], - "name": "adminThreshold", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256" - } - ], - "name": "admins", - "outputs": [ - { - "internalType": "address[]", - "name": "", - "type": "address[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "allTokensFrozen", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "authModule", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "destinationChain", - "type": "string" - }, - { - "internalType": "string", - "name": "contractAddress", - "type": "string" - }, - { - "internalType": "bytes", - "name": "payload", - "type": "bytes" - } - ], - "name": "callContract", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "destinationChain", - "type": "string" - }, - { - "internalType": "string", - "name": "contractAddress", - "type": "string" - }, - { - "internalType": "bytes", - "name": "payload", - "type": "bytes" - }, - { - "internalType": "string", - "name": "symbol", - "type": "string" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "callContractWithToken", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "input", - "type": "bytes" - } - ], - "name": "execute", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "implementation", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "commandId", - "type": "bytes32" - } - ], - "name": "isCommandExecuted", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "commandId", - "type": "bytes32" - }, - { - "internalType": "string", - "name": "sourceChain", - "type": "string" - }, - { - "internalType": "string", - "name": "sourceAddress", - "type": "string" - }, - { - "internalType": "address", - "name": "contractAddress", - "type": "address" - }, - { - "internalType": "bytes32", - "name": "payloadHash", - "type": "bytes32" - }, - { - "internalType": "string", - "name": "symbol", - "type": "string" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "isContractCallAndMintApproved", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "commandId", - "type": "bytes32" - }, - { - "internalType": "string", - "name": "sourceChain", - "type": "string" - }, - { - "internalType": "string", - "name": "sourceAddress", - "type": "string" - }, - { - "internalType": "address", - "name": "contractAddress", - "type": "address" - }, - { - "internalType": "bytes32", - "name": "payloadHash", - "type": "bytes32" - } - ], - "name": "isContractCallApproved", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "destinationChain", - "type": "string" - }, - { - "internalType": "string", - "name": "destinationAddress", - "type": "string" - }, - { - "internalType": "string", - "name": "symbol", - "type": "string" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "sendToken", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string[]", - "name": "symbols", - "type": "string[]" - }, - { - "internalType": "uint256[]", - "name": "limits", - "type": "uint256[]" - } - ], - "name": "setTokenMintLimits", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "params", - "type": "bytes" - } - ], - "name": "setup", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "symbol", - "type": "string" - } - ], - "name": "tokenAddresses", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "tokenDeployer", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "symbol", - "type": "string" - } - ], - "name": "tokenFrozen", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "symbol", - "type": "string" - } - ], - "name": "tokenMintAmount", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "symbol", - "type": "string" - } - ], - "name": "tokenMintLimit", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newImplementation", - "type": "address" - }, - { - "internalType": "bytes32", - "name": "newImplementationCodeHash", - "type": "bytes32" - }, - { - "internalType": "bytes", - "name": "setupParams", - "type": "bytes" - } - ], - "name": "upgrade", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "commandId", - "type": "bytes32" - }, - { - "internalType": "string", - "name": "sourceChain", - "type": "string" - }, - { - "internalType": "string", - "name": "sourceAddress", - "type": "string" - }, - { - "internalType": "bytes32", - "name": "payloadHash", - "type": "bytes32" - } - ], - "name": "validateContractCall", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "commandId", - "type": "bytes32" - }, - { - "internalType": "string", - "name": "sourceChain", - "type": "string" - }, - { - "internalType": "string", - "name": "sourceAddress", - "type": "string" - }, - { - "internalType": "bytes32", - "name": "payloadHash", - "type": "bytes32" - }, - { - "internalType": "string", - "name": "symbol", - "type": "string" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "validateContractCallAndMint", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x", - "deployedBytecode": "0x", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IBurnableMintableCappedERC20.sol/IBurnableMintableCappedERC20.dbg.json b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IBurnableMintableCappedERC20.sol/IBurnableMintableCappedERC20.dbg.json deleted file mode 100644 index 34bc47b6..00000000 --- a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IBurnableMintableCappedERC20.sol/IBurnableMintableCappedERC20.dbg.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "_format": "hh-sol-dbg-1", - "buildInfo": "../../../../../build-info/3aa2fc6680ec7dd0d7e17835f8008fcc.json" -} diff --git a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IBurnableMintableCappedERC20.sol/IBurnableMintableCappedERC20.json b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IBurnableMintableCappedERC20.sol/IBurnableMintableCappedERC20.json deleted file mode 100644 index a8892c37..00000000 --- a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IBurnableMintableCappedERC20.sol/IBurnableMintableCappedERC20.json +++ /dev/null @@ -1,415 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "IBurnableMintableCappedERC20", - "sourceName": "@axelar-network/axelar-cgp-solidity/contracts/interfaces/IBurnableMintableCappedERC20.sol", - "abi": [ - { - "inputs": [], - "name": "CapExceeded", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidAccount", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidOwner", - "type": "error" - }, - { - "inputs": [], - "name": "NotOwner", - "type": "error" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Approval", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "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": "DOMAIN_SEPARATOR", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "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": [ - { - "internalType": "bytes32", - "name": "salt", - "type": "bytes32" - } - ], - "name": "burn", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "burnFrom", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "cap", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "salt", - "type": "bytes32" - } - ], - "name": "depositAddress", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "mint", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "nonces", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "issuer", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "deadline", - "type": "uint256" - }, - { - "internalType": "uint8", - "name": "v", - "type": "uint8" - }, - { - "internalType": "bytes32", - "name": "r", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "s", - "type": "bytes32" - } - ], - "name": "permit", - "outputs": [], - "stateMutability": "nonpayable", - "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" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x", - "deployedBytecode": "0x", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IERC20.sol/IERC20.dbg.json b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IERC20.sol/IERC20.dbg.json deleted file mode 100644 index 34bc47b6..00000000 --- a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IERC20.sol/IERC20.dbg.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "_format": "hh-sol-dbg-1", - "buildInfo": "../../../../../build-info/3aa2fc6680ec7dd0d7e17835f8008fcc.json" -} diff --git a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IERC20.sol/IERC20.json b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IERC20.sol/IERC20.json deleted file mode 100644 index dcdb7fd5..00000000 --- a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IERC20.sol/IERC20.json +++ /dev/null @@ -1,199 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "IERC20", - "sourceName": "@axelar-network/axelar-cgp-solidity/contracts/interfaces/IERC20.sol", - "abi": [ - { - "inputs": [], - "name": "InvalidAccount", - "type": "error" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Approval", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Transfer", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - } - ], - "name": "allowance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "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/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IERC20Burn.sol/IERC20Burn.dbg.json b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IERC20Burn.sol/IERC20Burn.dbg.json deleted file mode 100644 index 34bc47b6..00000000 --- a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IERC20Burn.sol/IERC20Burn.dbg.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "_format": "hh-sol-dbg-1", - "buildInfo": "../../../../../build-info/3aa2fc6680ec7dd0d7e17835f8008fcc.json" -} diff --git a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IERC20Burn.sol/IERC20Burn.json b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IERC20Burn.sol/IERC20Burn.json deleted file mode 100644 index 32a5de4c..00000000 --- a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IERC20Burn.sol/IERC20Burn.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "IERC20Burn", - "sourceName": "@axelar-network/axelar-cgp-solidity/contracts/interfaces/IERC20Burn.sol", - "abi": [ - { - "inputs": [ - { - "internalType": "bytes32", - "name": "salt", - "type": "bytes32" - } - ], - "name": "burn", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x", - "deployedBytecode": "0x", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IERC20BurnFrom.sol/IERC20BurnFrom.dbg.json b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IERC20BurnFrom.sol/IERC20BurnFrom.dbg.json deleted file mode 100644 index 34bc47b6..00000000 --- a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IERC20BurnFrom.sol/IERC20BurnFrom.dbg.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "_format": "hh-sol-dbg-1", - "buildInfo": "../../../../../build-info/3aa2fc6680ec7dd0d7e17835f8008fcc.json" -} diff --git a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IERC20BurnFrom.sol/IERC20BurnFrom.json b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IERC20BurnFrom.sol/IERC20BurnFrom.json deleted file mode 100644 index 589bd27e..00000000 --- a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IERC20BurnFrom.sol/IERC20BurnFrom.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "IERC20BurnFrom", - "sourceName": "@axelar-network/axelar-cgp-solidity/contracts/interfaces/IERC20BurnFrom.sol", - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "burnFrom", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x", - "deployedBytecode": "0x", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IERC20Permit.sol/IERC20Permit.dbg.json b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IERC20Permit.sol/IERC20Permit.dbg.json deleted file mode 100644 index 34bc47b6..00000000 --- a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IERC20Permit.sol/IERC20Permit.dbg.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "_format": "hh-sol-dbg-1", - "buildInfo": "../../../../../build-info/3aa2fc6680ec7dd0d7e17835f8008fcc.json" -} diff --git a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IERC20Permit.sol/IERC20Permit.json b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IERC20Permit.sol/IERC20Permit.json deleted file mode 100644 index bc63957c..00000000 --- a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IERC20Permit.sol/IERC20Permit.json +++ /dev/null @@ -1,86 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "IERC20Permit", - "sourceName": "@axelar-network/axelar-cgp-solidity/contracts/interfaces/IERC20Permit.sol", - "abi": [ - { - "inputs": [], - "name": "DOMAIN_SEPARATOR", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "nonces", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "issuer", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "deadline", - "type": "uint256" - }, - { - "internalType": "uint8", - "name": "v", - "type": "uint8" - }, - { - "internalType": "bytes32", - "name": "r", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "s", - "type": "bytes32" - } - ], - "name": "permit", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x", - "deployedBytecode": "0x", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IMintableCappedERC20.sol/IMintableCappedERC20.dbg.json b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IMintableCappedERC20.sol/IMintableCappedERC20.dbg.json deleted file mode 100644 index 34bc47b6..00000000 --- a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IMintableCappedERC20.sol/IMintableCappedERC20.dbg.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "_format": "hh-sol-dbg-1", - "buildInfo": "../../../../../build-info/3aa2fc6680ec7dd0d7e17835f8008fcc.json" -} diff --git a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IMintableCappedERC20.sol/IMintableCappedERC20.json b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IMintableCappedERC20.sol/IMintableCappedERC20.json deleted file mode 100644 index 758c1f77..00000000 --- a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IMintableCappedERC20.sol/IMintableCappedERC20.json +++ /dev/null @@ -1,365 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "IMintableCappedERC20", - "sourceName": "@axelar-network/axelar-cgp-solidity/contracts/interfaces/IMintableCappedERC20.sol", - "abi": [ - { - "inputs": [], - "name": "CapExceeded", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidAccount", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidOwner", - "type": "error" - }, - { - "inputs": [], - "name": "NotOwner", - "type": "error" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Approval", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "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": "DOMAIN_SEPARATOR", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "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": "cap", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "mint", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "nonces", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "issuer", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "deadline", - "type": "uint256" - }, - { - "internalType": "uint8", - "name": "v", - "type": "uint8" - }, - { - "internalType": "bytes32", - "name": "r", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "s", - "type": "bytes32" - } - ], - "name": "permit", - "outputs": [], - "stateMutability": "nonpayable", - "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" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x", - "deployedBytecode": "0x", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IOwnable.sol/IOwnable.dbg.json b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IOwnable.sol/IOwnable.dbg.json deleted file mode 100644 index 34bc47b6..00000000 --- a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IOwnable.sol/IOwnable.dbg.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "_format": "hh-sol-dbg-1", - "buildInfo": "../../../../../build-info/3aa2fc6680ec7dd0d7e17835f8008fcc.json" -} diff --git a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IOwnable.sol/IOwnable.json b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IOwnable.sol/IOwnable.json deleted file mode 100644 index 5c193337..00000000 --- a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IOwnable.sol/IOwnable.json +++ /dev/null @@ -1,66 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "IOwnable", - "sourceName": "@axelar-network/axelar-cgp-solidity/contracts/interfaces/IOwnable.sol", - "abi": [ - { - "inputs": [], - "name": "InvalidOwner", - "type": "error" - }, - { - "inputs": [], - "name": "NotOwner", - "type": "error" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x", - "deployedBytecode": "0x", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/ITokenDeployer.sol/ITokenDeployer.dbg.json b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/ITokenDeployer.sol/ITokenDeployer.dbg.json deleted file mode 100644 index 34bc47b6..00000000 --- a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/ITokenDeployer.sol/ITokenDeployer.dbg.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "_format": "hh-sol-dbg-1", - "buildInfo": "../../../../../build-info/3aa2fc6680ec7dd0d7e17835f8008fcc.json" -} diff --git a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/ITokenDeployer.sol/ITokenDeployer.json b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/ITokenDeployer.sol/ITokenDeployer.json deleted file mode 100644 index dfbe06e2..00000000 --- a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/ITokenDeployer.sol/ITokenDeployer.json +++ /dev/null @@ -1,50 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "ITokenDeployer", - "sourceName": "@axelar-network/axelar-cgp-solidity/contracts/interfaces/ITokenDeployer.sol", - "abi": [ - { - "inputs": [ - { - "internalType": "string", - "name": "name", - "type": "string" - }, - { - "internalType": "string", - "name": "symbol", - "type": "string" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "cap", - "type": "uint256" - }, - { - "internalType": "bytes32", - "name": "salt", - "type": "bytes32" - } - ], - "name": "deployToken", - "outputs": [ - { - "internalType": "address", - "name": "tokenAddress", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x", - "deployedBytecode": "0x", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IUpgradable.sol/IUpgradable.dbg.json b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IUpgradable.sol/IUpgradable.dbg.json deleted file mode 100644 index 34bc47b6..00000000 --- a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IUpgradable.sol/IUpgradable.dbg.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "_format": "hh-sol-dbg-1", - "buildInfo": "../../../../../build-info/3aa2fc6680ec7dd0d7e17835f8008fcc.json" -} diff --git a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IUpgradable.sol/IUpgradable.json b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IUpgradable.sol/IUpgradable.json deleted file mode 100644 index 9d354759..00000000 --- a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/interfaces/IUpgradable.sol/IUpgradable.json +++ /dev/null @@ -1,142 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "IUpgradable", - "sourceName": "@axelar-network/axelar-cgp-solidity/contracts/interfaces/IUpgradable.sol", - "abi": [ - { - "inputs": [], - "name": "InvalidCodeHash", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidImplementation", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidOwner", - "type": "error" - }, - { - "inputs": [], - "name": "NotOwner", - "type": "error" - }, - { - "inputs": [], - "name": "NotProxy", - "type": "error" - }, - { - "inputs": [], - "name": "SetupFailed", - "type": "error" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "newImplementation", - "type": "address" - } - ], - "name": "Upgraded", - "type": "event" - }, - { - "inputs": [], - "name": "contractId", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "implementation", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "setup", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newImplementation", - "type": "address" - }, - { - "internalType": "bytes32", - "name": "newImplementationCodeHash", - "type": "bytes32" - }, - { - "internalType": "bytes", - "name": "params", - "type": "bytes" - } - ], - "name": "upgrade", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x", - "deployedBytecode": "0x", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/util/Proxy.sol/Proxy.dbg.json b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/util/Proxy.sol/Proxy.dbg.json deleted file mode 100644 index 34bc47b6..00000000 --- a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/util/Proxy.sol/Proxy.dbg.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "_format": "hh-sol-dbg-1", - "buildInfo": "../../../../../build-info/3aa2fc6680ec7dd0d7e17835f8008fcc.json" -} diff --git a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/util/Proxy.sol/Proxy.json b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/util/Proxy.sol/Proxy.json deleted file mode 100644 index 589ae5a6..00000000 --- a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/util/Proxy.sol/Proxy.json +++ /dev/null @@ -1,98 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "Proxy", - "sourceName": "@axelar-network/axelar-cgp-solidity/contracts/util/Proxy.sol", - "abi": [ - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "name": "AlreadyInitialized", - "type": "error" - }, - { - "inputs": [], - "name": "EtherNotAccepted", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidImplementation", - "type": "error" - }, - { - "inputs": [], - "name": "NotOwner", - "type": "error" - }, - { - "inputs": [], - "name": "SetupFailed", - "type": "error" - }, - { - "stateMutability": "payable", - "type": "fallback" - }, - { - "inputs": [], - "name": "implementation", - "outputs": [ - { - "internalType": "address", - "name": "implementation_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "implementationAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "newOwner", - "type": "address" - }, - { - "internalType": "bytes", - "name": "params", - "type": "bytes" - } - ], - "name": "init", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "setup", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "stateMutability": "payable", - "type": "receive" - } - ], - "bytecode": "0x608060405234801561001057600080fd5b50337f02016836a56b71f0d02689e69e326f4f4c1b9057164ef592671cf0d37c8040c055610658806100436000396000f3fe6080604052600436106100385760003560e01c8063378dfd8e146100bf5780635c60da1b146100e15780639ded06df1461012c5761006f565b3661006f576040517f3733483400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006100997f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b90503660008037600080366000845af43d6000803e8080156100ba573d6000f35b3d6000fd5b3480156100cb57600080fd5b506100df6100da366004610446565b61014b565b005b3480156100ed57600080fd5b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546040516001600160a01b03909116815260200160405180910390f35b34801561013857600080fd5b506100df610147366004610518565b5050565b7f02016836a56b71f0d02689e69e326f4f4c1b9057164ef592671cf0d37c8040c054336001600160a01b038216146101af576040517f30cd747100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006101d97f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b031614610219576040517f0dc149f000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000846001600160a01b0316638291286c6040518163ffffffff1660e01b815260040160206040518083038186803b15801561025457600080fd5b505afa158015610268573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061028c919061058a565b146102c3576040517f68155f9a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b837f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55827f02016836a56b71f0d02689e69e326f4f4c1b9057164ef592671cf0d37c8040c0556000846001600160a01b0316639ded06df8460405160240161032b91906105d3565b6040516020818303038152906040529060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516103799190610606565b600060405180830381855af49150503d80600081146103b4576040519150601f19603f3d011682016040523d82523d6000602084013e6103b9565b606091505b50509050806103f4576040517f97905dfb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050505050565b80356001600160a01b038116811461041257600080fd5b919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60008060006060848603121561045b57600080fd5b610464846103fb565b9250610472602085016103fb565b9150604084013567ffffffffffffffff8082111561048f57600080fd5b818601915086601f8301126104a357600080fd5b8135818111156104b5576104b5610417565b604051601f8201601f19908116603f011681019083821181831017156104dd576104dd610417565b816040528281528960208487010111156104f657600080fd5b8260208601602083013760006020848301015280955050505050509250925092565b6000806020838503121561052b57600080fd5b823567ffffffffffffffff8082111561054357600080fd5b818501915085601f83011261055757600080fd5b81358181111561056657600080fd5b86602082850101111561057857600080fd5b60209290920196919550909350505050565b60006020828403121561059c57600080fd5b5051919050565b60005b838110156105be5781810151838201526020016105a6565b838111156105cd576000848401525b50505050565b60208152600082518060208401526105f28160408501602087016105a3565b601f01601f19169190910160400192915050565b600082516106188184602087016105a3565b919091019291505056fea2646970667358221220f77d06bae4cbd25746f7c4cdc696db888684d20a0f35dadaa25576ee374de77364736f6c63430008090033", - "deployedBytecode": "0x6080604052600436106100385760003560e01c8063378dfd8e146100bf5780635c60da1b146100e15780639ded06df1461012c5761006f565b3661006f576040517f3733483400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006100997f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b90503660008037600080366000845af43d6000803e8080156100ba573d6000f35b3d6000fd5b3480156100cb57600080fd5b506100df6100da366004610446565b61014b565b005b3480156100ed57600080fd5b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546040516001600160a01b03909116815260200160405180910390f35b34801561013857600080fd5b506100df610147366004610518565b5050565b7f02016836a56b71f0d02689e69e326f4f4c1b9057164ef592671cf0d37c8040c054336001600160a01b038216146101af576040517f30cd747100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006101d97f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b031614610219576040517f0dc149f000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000846001600160a01b0316638291286c6040518163ffffffff1660e01b815260040160206040518083038186803b15801561025457600080fd5b505afa158015610268573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061028c919061058a565b146102c3576040517f68155f9a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b837f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55827f02016836a56b71f0d02689e69e326f4f4c1b9057164ef592671cf0d37c8040c0556000846001600160a01b0316639ded06df8460405160240161032b91906105d3565b6040516020818303038152906040529060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516103799190610606565b600060405180830381855af49150503d80600081146103b4576040519150601f19603f3d011682016040523d82523d6000602084013e6103b9565b606091505b50509050806103f4576040517f97905dfb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050505050565b80356001600160a01b038116811461041257600080fd5b919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60008060006060848603121561045b57600080fd5b610464846103fb565b9250610472602085016103fb565b9150604084013567ffffffffffffffff8082111561048f57600080fd5b818601915086601f8301126104a357600080fd5b8135818111156104b5576104b5610417565b604051601f8201601f19908116603f011681019083821181831017156104dd576104dd610417565b816040528281528960208487010111156104f657600080fd5b8260208601602083013760006020848301015280955050505050509250925092565b6000806020838503121561052b57600080fd5b823567ffffffffffffffff8082111561054357600080fd5b818501915085601f83011261055757600080fd5b81358181111561056657600080fd5b86602082850101111561057857600080fd5b60209290920196919550909350505050565b60006020828403121561059c57600080fd5b5051919050565b60005b838110156105be5781810151838201526020016105a6565b838111156105cd576000848401525b50505050565b60208152600082518060208401526105f28160408501602087016105a3565b601f01601f19169190910160400192915050565b600082516106188184602087016105a3565b919091019291505056fea2646970667358221220f77d06bae4cbd25746f7c4cdc696db888684d20a0f35dadaa25576ee374de77364736f6c63430008090033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/util/Upgradable.sol/Upgradable.dbg.json b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/util/Upgradable.sol/Upgradable.dbg.json deleted file mode 100644 index 34bc47b6..00000000 --- a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/util/Upgradable.sol/Upgradable.dbg.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "_format": "hh-sol-dbg-1", - "buildInfo": "../../../../../build-info/3aa2fc6680ec7dd0d7e17835f8008fcc.json" -} diff --git a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/util/Upgradable.sol/Upgradable.json b/artifacts/@axelar-network/axelar-cgp-solidity/contracts/util/Upgradable.sol/Upgradable.json deleted file mode 100644 index be89faf3..00000000 --- a/artifacts/@axelar-network/axelar-cgp-solidity/contracts/util/Upgradable.sol/Upgradable.json +++ /dev/null @@ -1,155 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "Upgradable", - "sourceName": "@axelar-network/axelar-cgp-solidity/contracts/util/Upgradable.sol", - "abi": [ - { - "inputs": [], - "name": "InvalidCodeHash", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidImplementation", - "type": "error" - }, - { - "inputs": [], - "name": "InvalidOwner", - "type": "error" - }, - { - "inputs": [], - "name": "NotOwner", - "type": "error" - }, - { - "inputs": [], - "name": "NotProxy", - "type": "error" - }, - { - "inputs": [], - "name": "SetupFailed", - "type": "error" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "newImplementation", - "type": "address" - } - ], - "name": "Upgraded", - "type": "event" - }, - { - "inputs": [], - "name": "contractId", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "implementation", - "outputs": [ - { - "internalType": "address", - "name": "implementation_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "owner_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "setup", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newImplementation", - "type": "address" - }, - { - "internalType": "bytes32", - "name": "newImplementationCodeHash", - "type": "bytes32" - }, - { - "internalType": "bytes", - "name": "params", - "type": "bytes" - } - ], - "name": "upgrade", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": "0x", - "deployedBytecode": "0x", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/artifacts/src/contracts/test/Executable.sol/Executable.dbg.json b/artifacts/src/contracts/test/Executable.sol/Executable.dbg.json deleted file mode 100644 index 2075d7cc..00000000 --- a/artifacts/src/contracts/test/Executable.sol/Executable.dbg.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "_format": "hh-sol-dbg-1", - "buildInfo": "../../../../build-info/30cb41fb6ca53138fe8c4fd676f92dd2.json" -} diff --git a/artifacts/src/contracts/test/Executable.sol/Executable.json b/artifacts/src/contracts/test/Executable.sol/Executable.json deleted file mode 100644 index 7b0956a1..00000000 --- a/artifacts/src/contracts/test/Executable.sol/Executable.json +++ /dev/null @@ -1,223 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "Executable", - "sourceName": "src/contracts/test/Executable.sol", - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "gateway_", - "type": "address" - }, - { - "internalType": "address", - "name": "gasReceiver_", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "name": "InvalidAddress", - "type": "error" - }, - { - "inputs": [], - "name": "NotApprovedByGateway", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "chain_", - "type": "string" - }, - { - "internalType": "string", - "name": "address_", - "type": "string" - } - ], - "name": "addSibling", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "commandId", - "type": "bytes32" - }, - { - "internalType": "string", - "name": "sourceChain", - "type": "string" - }, - { - "internalType": "string", - "name": "sourceAddress", - "type": "string" - }, - { - "internalType": "bytes", - "name": "payload", - "type": "bytes" - } - ], - "name": "execute", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "commandId", - "type": "bytes32" - }, - { - "internalType": "string", - "name": "sourceChain", - "type": "string" - }, - { - "internalType": "string", - "name": "sourceAddress", - "type": "string" - }, - { - "internalType": "bytes", - "name": "payload", - "type": "bytes" - }, - { - "internalType": "string", - "name": "tokenSymbol", - "type": "string" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "executeWithToken", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "gasReceiver", - "outputs": [ - { - "internalType": "contract IAxelarGasService", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "gateway", - "outputs": [ - { - "internalType": "contract IAxelarGateway", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "chain", - "type": "string" - }, - { - "internalType": "string", - "name": "value_", - "type": "string" - } - ], - "name": "set", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "name": "siblings", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "sourceAddress", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "sourceChain", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "value", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": "0x60c060405234801561001057600080fd5b5060405161100438038061100483398101604081905261002f9161008b565b816001600160a01b0381166100575760405163e6c4247b60e01b815260040160405180910390fd5b6001600160a01b039081166080521660a052506100be565b80516001600160a01b038116811461008657600080fd5b919050565b6000806040838503121561009e57600080fd5b6100a78361006f565b91506100b56020840161006f565b90509250929050565b60805160a051610f066100fe600039600081816101b2015261057401526000818160c8015281816102660152818161044101526106330152610f066000f3fe6080604052600436106100b15760003560e01c80634916065811610069578063a7798b691161004e578063a7798b69146101d4578063b0fa8444146101f4578063e942b5161461020957600080fd5b8063491606581461018057806380d14b4a146101a057600080fd5b80631c6ffa461161009a5780631c6ffa46146101295780633fa4f2451461014b57806345b48eb91461016057600080fd5b8063116191b6146100b65780631a98b2e014610107575b600080fd5b3480156100c257600080fd5b506100ea7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561011357600080fd5b5061012761012236600461087f565b61021c565b005b34801561013557600080fd5b5061013e610327565b6040516100fe91906109b5565b34801561015757600080fd5b5061013e6103b5565b34801561016c57600080fd5b5061012761017b3660046109cf565b6103c2565b34801561018c57600080fd5b5061012761019b366004610a3b565b6103f7565b3480156101ac57600080fd5b506100ea7f000000000000000000000000000000000000000000000000000000000000000081565b3480156101e057600080fd5b5061013e6101ef366004610b82565b610507565b34801561020057600080fd5b5061013e61052b565b610127610217366004610bbf565b610538565b6000858560405161022e929190610c28565b6040519081900381207f1876eed900000000000000000000000000000000000000000000000000000000825291506001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690631876eed9906102ab908e908e908e908e908e9089908d908d908d90600401610c61565b602060405180830381600087803b1580156102c557600080fd5b505af11580156102d9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102fd9190610cc0565b61031a57604051631403112d60e21b815260040160405180910390fd5b5050505050505050505050565b6001805461033490610ce2565b80601f016020809104026020016040519081016040528092919081815260200182805461036090610ce2565b80156103ad5780601f10610382576101008083540402835291602001916103ad565b820191906000526020600020905b81548152906001019060200180831161039057829003601f168201915b505050505081565b6000805461033490610ce2565b8181600386866040516103d6929190610c28565b9081526040519081900360200190206103f0929091610729565b5050505050565b60008282604051610409929190610c28565b6040519081900381207f5f6970c300000000000000000000000000000000000000000000000000000000825291506001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690635f6970c390610480908b908b908b908b908b908990600401610d1d565b602060405180830381600087803b15801561049a57600080fd5b505af11580156104ae573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104d29190610cc0565b6104ef57604051631403112d60e21b815260040160405180910390fd5b6104fd8787878787876106e6565b5050505050505050565b80516020818301810180516003825292820191909301209152805461033490610ce2565b6002805461033490610ce2565b61054460008383610729565b506000828260405160200161055a929190610d5e565b60408051601f1981840301815291905290503415610631577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316630c93e3bb3430876003896040516105b49190610d72565b9081526040519081900360200181207fffffffff0000000000000000000000000000000000000000000000000000000060e087901b1682526105fe93929188903390600401610e2e565b6000604051808303818588803b15801561061757600080fd5b505af115801561062b573d6000803e3d6000fd5b50505050505b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316631c92115f856003876040516106719190610d72565b9081526040519081900360200181207fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1682526106b892918690600401610e8d565b600060405180830381600087803b1580156106d257600080fd5b505af11580156104fd573d6000803e3d6000fd5b6106f281830183610b82565b8051610706916000916020909101906107ad565b5061071360018787610729565b5061072060028585610729565b50505050505050565b82805461073590610ce2565b90600052602060002090601f016020900481019282610757576000855561079d565b82601f106107705782800160ff1982351617855561079d565b8280016001018555821561079d579182015b8281111561079d578235825591602001919060010190610782565b506107a9929150610821565b5090565b8280546107b990610ce2565b90600052602060002090601f0160209004810192826107db576000855561079d565b82601f106107f457805160ff191683800117855561079d565b8280016001018555821561079d579182015b8281111561079d578251825591602001919060010190610806565b5b808211156107a95760008155600101610822565b60008083601f84011261084857600080fd5b50813567ffffffffffffffff81111561086057600080fd5b60208301915083602082850101111561087857600080fd5b9250929050565b60008060008060008060008060008060c08b8d03121561089e57600080fd5b8a35995060208b013567ffffffffffffffff808211156108bd57600080fd5b6108c98e838f01610836565b909b50995060408d01359150808211156108e257600080fd5b6108ee8e838f01610836565b909950975060608d013591508082111561090757600080fd5b6109138e838f01610836565b909750955060808d013591508082111561092c57600080fd5b506109398d828e01610836565b9150809450508092505060a08b013590509295989b9194979a5092959850565b60005b8381101561097457818101518382015260200161095c565b83811115610983576000848401525b50505050565b600081518084526109a1816020860160208601610959565b601f01601f19169290920160200192915050565b6020815260006109c86020830184610989565b9392505050565b600080600080604085870312156109e557600080fd5b843567ffffffffffffffff808211156109fd57600080fd5b610a0988838901610836565b90965094506020870135915080821115610a2257600080fd5b50610a2f87828801610836565b95989497509550505050565b60008060008060008060006080888a031215610a5657600080fd5b87359650602088013567ffffffffffffffff80821115610a7557600080fd5b610a818b838c01610836565b909850965060408a0135915080821115610a9a57600080fd5b610aa68b838c01610836565b909650945060608a0135915080821115610abf57600080fd5b50610acc8a828b01610836565b989b979a50959850939692959293505050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112610b0657600080fd5b813567ffffffffffffffff80821115610b2157610b21610adf565b604051601f8301601f19908116603f01168101908282118183101715610b4957610b49610adf565b81604052838152866020858801011115610b6257600080fd5b836020870160208301376000602085830101528094505050505092915050565b600060208284031215610b9457600080fd5b813567ffffffffffffffff811115610bab57600080fd5b610bb784828501610af5565b949350505050565b600080600060408486031215610bd457600080fd5b833567ffffffffffffffff80821115610bec57600080fd5b610bf887838801610af5565b94506020860135915080821115610c0e57600080fd5b50610c1b86828701610836565b9497909650939450505050565b8183823760009101908152919050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b89815260c060208201526000610c7b60c083018a8c610c38565b8281036040840152610c8e81898b610c38565b90508660608401528281036080840152610ca9818688610c38565b9150508260a08301529a9950505050505050505050565b600060208284031215610cd257600080fd5b815180151581146109c857600080fd5b600181811c90821680610cf657607f821691505b60208210811415610d1757634e487b7160e01b600052602260045260246000fd5b50919050565b868152608060208201526000610d37608083018789610c38565b8281036040840152610d4a818688610c38565b915050826060830152979650505050505050565b602081526000610bb7602083018486610c38565b60008251610d84818460208701610959565b9190910192915050565b8054600090600181811c9080831680610da857607f831692505b6020808410821415610dca57634e487b7160e01b600052602260045260246000fd5b83885260208801828015610de55760018114610df657610e21565b60ff19871682528282019750610e21565b60008981526020902060005b87811015610e1b57815484820152908601908401610e02565b83019850505b5050505050505092915050565b60006001600160a01b03808816835260a06020840152610e5160a0840188610989565b8381036040850152610e638188610d8e565b90508381036060850152610e778187610989565b9250508084166080840152509695505050505050565b606081526000610ea06060830186610989565b8281036020840152610eb28186610d8e565b90508281036040840152610ec68185610989565b969550505050505056fea26469706673582212208bea6fc67a9e35106d82f8ea9e0f2151ca4961bd9f22b068fc11f36ff8e6c1d864736f6c63430008090033", - "deployedBytecode": "0x6080604052600436106100b15760003560e01c80634916065811610069578063a7798b691161004e578063a7798b69146101d4578063b0fa8444146101f4578063e942b5161461020957600080fd5b8063491606581461018057806380d14b4a146101a057600080fd5b80631c6ffa461161009a5780631c6ffa46146101295780633fa4f2451461014b57806345b48eb91461016057600080fd5b8063116191b6146100b65780631a98b2e014610107575b600080fd5b3480156100c257600080fd5b506100ea7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561011357600080fd5b5061012761012236600461087f565b61021c565b005b34801561013557600080fd5b5061013e610327565b6040516100fe91906109b5565b34801561015757600080fd5b5061013e6103b5565b34801561016c57600080fd5b5061012761017b3660046109cf565b6103c2565b34801561018c57600080fd5b5061012761019b366004610a3b565b6103f7565b3480156101ac57600080fd5b506100ea7f000000000000000000000000000000000000000000000000000000000000000081565b3480156101e057600080fd5b5061013e6101ef366004610b82565b610507565b34801561020057600080fd5b5061013e61052b565b610127610217366004610bbf565b610538565b6000858560405161022e929190610c28565b6040519081900381207f1876eed900000000000000000000000000000000000000000000000000000000825291506001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690631876eed9906102ab908e908e908e908e908e9089908d908d908d90600401610c61565b602060405180830381600087803b1580156102c557600080fd5b505af11580156102d9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102fd9190610cc0565b61031a57604051631403112d60e21b815260040160405180910390fd5b5050505050505050505050565b6001805461033490610ce2565b80601f016020809104026020016040519081016040528092919081815260200182805461036090610ce2565b80156103ad5780601f10610382576101008083540402835291602001916103ad565b820191906000526020600020905b81548152906001019060200180831161039057829003601f168201915b505050505081565b6000805461033490610ce2565b8181600386866040516103d6929190610c28565b9081526040519081900360200190206103f0929091610729565b5050505050565b60008282604051610409929190610c28565b6040519081900381207f5f6970c300000000000000000000000000000000000000000000000000000000825291506001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690635f6970c390610480908b908b908b908b908b908990600401610d1d565b602060405180830381600087803b15801561049a57600080fd5b505af11580156104ae573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104d29190610cc0565b6104ef57604051631403112d60e21b815260040160405180910390fd5b6104fd8787878787876106e6565b5050505050505050565b80516020818301810180516003825292820191909301209152805461033490610ce2565b6002805461033490610ce2565b61054460008383610729565b506000828260405160200161055a929190610d5e565b60408051601f1981840301815291905290503415610631577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316630c93e3bb3430876003896040516105b49190610d72565b9081526040519081900360200181207fffffffff0000000000000000000000000000000000000000000000000000000060e087901b1682526105fe93929188903390600401610e2e565b6000604051808303818588803b15801561061757600080fd5b505af115801561062b573d6000803e3d6000fd5b50505050505b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316631c92115f856003876040516106719190610d72565b9081526040519081900360200181207fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1682526106b892918690600401610e8d565b600060405180830381600087803b1580156106d257600080fd5b505af11580156104fd573d6000803e3d6000fd5b6106f281830183610b82565b8051610706916000916020909101906107ad565b5061071360018787610729565b5061072060028585610729565b50505050505050565b82805461073590610ce2565b90600052602060002090601f016020900481019282610757576000855561079d565b82601f106107705782800160ff1982351617855561079d565b8280016001018555821561079d579182015b8281111561079d578235825591602001919060010190610782565b506107a9929150610821565b5090565b8280546107b990610ce2565b90600052602060002090601f0160209004810192826107db576000855561079d565b82601f106107f457805160ff191683800117855561079d565b8280016001018555821561079d579182015b8281111561079d578251825591602001919060010190610806565b5b808211156107a95760008155600101610822565b60008083601f84011261084857600080fd5b50813567ffffffffffffffff81111561086057600080fd5b60208301915083602082850101111561087857600080fd5b9250929050565b60008060008060008060008060008060c08b8d03121561089e57600080fd5b8a35995060208b013567ffffffffffffffff808211156108bd57600080fd5b6108c98e838f01610836565b909b50995060408d01359150808211156108e257600080fd5b6108ee8e838f01610836565b909950975060608d013591508082111561090757600080fd5b6109138e838f01610836565b909750955060808d013591508082111561092c57600080fd5b506109398d828e01610836565b9150809450508092505060a08b013590509295989b9194979a5092959850565b60005b8381101561097457818101518382015260200161095c565b83811115610983576000848401525b50505050565b600081518084526109a1816020860160208601610959565b601f01601f19169290920160200192915050565b6020815260006109c86020830184610989565b9392505050565b600080600080604085870312156109e557600080fd5b843567ffffffffffffffff808211156109fd57600080fd5b610a0988838901610836565b90965094506020870135915080821115610a2257600080fd5b50610a2f87828801610836565b95989497509550505050565b60008060008060008060006080888a031215610a5657600080fd5b87359650602088013567ffffffffffffffff80821115610a7557600080fd5b610a818b838c01610836565b909850965060408a0135915080821115610a9a57600080fd5b610aa68b838c01610836565b909650945060608a0135915080821115610abf57600080fd5b50610acc8a828b01610836565b989b979a50959850939692959293505050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112610b0657600080fd5b813567ffffffffffffffff80821115610b2157610b21610adf565b604051601f8301601f19908116603f01168101908282118183101715610b4957610b49610adf565b81604052838152866020858801011115610b6257600080fd5b836020870160208301376000602085830101528094505050505092915050565b600060208284031215610b9457600080fd5b813567ffffffffffffffff811115610bab57600080fd5b610bb784828501610af5565b949350505050565b600080600060408486031215610bd457600080fd5b833567ffffffffffffffff80821115610bec57600080fd5b610bf887838801610af5565b94506020860135915080821115610c0e57600080fd5b50610c1b86828701610836565b9497909650939450505050565b8183823760009101908152919050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b89815260c060208201526000610c7b60c083018a8c610c38565b8281036040840152610c8e81898b610c38565b90508660608401528281036080840152610ca9818688610c38565b9150508260a08301529a9950505050505050505050565b600060208284031215610cd257600080fd5b815180151581146109c857600080fd5b600181811c90821680610cf657607f821691505b60208210811415610d1757634e487b7160e01b600052602260045260246000fd5b50919050565b868152608060208201526000610d37608083018789610c38565b8281036040840152610d4a818688610c38565b915050826060830152979650505050505050565b602081526000610bb7602083018486610c38565b60008251610d84818460208701610959565b9190910192915050565b8054600090600181811c9080831680610da857607f831692505b6020808410821415610dca57634e487b7160e01b600052602260045260246000fd5b83885260208801828015610de55760018114610df657610e21565b60ff19871682528282019750610e21565b60008981526020902060005b87811015610e1b57815484820152908601908401610e02565b83019850505b5050505050505092915050565b60006001600160a01b03808816835260a06020840152610e5160a0840188610989565b8381036040850152610e638188610d8e565b90508381036060850152610e778187610989565b9250508084166080840152509695505050505050565b606081526000610ea06060830186610989565b8281036020840152610eb28186610d8e565b90508281036040840152610ec68185610989565b969550505050505056fea26469706673582212208bea6fc67a9e35106d82f8ea9e0f2151ca4961bd9f22b068fc11f36ff8e6c1d864736f6c63430008090033", - "linkReferences": {}, - "deployedLinkReferences": {} -} diff --git a/artifacts/src/contracts/test/ExecutableWithToken.sol/ExecutableWithToken.dbg.json b/artifacts/src/contracts/test/ExecutableWithToken.sol/ExecutableWithToken.dbg.json deleted file mode 100644 index 2075d7cc..00000000 --- a/artifacts/src/contracts/test/ExecutableWithToken.sol/ExecutableWithToken.dbg.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "_format": "hh-sol-dbg-1", - "buildInfo": "../../../../build-info/30cb41fb6ca53138fe8c4fd676f92dd2.json" -} diff --git a/artifacts/src/contracts/test/ExecutableWithToken.sol/ExecutableWithToken.json b/artifacts/src/contracts/test/ExecutableWithToken.sol/ExecutableWithToken.json deleted file mode 100644 index 22d049da..00000000 --- a/artifacts/src/contracts/test/ExecutableWithToken.sol/ExecutableWithToken.json +++ /dev/null @@ -1,238 +0,0 @@ -{ - "_format": "hh-sol-artifact-1", - "contractName": "ExecutableWithToken", - "sourceName": "src/contracts/test/ExecutableWithToken.sol", - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "gateway_", - "type": "address" - }, - { - "internalType": "address", - "name": "gasReceiver_", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "name": "InvalidAddress", - "type": "error" - }, - { - "inputs": [], - "name": "NotApprovedByGateway", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "chain_", - "type": "string" - }, - { - "internalType": "string", - "name": "address_", - "type": "string" - } - ], - "name": "addSibling", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "commandId", - "type": "bytes32" - }, - { - "internalType": "string", - "name": "sourceChain", - "type": "string" - }, - { - "internalType": "string", - "name": "sourceAddress", - "type": "string" - }, - { - "internalType": "bytes", - "name": "payload", - "type": "bytes" - } - ], - "name": "execute", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "commandId", - "type": "bytes32" - }, - { - "internalType": "string", - "name": "sourceChain", - "type": "string" - }, - { - "internalType": "string", - "name": "sourceAddress", - "type": "string" - }, - { - "internalType": "bytes", - "name": "payload", - "type": "bytes" - }, - { - "internalType": "string", - "name": "tokenSymbol", - "type": "string" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "executeWithToken", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "gasReceiver", - "outputs": [ - { - "internalType": "contract IAxelarGasService", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "gateway", - "outputs": [ - { - "internalType": "contract IAxelarGateway", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "chain", - "type": "string" - }, - { - "internalType": "string", - "name": "value_", - "type": "string" - }, - { - "internalType": "address", - "name": "destinationAddress", - "type": "address" - }, - { - "internalType": "string", - "name": "symbol", - "type": "string" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "setAndSend", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "name": "siblings", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "sourceAddress", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "sourceChain", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "value", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": "0x60c060405234801561001057600080fd5b506040516114a83803806114a883398101604081905261002f9161008b565b816001600160a01b0381166100575760405163e6c4247b60e01b815260040160405180910390fd5b6001600160a01b039081166080521660a052506100be565b80516001600160a01b038116811461008657600080fd5b919050565b6000806040838503121561009e57600080fd5b6100a78361006f565b91506100b56020840161006f565b90509250929050565b60805160a051611395610113600039600081816101b2015261054801526000818160c80152818161026601528181610452015281816106290152818161078301528181610811015261096e01526113956000f3fe6080604052600436106100b15760003560e01c8063491606581161006957806389471c941161004e57806389471c94146101d4578063a7798b69146101e7578063b0fa84441461020757600080fd5b8063491606581461018057806380d14b4a146101a057600080fd5b80631c6ffa461161009a5780631c6ffa46146101295780633fa4f2451461014b57806345b48eb91461016057600080fd5b8063116191b6146100b65780631a98b2e014610107575b600080fd5b3480156100c257600080fd5b506100ea7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561011357600080fd5b50610127610122366004610bf8565b61021c565b005b34801561013557600080fd5b5061013e610338565b6040516100fe9190610d1f565b34801561015757600080fd5b5061013e6103c6565b34801561016c57600080fd5b5061012761017b366004610d39565b6103d3565b34801561018c57600080fd5b5061012761019b366004610da5565b610408565b3480156101ac57600080fd5b506100ea7f000000000000000000000000000000000000000000000000000000000000000081565b6101276101e2366004610e61565b61050a565b3480156101f357600080fd5b5061013e610202366004610fba565b6108de565b34801561021357600080fd5b5061013e610902565b6000858560405161022e929190610ff7565b6040519081900381207f1876eed900000000000000000000000000000000000000000000000000000000825291506001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690631876eed9906102ab908e908e908e908e908e9089908d908d908d90600401611030565b602060405180830381600087803b1580156102c557600080fd5b505af11580156102d9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102fd919061108f565b61031a57604051631403112d60e21b815260040160405180910390fd5b61032b8a8a8a8a8a8a8a8a8a61090f565b5050505050505050505050565b60018054610345906110b1565b80601f0160208091040260200160405190810160405280929190818152602001828054610371906110b1565b80156103be5780601f10610393576101008083540402835291602001916103be565b820191906000526020600020905b8154815290600101906020018083116103a157829003601f168201915b505050505081565b60008054610345906110b1565b8181600386866040516103e7929190610ff7565b908152604051908190036020019020610401929091610aa2565b5050505050565b6000828260405161041a929190610ff7565b6040519081900381207f5f6970c300000000000000000000000000000000000000000000000000000000825291506001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690635f6970c390610491908b908b908b908b908b9089906004016110ec565b602060405180830381600087803b1580156104ab57600080fd5b505af11580156104bf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104e3919061108f565b61050057604051631403112d60e21b815260040160405180910390fd5b5050505050505050565b61051660008787610aa2565b50600086868660405160200161052e9392919061112d565b60408051601f198184030181529190529050341561060f577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c62c200234308c8c60038f8f60405161058b929190610ff7565b9081526040519081900360200181207fffffffff0000000000000000000000000000000000000000000000000000000060e088901b1682526105dc9493929189908d908d908d9033906004016111fa565b6000604051808303818588803b1580156105f557600080fd5b505af1158015610609573d6000803e3d6000fd5b50505050505b6040516349ad89fb60e11b81526000906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063935b13f6906106609088908890600401611278565b60206040518083038186803b15801561067857600080fd5b505afa15801561068c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106b0919061128c565b6040517f23b872dd000000000000000000000000000000000000000000000000000000008152336004820152306024820152604481018590529091506001600160a01b038216906323b872dd90606401602060405180830381600087803b15801561071a57600080fd5b505af115801561072e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610752919061108f565b506040517f095ea7b30000000000000000000000000000000000000000000000000000000081526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660048301526024820185905282169063095ea7b390604401602060405180830381600087803b1580156107d657600080fd5b505af11580156107ea573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061080e919061108f565b507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663b54170848b8b60038e8e604051610852929190610ff7565b9081526040519081900360200181207fffffffff0000000000000000000000000000000000000000000000000000000060e086901b1682526108a093929188908c908c908c906004016112a9565b600060405180830381600087803b1580156108ba57600080fd5b505af11580156108ce573d6000803e3d6000fd5b5050505050505050505050505050565b805160208183018101805160038252928201919093012091528054610345906110b1565b60028054610345906110b1565b600061091d8587018761130d565b81519092508290610935906000906020850190610b26565b506109469150600190508b8b610aa2565b5061095360028989610aa2565b506040516349ad89fb60e11b81526000906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063935b13f6906109a59088908890600401611278565b60206040518083038186803b1580156109bd57600080fd5b505afa1580156109d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109f5919061128c565b6040517fa9059cbb0000000000000000000000000000000000000000000000000000000081526001600160a01b038481166004830152602482018690529192509082169063a9059cbb90604401602060405180830381600087803b158015610a5c57600080fd5b505af1158015610a70573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a94919061108f565b505050505050505050505050565b828054610aae906110b1565b90600052602060002090601f016020900481019282610ad05760008555610b16565b82601f10610ae95782800160ff19823516178555610b16565b82800160010185558215610b16579182015b82811115610b16578235825591602001919060010190610afb565b50610b22929150610b9a565b5090565b828054610b32906110b1565b90600052602060002090601f016020900481019282610b545760008555610b16565b82601f10610b6d57805160ff1916838001178555610b16565b82800160010185558215610b16579182015b82811115610b16578251825591602001919060010190610b7f565b5b80821115610b225760008155600101610b9b565b60008083601f840112610bc157600080fd5b50813567ffffffffffffffff811115610bd957600080fd5b602083019150836020828501011115610bf157600080fd5b9250929050565b60008060008060008060008060008060c08b8d031215610c1757600080fd5b8a35995060208b013567ffffffffffffffff80821115610c3657600080fd5b610c428e838f01610baf565b909b50995060408d0135915080821115610c5b57600080fd5b610c678e838f01610baf565b909950975060608d0135915080821115610c8057600080fd5b610c8c8e838f01610baf565b909750955060808d0135915080821115610ca557600080fd5b50610cb28d828e01610baf565b9150809450508092505060a08b013590509295989b9194979a5092959850565b6000815180845260005b81811015610cf857602081850181015186830182015201610cdc565b81811115610d0a576000602083870101525b50601f01601f19169290920160200192915050565b602081526000610d326020830184610cd2565b9392505050565b60008060008060408587031215610d4f57600080fd5b843567ffffffffffffffff80821115610d6757600080fd5b610d7388838901610baf565b90965094506020870135915080821115610d8c57600080fd5b50610d9987828801610baf565b95989497509550505050565b60008060008060008060006080888a031215610dc057600080fd5b87359650602088013567ffffffffffffffff80821115610ddf57600080fd5b610deb8b838c01610baf565b909850965060408a0135915080821115610e0457600080fd5b610e108b838c01610baf565b909650945060608a0135915080821115610e2957600080fd5b50610e368a828b01610baf565b989b979a50959850939692959293505050565b6001600160a01b0381168114610e5e57600080fd5b50565b60008060008060008060008060a0898b031215610e7d57600080fd5b883567ffffffffffffffff80821115610e9557600080fd5b610ea18c838d01610baf565b909a50985060208b0135915080821115610eba57600080fd5b610ec68c838d01610baf565b909850965060408b01359150610edb82610e49565b90945060608a01359080821115610ef157600080fd5b50610efe8b828c01610baf565b999c989b50969995989497949560800135949350505050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112610f3e57600080fd5b813567ffffffffffffffff80821115610f5957610f59610f17565b604051601f8301601f19908116603f01168101908282118183101715610f8157610f81610f17565b81604052838152866020858801011115610f9a57600080fd5b836020870160208301376000602085830101528094505050505092915050565b600060208284031215610fcc57600080fd5b813567ffffffffffffffff811115610fe357600080fd5b610fef84828501610f2d565b949350505050565b8183823760009101908152919050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b89815260c06020820152600061104a60c083018a8c611007565b828103604084015261105d81898b611007565b90508660608401528281036080840152611078818688611007565b9150508260a08301529a9950505050505050505050565b6000602082840312156110a157600080fd5b81518015158114610d3257600080fd5b600181811c908216806110c557607f821691505b602082108114156110e657634e487b7160e01b600052602260045260246000fd5b50919050565b868152608060208201526000611106608083018789611007565b8281036040840152611119818688611007565b915050826060830152979650505050505050565b604081526000611141604083018587611007565b90506001600160a01b0383166020830152949350505050565b8054600090600181811c908083168061117457607f831692505b602080841082141561119657634e487b7160e01b600052602260045260246000fd5b838852602088018280156111b157600181146111c2576111ed565b60ff198716825282820197506111ed565b60008981526020902060005b878110156111e7578154848201529086019084016111ce565b83019850505b5050505050505092915050565b60006001600160a01b03808c16835260e0602084015261121e60e084018b8d611007565b8381036040850152611230818b61115a565b90508381036060850152611244818a610cd2565b9050838103608085015261125981888a611007565b60a0850196909652509290921660c09091015250979650505050505050565b602081526000610fef602083018486611007565b60006020828403121561129e57600080fd5b8151610d3281610e49565b60a0815260006112bd60a08301898b611007565b82810360208401526112cf818961115a565b905082810360408401526112e38188610cd2565b905082810360608401526112f8818688611007565b91505082608083015298975050505050505050565b6000806040838503121561132057600080fd5b823567ffffffffffffffff81111561133757600080fd5b61134385828601610f2d565b925050602083013561135481610e49565b80915050925092905056fea264697066735822122094db8be1a7d76c5c9bd1af615c3839f0f2fd9303a44c666e4377ebe3d409747364736f6c63430008090033", - "deployedBytecode": "0x6080604052600436106100b15760003560e01c8063491606581161006957806389471c941161004e57806389471c94146101d4578063a7798b69146101e7578063b0fa84441461020757600080fd5b8063491606581461018057806380d14b4a146101a057600080fd5b80631c6ffa461161009a5780631c6ffa46146101295780633fa4f2451461014b57806345b48eb91461016057600080fd5b8063116191b6146100b65780631a98b2e014610107575b600080fd5b3480156100c257600080fd5b506100ea7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561011357600080fd5b50610127610122366004610bf8565b61021c565b005b34801561013557600080fd5b5061013e610338565b6040516100fe9190610d1f565b34801561015757600080fd5b5061013e6103c6565b34801561016c57600080fd5b5061012761017b366004610d39565b6103d3565b34801561018c57600080fd5b5061012761019b366004610da5565b610408565b3480156101ac57600080fd5b506100ea7f000000000000000000000000000000000000000000000000000000000000000081565b6101276101e2366004610e61565b61050a565b3480156101f357600080fd5b5061013e610202366004610fba565b6108de565b34801561021357600080fd5b5061013e610902565b6000858560405161022e929190610ff7565b6040519081900381207f1876eed900000000000000000000000000000000000000000000000000000000825291506001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690631876eed9906102ab908e908e908e908e908e9089908d908d908d90600401611030565b602060405180830381600087803b1580156102c557600080fd5b505af11580156102d9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102fd919061108f565b61031a57604051631403112d60e21b815260040160405180910390fd5b61032b8a8a8a8a8a8a8a8a8a61090f565b5050505050505050505050565b60018054610345906110b1565b80601f0160208091040260200160405190810160405280929190818152602001828054610371906110b1565b80156103be5780601f10610393576101008083540402835291602001916103be565b820191906000526020600020905b8154815290600101906020018083116103a157829003601f168201915b505050505081565b60008054610345906110b1565b8181600386866040516103e7929190610ff7565b908152604051908190036020019020610401929091610aa2565b5050505050565b6000828260405161041a929190610ff7565b6040519081900381207f5f6970c300000000000000000000000000000000000000000000000000000000825291506001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690635f6970c390610491908b908b908b908b908b9089906004016110ec565b602060405180830381600087803b1580156104ab57600080fd5b505af11580156104bf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104e3919061108f565b61050057604051631403112d60e21b815260040160405180910390fd5b5050505050505050565b61051660008787610aa2565b50600086868660405160200161052e9392919061112d565b60408051601f198184030181529190529050341561060f577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c62c200234308c8c60038f8f60405161058b929190610ff7565b9081526040519081900360200181207fffffffff0000000000000000000000000000000000000000000000000000000060e088901b1682526105dc9493929189908d908d908d9033906004016111fa565b6000604051808303818588803b1580156105f557600080fd5b505af1158015610609573d6000803e3d6000fd5b50505050505b6040516349ad89fb60e11b81526000906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063935b13f6906106609088908890600401611278565b60206040518083038186803b15801561067857600080fd5b505afa15801561068c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106b0919061128c565b6040517f23b872dd000000000000000000000000000000000000000000000000000000008152336004820152306024820152604481018590529091506001600160a01b038216906323b872dd90606401602060405180830381600087803b15801561071a57600080fd5b505af115801561072e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610752919061108f565b506040517f095ea7b30000000000000000000000000000000000000000000000000000000081526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660048301526024820185905282169063095ea7b390604401602060405180830381600087803b1580156107d657600080fd5b505af11580156107ea573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061080e919061108f565b507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663b54170848b8b60038e8e604051610852929190610ff7565b9081526040519081900360200181207fffffffff0000000000000000000000000000000000000000000000000000000060e086901b1682526108a093929188908c908c908c906004016112a9565b600060405180830381600087803b1580156108ba57600080fd5b505af11580156108ce573d6000803e3d6000fd5b5050505050505050505050505050565b805160208183018101805160038252928201919093012091528054610345906110b1565b60028054610345906110b1565b600061091d8587018761130d565b81519092508290610935906000906020850190610b26565b506109469150600190508b8b610aa2565b5061095360028989610aa2565b506040516349ad89fb60e11b81526000906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063935b13f6906109a59088908890600401611278565b60206040518083038186803b1580156109bd57600080fd5b505afa1580156109d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109f5919061128c565b6040517fa9059cbb0000000000000000000000000000000000000000000000000000000081526001600160a01b038481166004830152602482018690529192509082169063a9059cbb90604401602060405180830381600087803b158015610a5c57600080fd5b505af1158015610a70573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a94919061108f565b505050505050505050505050565b828054610aae906110b1565b90600052602060002090601f016020900481019282610ad05760008555610b16565b82601f10610ae95782800160ff19823516178555610b16565b82800160010185558215610b16579182015b82811115610b16578235825591602001919060010190610afb565b50610b22929150610b9a565b5090565b828054610b32906110b1565b90600052602060002090601f016020900481019282610b545760008555610b16565b82601f10610b6d57805160ff1916838001178555610b16565b82800160010185558215610b16579182015b82811115610b16578251825591602001919060010190610b7f565b5b80821115610b225760008155600101610b9b565b60008083601f840112610bc157600080fd5b50813567ffffffffffffffff811115610bd957600080fd5b602083019150836020828501011115610bf157600080fd5b9250929050565b60008060008060008060008060008060c08b8d031215610c1757600080fd5b8a35995060208b013567ffffffffffffffff80821115610c3657600080fd5b610c428e838f01610baf565b909b50995060408d0135915080821115610c5b57600080fd5b610c678e838f01610baf565b909950975060608d0135915080821115610c8057600080fd5b610c8c8e838f01610baf565b909750955060808d0135915080821115610ca557600080fd5b50610cb28d828e01610baf565b9150809450508092505060a08b013590509295989b9194979a5092959850565b6000815180845260005b81811015610cf857602081850181015186830182015201610cdc565b81811115610d0a576000602083870101525b50601f01601f19169290920160200192915050565b602081526000610d326020830184610cd2565b9392505050565b60008060008060408587031215610d4f57600080fd5b843567ffffffffffffffff80821115610d6757600080fd5b610d7388838901610baf565b90965094506020870135915080821115610d8c57600080fd5b50610d9987828801610baf565b95989497509550505050565b60008060008060008060006080888a031215610dc057600080fd5b87359650602088013567ffffffffffffffff80821115610ddf57600080fd5b610deb8b838c01610baf565b909850965060408a0135915080821115610e0457600080fd5b610e108b838c01610baf565b909650945060608a0135915080821115610e2957600080fd5b50610e368a828b01610baf565b989b979a50959850939692959293505050565b6001600160a01b0381168114610e5e57600080fd5b50565b60008060008060008060008060a0898b031215610e7d57600080fd5b883567ffffffffffffffff80821115610e9557600080fd5b610ea18c838d01610baf565b909a50985060208b0135915080821115610eba57600080fd5b610ec68c838d01610baf565b909850965060408b01359150610edb82610e49565b90945060608a01359080821115610ef157600080fd5b50610efe8b828c01610baf565b999c989b50969995989497949560800135949350505050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112610f3e57600080fd5b813567ffffffffffffffff80821115610f5957610f59610f17565b604051601f8301601f19908116603f01168101908282118183101715610f8157610f81610f17565b81604052838152866020858801011115610f9a57600080fd5b836020870160208301376000602085830101528094505050505092915050565b600060208284031215610fcc57600080fd5b813567ffffffffffffffff811115610fe357600080fd5b610fef84828501610f2d565b949350505050565b8183823760009101908152919050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b89815260c06020820152600061104a60c083018a8c611007565b828103604084015261105d81898b611007565b90508660608401528281036080840152611078818688611007565b9150508260a08301529a9950505050505050505050565b6000602082840312156110a157600080fd5b81518015158114610d3257600080fd5b600181811c908216806110c557607f821691505b602082108114156110e657634e487b7160e01b600052602260045260246000fd5b50919050565b868152608060208201526000611106608083018789611007565b8281036040840152611119818688611007565b915050826060830152979650505050505050565b604081526000611141604083018587611007565b90506001600160a01b0383166020830152949350505050565b8054600090600181811c908083168061117457607f831692505b602080841082141561119657634e487b7160e01b600052602260045260246000fd5b838852602088018280156111b157600181146111c2576111ed565b60ff198716825282820197506111ed565b60008981526020902060005b878110156111e7578154848201529086019084016111ce565b83019850505b5050505050505092915050565b60006001600160a01b03808c16835260e0602084015261121e60e084018b8d611007565b8381036040850152611230818b61115a565b90508381036060850152611244818a610cd2565b9050838103608085015261125981888a611007565b60a0850196909652509290921660c09091015250979650505050505050565b602081526000610fef602083018486611007565b60006020828403121561129e57600080fd5b8151610d3281610e49565b60a0815260006112bd60a08301898b611007565b82810360208401526112cf818961115a565b905082810360408401526112e38188610cd2565b905082810360608401526112f8818688611007565b91505082608083015298975050505050505050565b6000806040838503121561132057600080fd5b823567ffffffffffffffff81111561133757600080fd5b61134385828601610f2d565b925050602083013561135481610e49565b80915050925092905056fea264697066735822122094db8be1a7d76c5c9bd1af615c3839f0f2fd9303a44c666e4377ebe3d409747364736f6c63430008090033", - "linkReferences": {}, - "deployedLinkReferences": {} -} From 50681b0247537b3bb7c4daf9dd28b1997b49e895 Mon Sep 17 00:00:00 2001 From: Kiryl Yermakou Date: Thu, 25 Aug 2022 20:07:17 -0400 Subject: [PATCH 7/8] chore(git): ignoring artifacts --- .gitignore | 7 ++++--- .npmignore | 19 +++++++++++++++++++ 2 files changed, 23 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 31c9c9c6..dcd461fd 100644 --- a/.gitignore +++ b/.gitignore @@ -1,7 +1,4 @@ node_modules -.env -coverage -coverage.json typechain examples/metamask/chain*.json examples/metamask/abi/**.json @@ -37,6 +34,7 @@ lib-cov # Coverage directory used by tools like istanbul coverage +coverage.json *.lcov # nyc test coverage @@ -118,3 +116,6 @@ dist # TernJS port file .tern-port + +# Build +artifacts diff --git a/.npmignore b/.npmignore index e69de29b..6a8f749b 100644 --- a/.npmignore +++ b/.npmignore @@ -0,0 +1,19 @@ +# Modules +node_modules + +# dotenv environment variables file +.env +.env.test + +# Logs +logs +*.log + +# Optional npm cache directory +.npm + +# builder cache +.cache + +# workflows +.github From 0c3671c61a35a53c70408a368246dce0ccfc3a0d Mon Sep 17 00:00:00 2001 From: Kiryl Yermakou Date: Thu, 25 Aug 2022 20:09:58 -0400 Subject: [PATCH 8/8] chore(npm): ignoring env --- .npmignore | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.npmignore b/.npmignore index 6a8f749b..6ebff817 100644 --- a/.npmignore +++ b/.npmignore @@ -4,6 +4,9 @@ node_modules # dotenv environment variables file .env .env.test +env +.credentials +credentials # Logs logs